|||
无线遥控/手柄在电子设计中可以令应用凸显便捷、层次性。
NRF24L01模块是应用非常广泛的无线模块,SPI接口操作简单,易于集成,可以实现点对点或一对多通讯,是做无线应用的理想方案。
本例介绍的“无影Shadowless-开源无线手柄”即采用NRF24L01模块方案,采用STM32F030主MCU完成设计。
本例中,为增加手柄应用适应性,适当增加摇杆、按键数量,共计4个摇杆,12个独立按键,2个拨动开关,4个LED指示,1个蜂鸣器,同时扩展1路串口(3.3VTTL电平),1路调试接口(SW)。
设计原理图如下:
本例中,设计BOM如下:
该手柄PCB外形及焊接指导如下:
对于遥控器的报文发送,采用按键变化或者摇杆位置变化时发送报文方式,报文格式定义如下:
1. 当有按键按下或摇杆变化时候,通过NRF24L01无线模块发送32字节报文;
2. 有效数据共16字节,其中第一字节为‘*’,第十四到十六字节为“\r\n\0”。
3. 第一字节定义:
- | - | - | - | - | - | SL | SR |
其中SL为拨动开关SL的键值
第二字节定义:
- | - | A | B | U | D | L | R |
第三字节定义:
- | - | X | Y | 1 | 2 | 3 | 4 |
第四字节定义:
- | - | - | - | RA | RB | RX | RY |
其中RA为摇杆RA的按键键值
第五字节定义:
RA摇杆上下方向模拟量,有效值范围:0-255;
第六字节定义:
RA摇杆左右方向模拟量,有效值范围:0-255;
第七字节定义:
RB摇杆上下方向模拟量,有效值范围:0-255;
第八字节定义:
RB摇杆左右方向模拟量,有效值范围:0-255;
第九字节定义:
RX摇杆上下方向模拟量,有效值范围:0-255;
第十字节定义:
RX摇杆左右方向模拟量,有效值范围:0-255;
第十一字节定义:
RY摇杆上下方向模拟量,有效值范围:0-255;
第十二字节定义:
RY摇杆左右方向模拟量,有效值范围:0-255;
第十三字节定义:
未定义,可用于电池电压信息输出;
结论:
该型手柄资源丰富,基本满足各种方式的遥控应用,同时开源方式允许有能力的DIYer自由发挥,极致突出他的价值。