OLED显示屏

OLED显示屏可以用来显示有关汽车当前状态的信息。这在收集训练数据和比赛时特别有用。

OLED显示屏当前显示以下信息: * 汽车的IP地址(ethwlan) * 收集的记录数量,用于训练。 * 驾驶模式。

支持的显示屏

目前支持的显示屏示例包括:

硬件设置

只需将显示屏连接到树莓派或Jetson Nano的I2C引脚上。使用bus 1,以便显示屏可以直接插入引脚上。这里是一个示例。

软件设置

通过取消在myconfig.py文件中的此行注释 USE_SSD1306_128_32 = False,即删除起始处的#,并将False更改为True,来启用显示屏。如果您有一个128x32的OLED,请选择分辨率1,如果您有128x64,请选择分辨率2,并且不要忘记在该行前面也删除#,使其生效。

您的myconfig.py文件的这一部分现在应该如下所示。

USE_SSD1306_128_32 = True    # 启用SSD_1306 OLED显示屏
# SSD1306_128_32_I2C_ROTATION = 0 # 0 = 文字正常显示,1 = 顺时针旋转90度,2 = 180度翻转,3 = 逆时针旋转270度
SSD1306_RESOLUTION = 2 # 1 = 128x32; 2 = 128x64

启动时显示IP地址

拥有OLED屏幕的一个很酷的功能是可以在启动时显示汽车的IP地址,以便您可以连接到它。设置说明在这里

故障排除

如果无法启动汽车,请确保在您的虚拟环境中安装了Adafruit_SSD1306软件包。如果您使用的是最新版本的donkeycar,这应该会自动安装。

pip install Adafruit_SSD1306

已知问题

  • 当使用RPI_GPIO引脚提供器直接从GPIO引脚提供占空比/ PWM时,Adafruit_SSD1306库与转向/电机配置不兼容。这是因为Adafruit库内部设置了与我们的GPIO库不兼容的GPIO引脚模式。在这种情况下,您有两个选择:
  • 使用PCA9685生成所需的油门和转向占空比/ PWM。
  • 使用PIGPIO引脚提供器从GPIO生成所需的油门和转向占空比/ PWM。有关如何设置pigpio库,请参见PIGPIO