极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12235|回复: 3

电阻测试!!!紧急求助

[复制链接]
发表于 2015-12-10 16:55:56 | 显示全部楼层 |阅读模式
我想自己做一个测电阻的,我想加两个按键,按键功能是按下开始读电阻并且显示屏显示,另一个按键是按下时保持当前数字。
/***********显示参考程序**************/
/*
作用:当你按下按钮后1秒钟,灯会亮,然后维持5秒钟,熄灭
*/

void setup ()
{
  pinMode(13,INPUT);                 //将4号数字口设置为输入状态,13号数字口设置为输出状态
  pinMode(2,OUTPUT);
}

void loop()
{
  int n =digitalRead(13);                   //创建一个变量n,将4号数字口的状态采集出来赋值给他。
  if (n==HIGH)                             //判断n是否为高电平,如果是执行下面的语句,不是则跳过。
  {

    delay(1000);
    digitalWrite(2,HIGH);
    delay(50000);
    digitalWrite(2,LOW);

}
}

/*************测电阻且1602屏输出程序*********/
#include <LiquidCrystal.h>
#define N 20
#define basis 1000.0
LiquidCrystal lcd(3,4,5,9,10,11,12) ;
int potpin = A4;
float val, r;
unsigned int val1, r1;
void setup()
{
  Serial.begin(9600);
  lcd.begin(16, 1);
  delay(10);
  lcd.clear();
}
void loop()
{
  val = analogRead(potpin);
  val1 = val;
  r = ((basis * 1023.0) / (1023.0 - val)) - basis;
  r1 = r;
  Serial.print("    R:  ");
  Serial.print(filter());
  Serial.println(" K ohm");
    lcd.print("  R: ");
    lcd.print(filter());
    lcd.println("K ohm");
}
//mathematic average filter
int filter()
{
  int sum = 0;
  for (int count = 0; count < N; count++)
  {
    sum += r;
    delay(50);
  }
  return (int)(sum / N);
}
这个程序的问题是屏的输出在移动。我好郁闷
回复

使用道具 举报

发表于 2015-12-10 17:14:42 | 显示全部楼层
在loop中写屏前给屏一个定位。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-10 17:27:35 | 显示全部楼层
林定祥 发表于 2015-12-10 17:14
在loop中写屏前给屏一个定位。

如何做?我真不会
回复 支持 反对

使用道具 举报

发表于 2015-12-11 05:57:26 | 显示全部楼层
10423008 发表于 2015-12-10 17:27
如何做?我真不会

通常屏幕写入可以给个位置信息的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 05:35 , Processed in 0.036036 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表