pcDuino平台实现温度报警
本帖最后由 1+1 于 2014-1-7 16:09 编辑之前在LinkSprite学习中心看到一篇关于温度传感器的教程,今天也来利用手里的器件动手试验了一遍,按照上面的接线图捣鼓一番,终于接好线了,运行arduino-1.0.5,预想一次成功的,结果一盏灯都不亮,被打击了。检查一番,发现LED灯正负极插反,调整后再次运行,绿灯亮,此时发现因为所使用的温度传感器和教程中不一样,sensorValue值比较大,为了更方便的测试效果,对程序中sensorValue值的上下限进行了调整,最后实验达到预期效果。
以下为实验详细过程。
一,实验器件
1,pcDuino套件(含鼠标,键盘,显示器);
2,温度传感器一个;
3,电阻220ohm三个;
4,面包板一个,杜邦线若干(根据需要使用了6短,4长一共10根跳线)
二,插器件,连接线路
1,连接好面包板元器件与杜邦线(如图);
2,连接好面包板与pcDuino(如图);
a,连接温度传感器的三根短线(红,黄,绿)分别接到pcDuino的GND接口,A5接口,3.3V电源输出接口;
b,连接LED灯正极的三根长线分别接到pcDuino的9,10,11接口;
c,长白线连接到pcDuino的GND接口
三,连接好线路后,打开arduino-1.0.5,输入以下程序
int led_green=9;
int led_blue=10;
int led_red=11;
int sensorPin =A5;
void setup()
{
int j;
for(j=9;j<=11;j++)
{
pinMode(j,OUTPUT);
}
}
void loop()
{
int sensorValue;
while(1)
{
sensorValue=analogRead(sensorPin);
printf("sensorValue=%d\n", sensorValue);
if(sensorValue > 600 && sensorValue < 1000)
{
digitalWrite(led_green,HIGH);
digitalWrite(led_blue,LOW);
digitalWrite(led_red,LOW);
}
else if(sensorValue >= 1000 && sensorValue <= 1200)
{
digitalWrite(led_blue,HIGH);
digitalWrite(led_green,LOW);
digitalWrite(led_red,LOW);
}
else
{
digitalWrite(led_red,HIGH);
digitalWrite(led_blue,LOW);
digitalWrite(led_green,LOW);
}
}
}
四,实验效果图
从效果图中我们可以看到,当sensorValue值在不同区间时,会亮起不同颜色的LED灯。
效果一:当sensorValue值在600-1000之间时,绿灯亮
效果二:sensorValue值在1000-1200之间时,蓝灯亮
效果三:当sensorValue值在1200以上时,红灯亮
最后为了更直观的看到程序运行时,sensorValue值的变化和亮灯变化的关联,拍了一段简单的视频,稍候补充上传。
2014新年快乐!!!
页:
[1]