
elrs穿越机遥控器
简介
使用STM32F413单片机,基于LVGL设计了动画UI菜单,支持ELRS接收机,可IAP升级,具有语音播报功能,可作为USB HID设备连接电脑游玩无人机模拟器。
简介:使用STM32F413单片机,基于LVGL设计了动画UI菜单,支持ELRS接收机,可IAP升级,具有语音播报功能,可作为USB HID设备连接电脑游玩无人机模拟器。开源协议
:CC BY-NC 3.0
描述
不能用于商业用途!!!
本项目使用STM32F413单片机,致力于设计一款贴近市场的穿越机遥控器。基于LVGL设计了动画UI菜单,使用lora芯片实现了完善的FHSS(调频与扩频技术)机制,基于SD卡的IAP升级可持续更新遥控器功能,具有低成本语音播报功能,可作为USB HID设备连接电脑游玩无人机模拟器。
Freerots:基于Freerots设计了完善的响应机制,与射频芯片的操作主要基于硬件中断层面优先保证通信过程的稳定,任务间通信使用队列,信号量,事件组等机制,保证了高效率与响应速度。
FHSS:移植ExpressLRS(开源无线通信协议 GitHub4.35k收藏),通信双方首先在约定的频道交换信息,完成对频后使用特定跳频序列定时跳频,考虑到积累的时间误差,实现了校正机制,接收端可据校正自己的跳频速度,保证通信时间的长期同步,遥控器可以与市面上销售的ELRS接收机通信。
IAP:系统开机检测有可更新版本时会进入IAP升级,Bootloader程序会使用fatfs相应函数读取SD卡或W25Q
的bin文件进行自我的系统更新。
LVGL:使用NXP的GUI-Guider软件进行LVGL的UI编写,基于弹性布局实现按键菜单的无限滚动效果,具体菜单页面使用List部件实现,并添加了相应图标。
USB:使用STM32CubeMX生成USB HID,定制设备描述符,使遥控器作为手柄设备,可以游玩电脑的穿越机模器。
语音播报:使用DAC功能配合DMA双缓存区读取SD卡或者W25Q64的wav音频文件,配合8002A音频功放实现了低成本语音播报功能。
代码空间扩展:制作了FLM下载算法,并借助内存映射将代码段运行于外置W25Q64闪存,并对其进行分区管理,分别存储代码段,升级固件、UI资源、音频文件及系统参数,提升存储利用效率。
UI展示(部分展示,放不完):




这个是视频展示
【LVGL遥控器界面】https://www.bilibili.com/video/BV1k5EvzvEDF?vd_source=a98438e68b445d6c3fb14772d7c61a50
遥控器实物(白线是下载线,我用来接无线下载器的):

正面图及其连接器件:

遥控器的错误地方(需要飞线处)已经修改过了,大家打第二版PCB就可以
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论