2024年3月12日发(作者:)
软件开发
•
Software Development
基于Arduino和App Inventor2的空气温湿度检测系统设计
文/杨静
摘
要
运用Arduino和App
Inventor2开发空气温湿度检测
系统,将传统交互设计教学中的
界面与硬件相联系,能够更好的
理解交互设计与如何增强用户体
验。该系统主要由温湿度传感器、
Arduino UNO开发板、蓝牙通信模
块、手机App等构成,具有结构
简单、成本低廉、综合能力要求
较高的特点,适合作为项目教学
案例应用于交互设计专业和创客
教育中。
【关键词】Arduino App Inventor2 温湿度
蓝牙通信 交互设计
智能家居作为物联技术在居住环境中的
综合体现,现今已被越来越多的中国消费者所
接受。环境监测作为其中的一项重要组成部
分,通常会通过各种传感器对空气温度、湿
度、燃气浓度、火焰探测等项目进行监测。其
中空气温湿度的智能检测常作为附加功能应用
于空调、加湿器、除湿器等家电,需要启动体
量较大的家电才能实现检测,成本较高;而传
统的简易物理温湿度测量仪不具备手机实时显
示的功能,便捷性较低。本文设计提出的基于
Arduino和APP Inventor2的空气温湿度检测系
统,具有通过手机APP远程控制并实时显示
空气温湿度讯息的功能,具备系统结构简易、
硬件连接简单、软件制作便捷、APP软件界面
用户体验顺畅、成本较低的优点,十分适合作
为项目教学案例应用于交互设计专业和创客教
育中的编程教育中。
图1:组件列表与实际手机APP初始化界面
可扩展、硬件成本低等特点,活跃于国内外的
交互设计教育中。Arduino UNO是Arduino硬
件家族中最为适宜初学者使用的开发板,主要
由处理器、电源接口、扩展插槽,三大部分组
成。DHT11温湿度传感器是一款可输出数字
信号的温湿度复合传感器,稳定性较强,它的
湿度精度为+-5%RH,量程为20%-90%,温
度精度为+-2℃ ,量程为0℃-50℃ 。由于本
文设计中使用的APP Inventor2平台支持的无
线通信连接方式仅支持蓝牙,所以选择HC-06
作为通信硬件。HC-06蓝牙模块是一个从机模
式无线蓝牙数据传输器件,具有低耗能、低
成本、传输速率高等优点,通电后可自动进入
AT模式,快速闪烁红色小灯,有蓝牙设备接
入时红灯一直亮,本设计中用于接收和传递来
自Arduino和手机APP的指令。
DHT11温湿度传感器与Arduino UNO的
接线方式为:VCC接Arduino的5V;GND接
Arduino的GND;NC为不连接空脚;DATA
接Arduino的数字I/O脚位2。
HC-06蓝牙模块与Arduino UNO的接
线方式为:VCC接Arduino的5V;GND接
Arduino的GND;TXD发送端接Arduino的数
字I/O脚位0(RX);RXD接收端接Arduino
的数字I/O脚位1(TX)。
本设计中有关于Arduino的编程使用
Arduino IDE进行开发,用于程序验证、上传、
调试和下载的操作,可在电脑端的串口监视器
中读取实时采集到的空气温湿度数值。程序主
要由定义变量及接口名称、设置通信波特率、
定义串口指令、获取数据、校对数据、处理数据、
空气温湿度数据显示等部分构成,在串口监视
器中输入“A”时开始检测温湿度,输入“B”
时停止检测,每隔1秒向串口监视器发送一次
温湿度数据,程序代码如下所示:
#include
#define pin 2
int temp;//温度
int humi;//湿度
int tol;//校对码
int j;
unsigned int loopCnt;
int chr[40] = {0};//创建数字数组存储数据
unsigned long time;
char flag_on =0;
void setup(){(9600);//设置波特
率为9600}
void loop()
{
while(ble()>0){
char c=();
if(c=='A'){flag_on =1;//设置开}
else if (c == 'B'){flag_on =0;//设置关}
}
if(flag_on)//设置温湿度检测{
bgn:
delay(2000);
pinMode(pin,OUTPUT); //设置2号接
口为输出模式
digitalWrite(pin,LOW); //输出低电平
delay(20);
digitalWrite(pin,HIGH);//输出高电平
delayMicroseconds(40);
digitalWrite(pin,LOW);
pinMode(pin,INPUT); //设置2号接口为
输入模式
//高电平响应信号
loopCnt=10000;
while(digitalRead(pin) != HIGH){
if(loopCnt-- == 0){
1 系统结构
本系统由检测对象、温湿度传感器、
Arduino开发板、无线通信模块、手机APP等
部分构成。检测对象为空气温湿度信息;传感
器把在空气中获取的温湿度信息转变为电信号
输出至Arduino开发板;开发板首先将接收到
的空气温湿度信息进行数据处理,通过比特与
数值的换算公式,输出可直接读取的温湿度数
字和符号信息,例如“32℃ 78%”;然后开
发板通过无线通信模块与控制手机相连接,手
机APP接收并显示开发板输出的温湿度信息。
2 Arduino的硬件连接与编程
本文设计中使用的电路硬件有Arduino
UNO板、DHT11温湿度传感器以及HC-06无
线蓝牙通信模块。Arduino是一个集合开发板
硬件、Arduino IDE程序开发环境、Arduino编
程语言,三个部分的开源工作平台,拥有适合
编程零基础的学生学习的编程语言和强大的控
制器,因其跨平台、开源性、易学性、灵活性、
●项目编号2015JB03;浙江安防职业技术学院院级精品资源共享课程《智能安防产品设计开发》。
52 •
电子技术与软件工程
发布评论