电子说
本篇文章主要介绍了使用Arduino平台以及价格低廉且易于使用的ASK发送器/接收器模块,为孩子或婴儿房间安装一款DIY自制的无线温度和湿度监控器。在发送端,Arduino nano使用DHT22传感器感测室温和湿度,并通过433 MHz ASK RF链路将数据发送到接收端Arduino。接收方Arduino解码接收到的字节并将信息显示在LCD屏幕上。 RF传输的室内范围约为100英尺,这足以满足常见的室内面积。
所需的组件
您将需要以下物品来构建此项目:
● ASK发送器/接收器对
● 两个Arduino开发板。在发射端使用Arduino Nano,在接收端使用Arduino Uno。
● 一个诺基亚5110 LCD,用于在接收端显示数据
● 一个DHT22传感器,用于在发射端上测量温度和湿度
● 两个LED和两个330Ω电阻
● 电线、面包板、原型板等。
ASK RF套件简介
在国内和国际市场上,都可以在线购买使用各种ASK Tx / Rx模块。其中有些带有弹簧天线,有些则没有。对于没有天线的天线,您可以将〜20cm的导线连接到电路板上的天线针。下图显示了您可以在eBay和Amazon上购买的一些ASK RF模块。
在本文中,我们使用了NiceRF公司生产的高质量ASK RF模块。这些模块的优点是它们非常紧凑,面包板和PCB友好,由高质量PCB制成,配有铜制弹簧天线,并具有合理的传输范围。
发送器的硬件设置
ASK发送器模块具有三个引脚:VCC、数据和接地。根据制造商的不同,它们的顺序可能不同。因此,请务必仔细查看引脚,以识别这些模块上的数据和电源引脚。 VCC和Gnd引脚连接到Arduino Nano的+ 5V和Gnd引脚,而Tx模块的数据引脚连接到Arduino的数字I / O引脚12。 LED还与串联的限流电阻一起连接到I / O引脚11。在数据传输过程中,该LED点亮。
发送电路(与LED串联的电阻为330欧姆)
将上面的电路连接到面包板上,如下图所示。
接收端的电路设置
接收模块同样包含VCC、Gnd和Data三个引脚。某些模块可能具有多个数据引脚。在这种情况下,您可以使用它们中的任何一个,因为它们都连接在一起。在接收端,Rx模块的数据引脚输出,并由Arduino引脚读取。在本文中,它连接到Arduino的D11引脚。与发送端类似,连接到D3引脚的LED指示接收发送器发送的数据。诺基亚5110 LCD也连接到接收端Arduino,以显示远程站的温度和湿度。在本文中,我在接收端使用Crowduino Uno。请注意,诺基亚5110 LCD的工作电压为3.3V。如果您的Arduino开发板工作在5.0V,则在Arduino和LCD之间需要一个电压转换器。下图更详细地显示了接收端的连接。
我使用了通用的Arduino原型板来构建上述电路。下图显示了焊接在Arduino proto-shield上的组装好的接收器电路
软件代码
该项目使用由Mike McCauley编写的Arduino VirtualWire库。该库支持市场上众多的低成本RF发送器和接收器,并允许通过ASK调制发送短消息。在此项目中,Tx端的Arduino从DHT22传感器读取温度和湿度,将两个读数合并为一个字符串,然后通过RF链接发送。在接收端,Arduino从接收的字符串中提取两个读数,并在诺基亚5110 LCD上显示数据。您可以从以下链接下载用于Tx和Rx末端的VirtualWire库和Arduino代码。
● 下载VirtualWire库
● 下载用于发送端的Arduino代码
● 下载用于接收端的Arduino代码
输出
将固件上传到两个Arduino开发板后,该项目就可以进行测试了。您可以将Tx模块放置在要远程监控温度和湿度的地方,并将Rx模块放置在100英尺范围内。您应该在LCD屏幕上看到测量值,如下所示:
可以通过在Rx端添加蜂鸣器,并编程Arduino以在温度和/或湿度超出预设极限值时发出警报来进一步扩展该项目。
编辑:hfy
全部0条评论
快来发表一下你的评论吧 !