基于ESP32

基于ESP32

项目说明

在我们玩各种RC模型,机器人或其它玩具时,它们都各有各的遥控器,很多很混乱,于是我就想做个通用的多功能遥控器。

不但可以控制众多设备,还可以通过蓝牙连接电脑,当做蓝牙手柄玩3A游戏,甚至编写一些小游戏遥控器本机上玩。

实现“一控在手,天下我有”的优雅!

项目功能

该遥控器基于ESP32-S3芯片,为了方便制作,使用了一款带屏幕的开发板,在1.91英寸的屏幕上有着240*536的超高分辨率,显示效果出色。

遥控器设有4个常规按键,4个拨杆开关,2个电位器旋钮,2个高精度航模摇杆,8个功能按键,2个板载按键,以及1个MPU-6050电子陀螺仪。

通讯模块采用20dBm的nRF24L01模块,配上3dBi的增益天线,遥控距离能达到2000米以上。

两节2600mah的大容量18650锂电池保证了遥控器的长续航,且开发板集成了充放电模块,摆脱电量焦虑。

设计原理

遥控器的工作原理很简单,就是不断的读取各个按键以及摇杆的状态,将按键值和摇杆的模拟值组合成一个自己设计的结构体,通过nRF24L01将这些数据发送给接收端,从机收到后解析出各个数据,并以此做出响应。

外壳设计

外壳的要求就3点

要握持舒适

通过大量的倒角,圆角来贴合手部,使其不卡手,并且握得住,不打滑。

便于制作

通过分件的方式,将一些不规则形状的部分分开,尽可能多的留出平面,便于之后的3D打印。同时分件也便于进行多色打印。

颜值

在满足前两点的基础上,尽可的好看,或者增加一些属于自己的特色。

制作过程

首先安装清单采购所有的元件(详细清单见附件)

将元件焊接到制作好的PCB上(元件清单见附件)

并把开发板和电池装到板子上,通过中间的孔,用线将开发板和PCB的电源连接起来

3D打印出外壳和所有的按键,旋钮(打印文件见附件,外壳包含无字版)

将电子部分与外壳进行安装(把大象放进冰箱里)

最后安装按键帽和天线,遥控器的硬件就制作好了

遥控器测试代码

原理就是不断地轮询所有按键,然后将按键状态显示到屏幕上。

编程基于Arduino环境,图形库使用的是TFT_eSPI,详细代码请看附件。

实际测试效果

你可能会纳闷为啥在下边的测试视频中,小屏幕是朝下的。

具体情况请看视频:

菜单系统结构

一二级菜单预览

一级菜单:

部分二级菜单:

菜单和遥控效果测试

我用了一直之前的履带底盘进行了测试,效果不错。

详情请看B站视频。

菜单源码和图标

完整源码和图标请见附件。

相关推荐