DIY智能温湿度计之升级篇

作者: iotboy | 来源:发表于2017-01-14 22:18 被阅读217次

    一、工具

    1、Arduino UNO

    DIY智能温湿度计之升级篇

    2、DHT11温湿度传感器

    3、HC-05蓝牙模块

    4、Android手机

    5、蓝牙串口助手

    6、红色LED和绿色LED

    DIY智能温湿度计之升级篇

    7、蜂鸣器

    DIY智能温湿度计之升级篇

    二、接线

    1、蜂鸣器正极接引脚8,负极接arduino的GND
    2、红色LED和绿色LED正极分别接引脚13和12,负极接arduino的GND(正极为LED较长引脚一端)
    3、DHT11的out、VCC、GND分别接arduino的引脚4、5V、GND
    4、hc-05的VCC、GND、RXD、TXD分别接arduino的5V、GND、TXD、RXD

    三、编程

    1、功能

    可以通过蓝牙模块将数据传递到手机APP的同时系统可以自行工作,若温度大于一定值红灯亮,蜂鸣器报警;若温度小于一定值绿灯亮,蜂鸣器报警。

    2代码

    #include<dht.h>
    dht DHT;
    int buzzer=8;//设置控制蜂鸣器的数字IO脚
    int rled = 13;//设置红色LED的数字IO脚
    int gled = 12;//设置绿色LED的数字IO脚
    #define DHT11_PIN 4//定义dht11输出端的数字IO脚
    void setup() 
    { 
       Serial.begin(9600);
       //设置数字IO脚模式
       pinMode(buzzer,OUTPUT);
       pinMode(rled, OUTPUT); 
       pinMode(gled, OUTPUT); 
    } 
    void loop() 
    { 
    int chk = DHT.read11(DHT11_PIN);
    int t=DHT.temperature;// t为此时温度值
    // Serial.println(t);//用于调试
    // 当温度大于20摄氏度时红灯亮,蜂鸣器报警(温度值可以自行设定)
    if(t>20){
      digitalWrite(rled, HIGH);   // 
      delay(1000);
      fmq();
      delay(1000);
    }
    // 当温度小于18摄氏度时红灯亮,蜂鸣器报警(温度值可以自行设定)
    else if(t<18){
      digitalWrite(gled, HIGH);   // 
      delay(1000);
      fmq();
      delay(1000);
      
    }
    //正常情况下两个LED灯都不亮
    else{
      digitalWrite(rled, LOW); 
      digitalWrite(gled, LOW); 
    }
    
    //蓝牙控制
    char val;
    val = Serial.read();
    if(val!=-1)
       {
        switch(val)
         {
            case 'T':
            wsd();
            delay(50);
            break; 
                
         }
    }
    } 
    
    void wsd()
    {
       
       Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");  
       Serial.print(DHT.humidity,1);  
       Serial.print(",\t");  
       Serial.println(DHT.temperature,1);
    }
    
    void fmq()
    {
      unsigned char i;//定义变量
      for(i=0;i<80;i++)//辒出一个频率的声音
      { 
        digitalWrite(buzzer,HIGH);//发声音
        delay(1);//延时1ms 
        digitalWrite(buzzer,LOW);//不发声音
        delay(1);//延时ms 
      } 
    }
    

    四、总结

    不知不觉已经更新三期了,从一开始的单纯获取传感器消息到最后不断完善整个系统,智能温湿度计也越来越智能,当然它还有很多的提升空间,比如可以发送短信提醒,通过网络实现远程控制等等。
    当然,系统还有很多不足之处:不美观、没有使用面包板接线有点乱、程序没有引入中断不同功能之前可能会产生冲突等等。
    总的来说,整个系统有可取之处也有不足之处,但是在这里智能温湿度计模块的内容就不继续更新了,感兴趣的朋友可以自己上手一块Arduino继续完善。
    其实文章的重点不在于简简单单介绍整个智能温湿度计系统,而是希望更多的人了解并走进Arduino的世界。
    欢迎大家加入开源硬件的世界。同时也欢迎大家关注我的下个系列文章《手把手教你打造智能寝室》

    相关文章

      网友评论

      本文标题:DIY智能温湿度计之升级篇

      本文链接:https://www.haomeiwen.com/subject/wlqybttx.html