pcDuino平台实现温度报警-Arduino中文社区 - Powered by Discuz! Archiver

1+1 发表于 2013-12-31 17:19

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值的变化和亮灯变化的关联,拍了一段简单的视频,稍候补充上传。

Favorite.末影 发表于 2014-1-1 00:55

2014新年快乐!!!
页: [1]
查看完整版本: pcDuino平台实现温度报警