开源⾃制6通道航模遥控器,ArduinoProMiniNRF24L01模块前⾔ 前段时间跟着LOLI⼤神的教程制作了LOLI三代控,效果很好。但是,由于LOLI三代控的接收机带有数据回传功能,也就是接收机的⽆线模块也承担了发射数据功能,所以接收机也要使⽤带有功率放⼤芯⽚的NRF24L01模块才能实现远距离通信,这不仅抬⾼了成本还带来了体积的增加。于是笔者打算⾃制⼀个较简单的6通道航模遥控器,正好⼿上有⼀个没有接收机的天地飞-06X,决定对其进⾏改造,⼀番查阅资料后⽤Arduino Pro Mini开发板实现了基础的功能,效果还不错。 1.材料清单
USB转TTL模块*1玻璃钢酸洗槽
透明导电膜Arduino Pro Mini开发板*2
NRF24L01⽆线通信模块*2
ams1117-3.3电压转换芯⽚1个
100uF电解电容*2
104电容*2
三脚开关*4
10k电阻1,20k电阻1
mcu解密导线及插针若⼲
2. 硬件部分
按照原理图焊接电路,尽情飞线叭,有条件的话可以设计PCB做的好看⼀些。
a)遥控器端箱式高温煅烧炉
遥控器端负责发送数据,所以使⽤可以⽆线透传2000m的NRF24L01⽆线通信模块;
笔者的飞线不忍直视 ,100m的NRF24L01模块不够⽤,果断换了2000m的。
b)接收机端
接收机端负责接收数据,使⽤100m的NRF24L01⽆线通信模块⾜够了。
3.软件部分
批量抓鸡a)遥控器端
将USB转TTL模块连接电脑,引脚接线如下:
TX0—RXD
RX1—TXD
VCC—3V3
GND—GND
打开Arduino IDE,选择遥控器端的程序打开,这⾥要下载RF24封装库,下载⽅法如下: 项⽬》加载库》管理库,打开库管理器
输⼊RF24搜索,选择图中的库进⾏安装,安装完毕后点击关闭;狗扣
烧写程序之前,要先选择⾃⼰的开发板型号,如下图,处理器选择⾃⼰的开发板类型,端⼝选择USB转TTL所在的端⼝号
点击上传,烧写程序;
通信地址可以改为⾃⼰喜欢的地址,每个位是⼗六进制(0~9、A~F) ;
向各个⽅向拨动摇杆,通过串⼝监视器查看输出值,然后把每个通道的最⼩值、 中值、最⼤值填⼊程序中,最后再上传⼀次代码。
完整的Arduino代码如下...