设计一款搭载FreeRTOS、具备运动感应、音频播放、游戏功能以及定制3D打印外壳的ESP32-S3伴侣机器人
BMO一直是《探险活宝》中最喜欢的角色之一。它不仅仅是一台游戏主机,更被塑造为一个拥有自己个性的伙伴、朋友和娱乐设备。
该项目最初旨在通过构建一款便携式陪伴机器人,将定制硬件、嵌入式软件、娱乐功能和交互式应用整合到一个平台上,从而在现实生活中重现这一概念。
最终成果是BMO,这是一款搭载ESP32-S3芯片的伴侣机器人,配备定制3D打印外壳,采用基于FreeRTOS的软件架构,具备运动感应、音频播放、教育应用以及内置游戏功能。
设计与开发
整个系统从零开始设计,包括外壳、电子集成、软件架构和用户界面。
硬件以ESP32-S3微控制器为核心,集成了图形显示屏、运动传感器、音频播放、电池供电、物理控制按钮、SD卡存储、定制PCB板以及完全定制的3D打印外壳。
该外壳在Fusion 360中进行了建模,并经过优化,以容纳所有内部组件,同时保持BMO标志性的外观。
软件架构
该软件基于FreeRTOS,可使不同功能作为独立任务运行。
该架构将显示管理、用户输入、运动感应、音频播放、游戏执行、存储管理和系统事件分别划分为独立的任务。模块之间的通信通过队列和事件驱动机制实现,从而形成响应迅速且可扩展的设计。
这种方法可在保持系统响应性的同时,使多个功能平稳运行。
功能
BMO 设计为一款多功能的配套设备,目前包含:
娱乐
•内置游戏
•Flappy BMO,灵感源自经典游戏《Flappy Bird》
•交互式图形用户界面
•从SD卡存储播放音频
•音乐播放器功能
•录音回放功能
音频功能
•通过内置麦克风录音
•将录音音频文件存储在SD卡上
•播放已保存的录音
•通过内置扬声器系统播放音乐
教育功能
•互动测验应用
•TFT屏幕上显示的多项选择题
•成绩跟踪与进度监控
•旨在让学习更富吸引力的教育内容
陪伴与沟通功能
•使用集成IMU传感器进行运动检测
•RGB视觉反馈
•振动反馈
•菜单驱动的交互系统
Web门户集成
专门开发了一个网络门户,以扩展设备的功能,使其超越硬件本身。
通过网络门户,用户可以:
•提交自定义问题用于测验应用
•管理教育内容
•扩展可用的问题数据库
•个性化学习体验
这使得可以在不修改嵌入式固件的情况下添加新内容。
挑战
主要挑战之一是在保持可靠性能的同时,将多个外设集成到一个嵌入式系统中。
开发基于FreeRTOS的架构需要同时协调显示更新、用户输入、传感器读数、音频播放、SD卡访问以及游戏执行。
设计一个紧凑的外壳,既能容纳显示屏、电池、PCB、控制元件和音频硬件,又能保持BMO标志性的外观,是另一个重大挑战。
硬件调试、PCB集成、存储管理以及外设通信在整个开发过程中也发挥了重要作用。
未来发展
BMO旨在超越一款手持游戏设备。
未来版本将通过以下功能来拓展陪伴机器人概念:
•语音交互
•情绪识别
•AI辅助对话
•增强动画
•无线同步
•其他教育应用
•扩展的游戏库
长期目标是将BMO转变为一个完全交互式的陪伴机器人,将嵌入式系统、人工智能、教育和娱乐整合于一个便携平台之中。
结论
BMO 将嵌入式软件、硬件设计、实时操作系统、PCB开发、机械工程和交互式应用集成到一个设备中。
该项目不仅重现了深受喜爱的虚构角色,还展示了嵌入式系统如何用于创造引人入胜的教育与娱乐体验,同时为未来伴侣型机器人的开发奠定基础。
本文编译自hackster.io





