为什么不加上delay呢,if(温度>31),delay(1000),再来个if(温度>31)。去抖应该效果不错。
建议用一个三色LED 以PWM驱动 可 连续反映温度,显示就不会抖了。
修改了一下程序,更精炼了,嘻嘻void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
int vol = analogRead(A0) * (5.0 / 1023.0*100); //读取LM35温度值
int led = vol/32 + vol/42; 当led=1时表示vol处于32和42之间,当led=0时,表示vol小于32,当led=2时,表示vol大于42
for(int i = 11;i<=13;i++) { digitalWrite(i;LOW); } //关掉所有的led
digitalWrite(11+led;HIGH);
}
AlfredLanning 发表于 2013-10-28 16:39 static/image/common/back.gif
修改了一下程序,更精炼了,嘻嘻
不错,思路很好,试试
AlfredLanning 发表于 2013-10-28 16:39 static/image/common/back.gif
修改了一下程序,更精炼了,嘻嘻
这种简化方法真是值得学习啊!!:loveliness:
虽然简单,但一联系实物,确实有点实用性!
迷你强 发表于 2012-8-16 22:13 static/image/common/back.gif
我一般只会给出最简单的代码,期待大家来放出自己的代码,共同完善。。。。
为什么我的那个灯有点问题啊,就是绿灯根本不亮,我这里室温20,加热了也不亮,但是把红灯的正负极变了就后,绿灯和红灯常亮了
这个里面怎么不把电阻让3个LED共用呢?
lm35温度传感器刚开始极性接反了,手摸上去被烫了一下,重新按正确方法接好后,按上面的程序一直是11口灯亮,其它没反应,是不是温度传感器坏了???
龍之令 发表于 2015-1-18 11:50 static/image/common/back.gif
lm35温度传感器刚开始极性接反了,手摸上去被烫了一下,重新按正确方法接好后,按上面的程序一直是11口灯亮 ...
void setup()
{
for(int i=11;i<=13;i++)
{
pinMode(i,OUTPUT);
}
Serial.begin(9600);
}
void loop()
{
int n=analogRead(A0);
float t=n*(5.0/1023.0*100);
if (t<=20.0)
{
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
}
else if (t>20.0&& t<=24.0)
{
digitalWrite(11,LOW);
digitalWrite(12,HIGH);
digitalWrite(13,LOW);
}
else
{
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,HIGH);
}
Serial.println(t);
delay(1000);
}解决了,通过COM口监测传感器没有坏。室内温度在22°-24°之间,通过COM口监测,同时通过哈热气,温度马上上升到24°,立马13口灯就亮了。
chaoser 发表于 2013-8-10 18:46 static/image/common/back.gif
先帮楼主精简一下代码:
/* 程序功能:依据温度提示水温 */
digitalWrite(13,(vol<=28)); 这个命令没看懂,能不能解释一下啊?为啥在digitalWrite()中(vol<=28)也可以加条件语句?
发现,温度传感器的灵敏度比较低,杯子放上去大概要一段时间才能从冷到温到热,杯子拿开以后,温度传感器好像是被水加热了,然后慢慢的冷却下来,应该是传感器的问题,有解吗
int vol = analogRead(A0) * (5.0 / 1023.0*100);请问*100是什么意思呢?谢谢
龍之令 发表于 2015-1-18 12:03 static/image/common/back.gif
解决了,通过COM口监测传感器没有坏。室内温度在22°-24°之间,通过COM口监测,同时通过哈热气,温度马上 ...
请问你是怎么解决的呢?我跟你是同样的问题
本帖最后由 crazypomelo 于 2015-6-30 23:48 编辑
通过查询串口数据,发现无论A0是否输入,串口都有数据无规律地输出,不明白为什么