10423008 发表于 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中写屏前给屏一个定位。

10423008 发表于 2015-12-10 17:27:35

林定祥 发表于 2015-12-10 17:14 static/image/common/back.gif
在loop中写屏前给屏一个定位。

如何做?我真不会

林定祥 发表于 2015-12-11 05:57:26

10423008 发表于 2015-12-10 17:27 static/image/common/back.gif
如何做?我真不会

通常屏幕写入可以给个位置信息的。
页: [1]
查看完整版本: 电阻测试!!!紧急求助