WAVEGO 教程二、二次开发教程

来自Waveshare Wiki
跳转至: 导航搜索

WAVEGO 教程目录

  • WAVEGO 视频教程、产品组装和使用

WAVEGO 二次开发教程

安装Arduino IDE

QQ截图20220107175437.png

  • 选择适用于你的系统的Arduino IDE。

QQ截图20220107175603.png

  • 运行安装包。

QQ截图20220107175730.png

  • 点击I Agree。

QQ图片20211130105649.png

  • 勾选Install USB driver和Associate.ino files,然后点击Next。

QQ截图20211130110050.png

  • 选择Arduino IDE的安装路径,然后点击Install。

QQ截图20211130110425.png

  • 等待安装完成。

QQ截图20211130110501.png

  • 安装需要的驱动。
  • 点击安装。

QQ截图20211130110721.png

  • 点击安装。

QQ截图20211130110952.png

  • 点击安装。

QQ截图20211130111022.png

  • Arduino IDE安装完成。

QQ截图20211130111127.png

安装Arduino core for the ESP32

  • 运行Arduino IDE,点击File。

QQ截图20211130112221.png

  • 点击Preferences。

QQ截图20211130112341.png

  • 在Additional Boards Manager URLs内填写https://dl.espressif.com/dl/package_esp32_index.json。然后点击OK。

QQ截图20211130113232.png

  • 重启IDE,点击Tools > Board > Boards Manager, 打开Boards Manager。
  • 填写ESP32,点击Install。

QQ截图20211130113827.png

  • 等待安装完成。

QQ截图20211130114001.png

  • 安装完成后即可使用Arduino IDE来开发ESP32。

安装依赖库

  • 下载、解压Libraries依赖库,打开Arduino默认安装的位置C:\Users\xutong\AppData\Local\Arduino15\libraries(结合自己实际位置),再把这些文件夹复制到Libraries里
    Lib库位置-2.0.jpg

上传程序到机器人

  • 双击运行WAVEGO/Arduino/WAVEGO/WAVEGO.ino。

QQ截图20211130140519.png

  • 点击Tools > Port 记住已有的COM Port,不用点击它。
  • 不同电脑这里显示的COM是不一样的,记住现在已有COM。

QQ截图20211130140744.png

  • 连接驱动板和电脑。
  • 点击Tools > Port,点击这个新的COM。
  • 不同电脑这里新出现的COM是不一样的,点击新出现的COM。

QQ截图20211130141904.png

  • 点击 Tools > Boards: > ESP32 Arduino > ESP32 Dev Module ,选择ESP32 Dev Module。

QQ截图20211130142717.png

  • 其它设置如下:
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,否则视频画面遇到高频图像信息时可能会闪黑。

QQ截图20211130143434.png

  • 点击左上角的```Upload```上传程序。
  • 这里注意当WAVEGO使用串口与树莓派连接时自动下载电路会失效,需要断开与树莓派的串口连接后再上传程序到WAVEGO。

QQ截图20211130144718.png

  • 等待程序上传完成。
  • 显示Leaving... Hard resetting via RTS pin...后表示已经上传成功。

QQ截图20211130145013.png

WAVEGO多功能扩展接口

  • 由于ESP32具有更高的算力并且集成了WIFI蓝牙等通信方式,并且支持使用ArduinoIDE进行开发,我们选择ESP32作为WAVEGO的主控芯片,我们将ESP32上空余的IO以及其它常用的IO引出,组成了如下图所示的多功能扩展接口。

QQ截图20211231144138.png

  • 如上图中的例子,连接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 主页