项目简介
本项目是基于OpenFrameworks框架的开源项目,用于控制Pingy机器人。项目涉及图形、音频、视频、串行通信和用户界面控制等多方面,目标是构建用户友好界面,让用户能通过简单交互控制机器人的眼球/头部运动和舞蹈模式,同时支持脚本控制。
项目的主要特性和功能
- 图形渲染:通过
ofApp
类处理,可轻松创建和渲染图形界面。 - 音频处理:使用
ofSoundPlayer
类,支持播放音频文件。 - 视频处理:借助
ofVideoGrabber
和ofVideoPlayer
类实现视频捕获和播放。 - 串行通信:利用
ofArduino
类控制与Arduino的串行通信,实现对Pingy机器人的控制。 - 用户界面控制:包含
PingyControlPanel
类控制机器人的眼球/头部运动,ScriptReader
类读取脚本文件。 - 丰富指令集:支持声音播放、运动控制、模式切换等多种控制命令。
- 状态反馈:Arduino会返回按钮状态、电机状态、编码器信息等多种状态信息。
安装使用步骤
硬件连接
使用4线带状电缆连接Pingy和Arduino的以下引脚:
| Pingy | Arduino |
| :----- | :-------------------- |
| V
| A0 |
| C1
| A5 |
| Da
| A4 |
| G
| GND |
代码编译与上传
将behavior.ino
文件编译并上传到Arduino,此代码已在Nano Every上测试通过。
启动通信
在Pingy关机状态下,使用Arduino串行监视器或以115200波特率连接到Arduino的源应用程序。C++源代码位于src
文件夹中。
启动Pingy
打开Pingy的电源,若一切正常,将收到“Pingy detected”消息。
发送控制命令
可以发送允许的命令来控制Pingy,命令需要以分号结尾,例如:
SOUND PLAY 10;
MOVE PAN 50;
接收状态反馈
Arduino会根据Pingy的状态返回相应的信息,可根据这些信息了解Pingy的状态。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】