目录
前言
此文章只涉及单片机应用的简单入门环节,仅为初入门同学提供参考,大神勿喷。本人也并非电子专业出身,此遥控装置设计为本人毕业设计的主体内容,部分错误及漏洞仍未改进,欢迎提出点评意见!
文章中所用到的基础接线和操作,会通过链接在文末分享给大家。
一、总体思路
本装置基于Arduino单片机,通过nRF24L01+PA+LNA无线透传模块,实现远程遥控或通信,并实现一对多互联互通。装置分为遥控端和被遥控端两个部分,以下简称主机和从机,一个主机可最多连接六个从机。另外,主机遥控装置使用OLED显示屏和矩阵薄膜键盘,实现剩余电量显示、对多个从机的实时状态显示及倒计时显示等功能,其中,通过旋转主机的电位器完成对倒计时的调节,将从机的LED灯作为模拟用电器。
下图分别为主机和从机的实物图。
其中,主机的电源模块可以单独脱离出来,通过SM-2P对插线实现物理断电,也就是说,对电源的开启实际上有三重保护。电源模块分开如下图:
二、硬件介绍
硬件部分也将分为两个部分介绍,即主机和从机,首先介绍主机的主要硬件模块及选择理由。
(一)主机
1. 电源模块
最开始,我打算直接使用5号电池作为电源,但考虑到不能多次充电循环使用,所以又在某宝网购了一款7.4v可充电锂电池,外接XH-3P和SM-2P接口(XH-3P接口为充电口,SM-2P为放电口),商家配有配套的充电线,完美解决了电源的充电问题。但其实7.4v电压是不足以提供足够电压,使单片机带动OLED等多个负载的,需要更换其他9-12v的电源。
此外,为了实现电源开关的双重保护机制,我在拨动开关实现电源开关的基础上,又加装了EC190807芯片,在长按开关按键3秒后完全实现电源的导通,避免误触拨动开关而开机。在这里,要提醒新同志的是,尽量不要单独购买EC190807芯片自己安装,能买到配套的拓展组件最好,否则焊接会很崩溃,尤其是像我这样器材短缺的穷X。但在这里存在一个芯片、电源与单片机之间的电压冲突,电源的电压可以通过购买不同的电池来改变,但芯片的输入输出电压都有额定数值,输入输出的额定电压仅为5v,不足以使单片机带动其他负载,输入电压可以通过分压电路来调整,但输入电压无法解决。
下图为EC190807芯片引脚连接图:
下图为自制EC190807芯片拓展模块:
2. 剩余电量检测模块
该模块所涉及到的电子元件只有一种,就是两个电阻,使用了一个分压电路,具体的阻值需要根据电源电压来计算得出,计算公式及电路在第三章中会介绍。
3. 单片机模块
在本次的遥控装置设计中,为了节省占用空间,使用了Arduino nano单片机,至于为什么使用Arduino而不用51和STM,纯粹是因为Arduino对新手更友好,而且我也只会Arduino。
在使用Arduino nano单片机进行编程时,一定要注意切换处理器的新旧版本,如下图,由于最开始没有切换为旧版本,我曾一度以为是单片机被烧坏了。购买时可直接在某宝购买便宜的版本作实验用。
4. 无线传输模块
在设计遥控装置版本一时,我使用的是nRF24L01无线模块,但由于该模块特别容易被烧坏,且连接效果和距离也不理想,我在版本二中改用了nRF24L01+PA+LNA无线透传模块,虽然字面上看知识多了两个后缀,但使用效果和稳定性确实是改善了不少,介绍说传输距离可以达到1100M,当然是在安装了信号增强天线的基础上,具体没有试验过,但最起码没有再被烧坏过,并且也是一次连接成功,满足了装置设计的需要。
nRF24L01+PA+LNA无线透传模块如下图:
5. 矩阵薄膜键盘模块
这个模块其实没什么好介绍的,我使用的是3×4薄膜矩阵键盘,相较于按钮的优势基本不用多说,既节省了单片机的I/O口资源,又能避免接线繁杂。
6. 显示屏模块
本装置选择0.91寸OLED液晶显示屏,分辨率为128×32像素,完全冲着节省空间去的,基本满足显示需求。
7. 其他元器件
另外,还使用了单联滑动可调电位器、SM对插线、电容若干、镀锡跳线若干、亚克力板若干。
(二)从机
从机部分并没有太多复杂的元器件,电源就选择了三节5号电池,单片机仍然是Arduino nano单片机,无线模块也是选择了nRF24L01+PA+LNA无线透传模块,外接信号增强天线,使用两个LED灯分别代表被选中和用电器启动,另有其他元器件。
三、电路设计
本章节主要介绍自己设计或借鉴的部分电路,网上容易找到的电路不再赘述,仅在文末提供链接。为直观展示单片机与其他电子元件的连接,将主机的电路图直接分为电源模块和单片机模块两部分
(一)主机
1. 电源模块
话不多说,直接上图。
其中,SW1拨动开关和KEY1按键开关实现电源开关双重保护机制,先打开SW1拨动开关,再长按KEY1按键开关3秒,电源开启。R1、R2组成分压电路,使得输入U1的VDD电压保持在5V(注意:U1的OUT输出为5V,实际上是不足以提供单片机和负载工作所需电压的),分压电路中R1、R2的阻值与输入输出电压相互关系公式如下:
2. 单片机模块
其中,R1和R2的阻值可以通过上文提到的分压电路公式算出,其余元器件的使用连接细节可在文末的链接中查阅。
(二)从机
从机的电路较为简单,直接一张电路图搞定!
其中,D1和D2分别为被选中时的显示和开始工作的显示。
四、程序代码
初学入门水平,请大神指点!同时,有需要Arduino各类库文件或者需要解释的,请在评论区留言,看到后一定尽早回复。
基于Arduino单片机的nRF24L01+无线遥控装置设计(代码篇)
五、总结及改进
毕业设计几乎是在最后半个月加班加点完成的,所以许多方面的设计并不完善,譬如倒计时调节的实时显示、剩余电量的代码也未完成,只是一个遥控装置的初步框架,具体的细节还需要更长时间的完善。
本装置的主机和从机在后期还可以做出许多升级改进。譬如主机可以显示每个从机的剩余电量,从机可以通过无人机进行远程机动,或者利用遥控汽车进行中远程操控······
六、所用到的文献链接
3. 如何使用多个NRF24L01模块搭建一个Arduino无线网络