ESP32 万能遥控器
简介
基于ESP32-S3做一个万能的遥控器,作为以后各种RC模型,机器人的通用控制方案。 还可以蓝牙连接电脑玩游戏,或者在遥控器上玩自己编写的游戏。
简介:基于ESP32-S3做一个万能的遥控器,作为以后各种RC模型,机器人的通用控制方案。 还可以蓝牙连接电脑玩游戏,或者在遥控器上玩自己编写的游戏。开源协议
:GPL 3.0
描述
成品展示
项目说明
在我们玩各种RC模型,机器人或其它玩具时,它们都各有各的遥控器,很多很混乱,于是我就想做个通用的多功能遥控器。
不但可以控制众多设备,还可以通过蓝牙连接电脑,当做蓝牙手柄玩3A游戏,甚至编写一些小游戏遥控器本机上玩。
实现“一控在手,天下我有”的优雅!
项目功能
1. 该遥控器基于ESP32-S3芯片,为了方便制作,使用了一款带屏幕的开发板,在1.91英寸的屏幕上有着240*536的超高分辨率,显示效果出色。
2. 遥控器设有4个常规按键,4个拨杆开关,2个电位器旋钮,2个高精度航模摇杆,8个功能按键,2个板载按键,以及1个MPU-6050电子陀螺仪。
3. 通讯模块采用20dBm的nRF24L01模块,配上3dBi的增益天线,遥控距离能达到2000米以上。
4. 两节2600mah的大容量18650锂电池保证了遥控器的长续航,且开发板集成了充放电模块,摆脱电量焦虑。
设计原理
遥控器的工作原理很简单,就是不断的读取各个按键以及摇杆的状态,将按键值和摇杆的模拟值组合成一个自己设计的结构体,通过nRF24L01将这些数据发送给接收端,从机收到后解析出各个数据,并以此做出响应。
外壳设计
外壳的要求就3点
1. 要握持舒适
通过大量的倒角,圆角来贴合手部,使其不卡手,并且握得住,不打滑。
2. 便于制作
通过分件的方式,将一些不规则形状的部分分开,尽可能多的留出平面,便于之后的3D打印。同时分件也便于进行多色打印。
3. 颜值
在满足前两点的基础上,尽可的好看,或者增加一些属于自己的特色。
制作过程
1. 首先安装清单采购所有的元件(详细清单见附件)
2. 将元件焊接到制作好的PCB上(元件清单见附件)
并把开发板和电池装到板子上,通过中间的孔,用线将开发板和PCB的电源连接起来
3. 3D打印出外壳和所有的按键,旋钮(打印文件见附件,外壳包含无字版)
4. 将电子部分与外壳进行安装(把大象放进冰箱里)
5. 最后安装按键帽和天线,遥控器的硬件就制作好了
遥控器测试代码
原理就是不断地轮询所有按键,然后将按键状态显示到屏幕上。
编程基于Arduino环境,图形库使用的是TFT_eSPI,详细代码请看附件。
实际测试效果
你可能会纳闷为啥在下边的测试视频中,小屏幕是朝下的。
具体情况请看视频: DIY万能遥控器_哔哩哔哩_bilibili
2023.9.27日更新:
菜单系统结构
一二级菜单预览
一级菜单:
部分二级菜单:
菜单和遥控效果测试
我用了一直之前的履带底盘进行了测试,效果不错。
详情请看B站视频。
菜单源码和图标
完整源码和图标请见附件。
之后会不定期完善该系统,敬请关注B站账号【黑人黑科技】或者本项目。
评论