WAVEGO 教程二、二次开发教程
来自Waveshare Wiki
WAVEGO 教程目录
- WAVEGO 视频教程、产品组装和使用
- WAVEGO 教程一、产品组装和使用文档
- WAVEGO 教程二、ESP32二次开发教程(Arduino IDE)
- WAVEGO 教程三、API文档
- WAVEGO 教程四、自定义动作开发教程
- WAVEGO WIKI 主页 | WAVEGO带树莓派版 WIKI 主页
WAVEGO 二次开发教程
安装Arduino IDE
- 你可以直接点击这个链接从Arduino.cc下载Arduino IDE。
- 选择适用于你的系统的Arduino IDE。
- 运行安装包。
- 点击I Agree。
- 勾选Install USB driver和Associate.ino files,然后点击Next。
- 选择Arduino IDE的安装路径,然后点击Install。
- 等待安装完成。
- 安装需要的驱动。
- 点击安装。
- 点击安装。
- 点击安装。
- Arduino IDE安装完成。
安装Arduino core for the ESP32
- 运行Arduino IDE,点击File。
- 点击Preferences。
- 在Additional Boards Manager URLs内填写https://dl.espressif.com/dl/package_esp32_index.json。然后点击OK。
- 重启IDE,点击Tools > Board > Boards Manager, 打开Boards Manager。
- 填写ESP32,点击Install。
- 等待安装完成。
- 安装完成后即可使用Arduino IDE来开发ESP32。
安装依赖库
- 下载、解压Libraries依赖库,打开Arduino默认安装的位置C:\Users\xutong\AppData\Local\Arduino15\libraries(结合自己实际位置),再把这些文件夹复制到Libraries里
上传程序到机器人
- 双击运行WAVEGO/Arduino/WAVEGO/WAVEGO.ino。
- 点击Tools > Port 记住已有的COM Port,不用点击它。
- 不同电脑这里显示的COM是不一样的,记住现在已有COM。
- 连接驱动板和电脑。
- 点击Tools > Port,点击这个新的COM。
- 不同电脑这里新出现的COM是不一样的,点击新出现的COM。
- 点击 Tools > Boards: > ESP32 Arduino > ESP32 Dev Module ,选择ESP32 Dev Module。
- 其它设置如下:
Upload Speed: "921600" CPU Frequency: "240MHz(WiFi/BT)" Flash Frequency: "80MHz" Flash Mode: "QIO" Flash Size: "4MB(32Mb)" '''Partition Scheme: "Huge APP(3MB No OTA/1MB SPIFFS)" PSRAM: "Enabled"'''
- PSRAM一定要设置为Enabled,否则视频画面遇到高频图像信息时可能会闪黑。
- 点击左上角的```Upload```上传程序。
- 这里注意当WAVEGO使用串口与树莓派连接时自动下载电路会失效,需要断开与树莓派的串口连接后再上传程序到WAVEGO。
- 等待程序上传完成。
- 显示Leaving... Hard resetting via RTS pin...后表示已经上传成功。
WAVEGO多功能扩展接口
- 由于ESP32具有更高的算力并且集成了WIFI蓝牙等通信方式,并且支持使用ArduinoIDE进行开发,我们选择ESP32作为WAVEGO的主控芯片,我们将ESP32上空余的IO以及其它常用的IO引出,组成了如下图所示的多功能扩展接口。
- 如上图中的例子,连接G12与3V3,可以使设备进入到组装模式。
- LED:驱动板上面有两颗RGB LED,程序上的编号分别为0、1,如果需要连接更多的RGB-LED(WS2812),可以由此接口扩展,相应的,编号从2开始。
- 控制函数如下:
- LED_NUM: 灯珠的编号,例如控制板子上的两颗,那LED_NUM就为0或1,如果控制LED-OUT口上扩展的第一颗灯珠,LED_NUM=2。
setSingleLED(LED_NUM, matrix.Color(R, G, B));
- G21:这个IO同时也用来控制驱动板上面的蜂鸣器,当G21为低电平时,蜂鸣器开始发声,当G21为高电平时,蜂鸣器不发声。
- G15:这个IO口并没有使用到,你可以使用这两个IO口扩展其它的模块。
- G12:默认这个IO口用来设置组装模式,当G12与3V3连接后,设备进入到组装模式,该模式下RGB会变成橙色,并且控制所有与设备连接的舵机转动到编码器的中间位置,然后再根据指定的角度来安装舵机摆臂。
- RX TX:对应ESP32的UART_0,可以用于与其它设备通信,可以将其与树莓派的TX RX连接,供地后即可互相通信。
- 注意:当RX TX与树莓派的TX RX相连接时,自动下载功能并不能启动,所以如果需要给ESP32上传新程序时,需要断开UART_0与树莓派的连接。
- 下面的一排<TX RX GND 5V 5V>可用于连接树莓派,5V和GND可用于给树莓派供电,TX RX可用于与树莓派进行通信。
WAVEGO板载设备和接口
- WAVEGO驱动板集成了多种设备,其中大部分使用IIC控制(GPIO 33 as SCL, GPIO 32 as SDA),用于与其它设备通信,包括:ICM20948姿态传感器、PCA9685舵机控制芯片、INA219电压检测和OLED屏幕(SSD1306)。
- 本文档只用于介绍接口,具体程序的API调用请参考该产品的API文档。
- IIC接口
GPIO 33 as SCL GPIO 32 as SDA
- 设备IIC地址
ICM20948 0x68 INA219 0x42 SSD1306 0x3C PCA9685 0x40
- 其它设备
RGB_LED GPIO 26 BUZZER GPIO 21
树莓派扩展教程
- WAVEGO的主控板使用ESP32进行连杆逆解和步态生成,用于传递给舵机进行下位机控制,WAVEGO上面的定位孔可以用来安装铜柱,固定树莓派4B,WAVEGO通过多功能扩展接口为树莓派供电,使用UART0与树莓派进行通信,在默认的程序中,树莓派使用ttyS0与WAVEGO进行通信,波特率为115200。
- 我们提供了包含树莓派扩展套件的WAVEGO-RPi版本,分别为RPI WAVEGO ACCE 或 PI4B-4GB WAVEGO KIT。更多信息可参阅WAVEGO带树莓派版 WIKI 主页 。