板载显示器:修订间差异
跳转到导航
跳转到搜索
创建页面,内容为“{{#set:Has title=板载显示屏}} {{Stub}} 本文介绍了如何为运行 ArduPilot 固件的飞控连接一个小型板载显示屏。该显示屏可用于在起飞前显示关键的飞行器状态信息。 == 目的与功能 == 板载显示屏的主要目的是在地面、起飞前,向用户显示少量但至关重要的飞行器信息。可显示的信息包括: * 解锁失败消息 * 当前飞行模式 * 电池电压 * GPS 锁定状态和卫星…” |
无编辑摘要 标签:手工回退 |
||
| (未显示同一用户的6个中间版本) | |||
| 第1行: | 第1行: | ||
飞控系统(如 PX4 或 ArduPilot)可通过 I²C 接口连接外部 OLED 显示屏,用于实时显示飞行状态、传感器数据等信息。配置过程涉及硬件连接和软件参数设置两部分。 | |||
== 目的与功能 == | == 目的与功能 == | ||
[[文件:Display.png|左|无框]] | |||
板载显示屏的主要目的是在地面、起飞前,向用户显示少量但至关重要的飞行器信息。可显示的信息包括: | 板载显示屏的主要目的是在地面、起飞前,向用户显示少量但至关重要的飞行器信息。可显示的信息包括: | ||
* 解锁失败消息 | * 解锁失败消息 | ||
| 第13行: | 第10行: | ||
* 预解锁检查通过/失败状态 | * 预解锁检查通过/失败状态 | ||
* [[EKF|EKF 状态]] | * [[EKF|EKF 状态]] | ||
== 支持的硬件 == | == 支持的硬件 == | ||
兼容两种类型的 OLED 显示屏: | |||
* SSD1306 | * SSD1306 | ||
* SH1106 | * SH1106 | ||
== 硬件连接 == | |||
=== 接口定义 === | |||
== | {| class="wikitable" | ||
|+ I2C OLED模块与飞控连接定义表 | |||
=== | ! 飞控 UART3 & I2C1接口引脚 !! 对应的OLED模块引脚 !! 说明 | ||
|- | |||
| 5V (红色字体) || VCC || 电源。为OLED模块供电。 | |||
|- | |||
| GND || GND || 地线。构成回路。 | |||
|- | |||
| SDA || SDA || 数据线。I2C通信的数据信号。 | |||
|- | |||
| SCL || SCL || 时钟线。I2C通信的时钟信号。 | |||
|} | |||
=== | === 地址识别 === | ||
OLED的器件地址由硬件决定,通常为0x3C或0x3D(7位地址格式),或0x78/0x7A(8位地址格式)。具体地址需查阅模块手册,或通过I2C扫描工具确定。在驱动中,控制命令通常使用0x00前缀,数据使用0x40前缀[3,6](@ref)。 | |||
== 软件配置 == | |||
=== PX4固件 === | |||
1. '''启用I2C总线''':部分飞控的I²C接口(如标有UART3 & I2C1的接口)可能默认初始化为其他功能(如GPS1),但其I²C总线通常已激活[1](@ref)。 | |||
2. '''基本检测''':连接OLED后重启飞控,若OLED屏幕被识别,可能会显示基础信息。 | |||
3. '''参数配置(通过QGroundControl)''': | |||
* 搜索以`SENS_EN_`开头的参数(例如`SENS_EN_SDLIST`),确保其值为`Enabled`[1](@ref)。 | |||
* 搜索"OLED"关键词,检查相关显示设备参数并启用。 | |||
* 部分版本可能需要额外设置I²C总线速率或从设备地址(常见的OLED地址为0x78)[6](@ref)。 | |||
4. '''重启飞控'''使配置生效。 | |||
=== ArduPilot固件 === | |||
1. '''参数配置(通过Mission Planner)''': | |||
* 搜索`SERIALx_PROTOCOL`参数(例如,若OLED接在UART3接口,则搜索`SERIAL3_PROTOCOL`),将其值设置为`-1`,以禁用该端口的串口协议,从而启用I²C功能[1](@ref)。 | |||
* 搜索以`DISPLAY`开头的参数(例如`DISPLAY_OPTIONS`),根据需要启用希望显示的内容(如电池电压、姿态角等)。 | |||
2. '''重启飞控'''使配置生效。 | |||
== 驱动与显示函数示例 == | |||
以下为基于STM32 HAL库的OLED基本驱动函数示例,展示了命令/数据写入、初始化、清屏等核心操作[3,6](@ref): | |||
[ | |||
2025年10月24日 (五) 14:28的最新版本
飞控系统(如 PX4 或 ArduPilot)可通过 I²C 接口连接外部 OLED 显示屏,用于实时显示飞行状态、传感器数据等信息。配置过程涉及硬件连接和软件参数设置两部分。
目的与功能

板载显示屏的主要目的是在地面、起飞前,向用户显示少量但至关重要的飞行器信息。可显示的信息包括:
支持的硬件
兼容两种类型的 OLED 显示屏:
- SSD1306
- SH1106
硬件连接
接口定义
| 飞控 UART3 & I2C1接口引脚 | 对应的OLED模块引脚 | 说明 |
|---|---|---|
| 5V (红色字体) | VCC | 电源。为OLED模块供电。 |
| GND | GND | 地线。构成回路。 |
| SDA | SDA | 数据线。I2C通信的数据信号。 |
| SCL | SCL | 时钟线。I2C通信的时钟信号。 |
地址识别
OLED的器件地址由硬件决定,通常为0x3C或0x3D(7位地址格式),或0x78/0x7A(8位地址格式)。具体地址需查阅模块手册,或通过I2C扫描工具确定。在驱动中,控制命令通常使用0x00前缀,数据使用0x40前缀[3,6](@ref)。
软件配置
PX4固件
1. 启用I2C总线:部分飞控的I²C接口(如标有UART3 & I2C1的接口)可能默认初始化为其他功能(如GPS1),但其I²C总线通常已激活[1](@ref)。 2. 基本检测:连接OLED后重启飞控,若OLED屏幕被识别,可能会显示基础信息。 3. 参数配置(通过QGroundControl):
* 搜索以`SENS_EN_`开头的参数(例如`SENS_EN_SDLIST`),确保其值为`Enabled`[1](@ref)。 * 搜索"OLED"关键词,检查相关显示设备参数并启用。 * 部分版本可能需要额外设置I²C总线速率或从设备地址(常见的OLED地址为0x78)[6](@ref)。
4. 重启飞控使配置生效。
ArduPilot固件
1. 参数配置(通过Mission Planner):
* 搜索`SERIALx_PROTOCOL`参数(例如,若OLED接在UART3接口,则搜索`SERIAL3_PROTOCOL`),将其值设置为`-1`,以禁用该端口的串口协议,从而启用I²C功能[1](@ref)。 * 搜索以`DISPLAY`开头的参数(例如`DISPLAY_OPTIONS`),根据需要启用希望显示的内容(如电池电压、姿态角等)。
2. 重启飞控使配置生效。
驱动与显示函数示例
以下为基于STM32 HAL库的OLED基本驱动函数示例,展示了命令/数据写入、初始化、清屏等核心操作[3,6](@ref):