mlbo · 2020年05月12日

DIY智能温湿度计(下)——APP控制温湿度计

作者:iotsharer
首发:Arduino通讯篇

一、工具

1、Arduino UNO

2、HC-05蓝牙参数(数据来自七星虫官网)

HC-05

采用CSR主流蓝牙芯片,蓝牙V2.0协议标准

串口模块工作默认电压3.6~6V。

波特率为4800,9600,19200,38400,57600,115200用户可设置。默认9600

核心模块尺寸大小为:28mm x 15 mm x 2.35mm。

工作电流:配对中:30~40mA配对完毕未通信:2~8mA 。通信中:8mA

休眠电流:无休眠

3、DHT11

4、Android手机

5、[蓝牙串口助手]

蓝牙串口助手是一款基于RFCOMM蓝牙串口服务的传输软件,通过该软件可以连接蓝牙串口模块进行通信,实现手机串口连接。类似计算机的串口助手,是电子工程师的开发利器

三、接线

1、DHT11的S、+、-接口分别接Arduino的引脚4(可以根据自己的需要选择其他引脚)、5V、GND。
2、蓝牙RXD、TXD、VCC、GND分别接Arduino的TXD、RXD、5V、GND(千万不要弄混哟,RXD-->TXD)

v2-9c00fd6123cc8bfe0f5e268b94d05b6e_720w.jpg

四、编程

1、功能

程序可以获取当前环境温湿度,并通过蓝牙将数据实时传送到Android手机APP中,打开APP就可以显示。

2、代码

#include<dht.h>
#define DHT11_PIN 4//定义dht11信号线S为引脚4
dht DHT;

void setup()
{
Serial.begin(9600);//初始化端口
}

//循环
void loop()
{
int val=Serial.read();//读取串行端口的值
switch (val)
{
//如果手机端输入“T”,则执行wsd()函数。(T可以根据自身需要修改,但要与APP端同步)
  case 'T': wsd();break;
}

}
void wsd()//定义温湿度函数
{
  //分别显示测量湿度、温度值
int chk = DHT.read11(DHT11_PIN);//读取传感器获取的数据
//在串口输出湿度和温度的单位分别是%和C(摄氏度)
Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
Serial.print(DHT.humidity,1);
Serial.print(",\t");
Serial.println(DHT.temperature,1);
delay(1000);//延时1s
}

3、手机端操作

安装并打开蓝牙串口助手App(Android版),设置好后显示蓝牙连接成功后,会出现下面的效果(篇幅有限具体APP使用方法请参照文章蓝牙串口助手使用方法

蓝牙连接成功

点击“温度”按钮,就会出现实验结果

五、用途

1、蓝牙用途:可用于GPS导航系统,水电煤气抄表系统等
2、智能温湿度计用途:集娱乐性和实用性于一体。可以通过手机APP实时获取当前环境准确温湿度信息,可以用于节水农业灌溉、温室大棚等等

六、拓展

1、视觉上:可以在原有系统内加入红色LED和蓝色LED小灯,如果温度过高这控制红灯亮,如果温度过低则蓝灯亮
2、听觉上:可以加入蜂鸣器,温度过高或过低即可发出警报
视觉与听觉相结合的智能温湿度计是不是更加有意思,有没有亲自动手做一个的欲望!请关注我的下一篇文章《DIY智能温湿度计升级篇》,到时候我还会附上源代码。

参考来源:

Arduino - Home​arduino.cc图标
Arduino中文社区 - Powered by Discuz!​www.arduino.cn

推荐阅读

定期更新,更多AIoT相关技术知识请关注动手学AIoT专栏。
推荐阅读
关注数
1211
内容数
19
关于AIoT相关的技术文章以及相关资源。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息