跳到主要内容

接口与引脚说明

接线注意事项

  1. GPIO 逻辑电平是 3.3V。 外设输出信号如果超过允许范围,可能损坏引脚。
  2. A0 和 A1 不支持 5V 耐压。 接模拟信号前要特别注意最大输入电压。
  3. 建议先验证板载资源,再连接外部模块。 可先测试 RGB LED、LED 矩阵等板载资源,再连接传感器或执行器。
危险

不要直接用 GPIO 驱动电机、继电器、大功率 LED 灯带等负载。这类负载应使用驱动模块,并根据模块要求单独供电、共地。

板载用户界面

板载用户界面无需额外接线,可用于功能验证、状态提示和项目调试。

信息

Arduino App Lab 具体的使用方法参考 App Lab 使用说明

一 、LED 矩阵

LED Matrix 是 Arduino UNO Q 的主要特性之一。板载的 8×13 蓝色 LED 点阵 由 UNO Q 的 STM32 微控制器 管理。

LED 矩阵

该 LED 点阵用途灵活,可用于显示数据、状态指示、图标,也可以用于制作简单的动画或小游戏。 下面列出了一些 LED Matrix 的基础示例。

① 图像绘制

本示例用于在 LED Matrix 上绘制自定义图案,这里以Arduino Logo为例。

你可以将下面的示例代码复制到 Arduino App Lab 新建 App 的 Sketch 区域中。

点击展开示例代码
#include <Arduino_LED_Matrix.h>

uint8_t logo[104] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,0,0,0,1,1,1,0,0,
0,1,0,0,0,1,0,1,0,0,0,1,0,
1,0,0,0,0,0,1,0,0,1,0,0,1,
1,0,1,1,1,0,1,0,1,1,1,0,1,
1,0,0,0,0,0,1,0,0,1,0,0,1,
0,1,0,0,0,1,0,1,0,0,0,1,0,
0,0,1,1,1,0,0,0,1,1,1,0,0
};

Arduino_LED_Matrix matrix;

void setup() {
matrix.begin();

// Display the image
matrix.setGrayscaleBits(1);
matrix.draw(logo);
}

void loop() {

}

UNO Q Matrix
运行后,在 Arduino App Lab 中的显示效果如下:
UNO Q Matrix
你也可以创建自己的图案。 只需要按照 LED Matrix 的矩阵格式 8×13 创建数组,并使用 1 和 0 表示 LED 的亮灭状态即可。
UNO Q Matrix

② 亮度调节

LED Matrix 支持 8 级灰度(3-bit),因此可以单独控制每颗 LED 的亮度。

可以使用 setGrayscaleBits(bits) 函数设置灰度位数,例如:

matrix.setGrayscaleBits(3); // 3-bit,对应 8 级亮度,范围为 0~7

常见的灰度转换工具通常使用 256 级灰度(8-bit)。LED Matrix 也支持使用该范围,并会自动进行映射。

matrix.setGrayscaleBits(8); // 8-bit,对应 256 级亮度,范围为 0~255

本示例用于展示 LED Matrix 支持的灰度亮度效果。

你可以将下面的示例代码复制到 Arduino App Lab 新建 App 的 Sketch 区域中。

点击展开示例代码
#include <Arduino_LED_Matrix.h>

uint8_t shades[104] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,2,2,2,2,2,2,
3,3,3,3,3,3,3,3,3,3,3,3,3,
4,4,4,4,4,4,4,4,4,4,4,4,4,
5,5,5,5,5,5,5,5,5,5,5,5,5,
6,6,6,6,6,6,6,6,6,6,6,6,6,
7,7,7,7,7,7,7,7,7,7,7,7,7
};

Arduino_LED_Matrix matrix;

void setup() {
matrix.begin();
// display the image
matrix.setGrayscaleBits(3);
matrix.draw(shades);

}

void loop() {

}

在 Arduino App Lab 中点击 Run 按钮运行 App,即可看到 LED Matrix 显示不同亮度等级的图案。

UNO Q RGB LED

二、 RGB LED

UNO Q 板载 4 颗 RGB LED。其中 2 颗由 Qualcomm 微处理器(MPU)控制,另外 2 颗由 STM32 微控制器(MCU)控制

UNO Q RGB LEDs

① MPU 控制的 RGB LED

其中 LED_1LED_2 由 MPU 控制。

在 UNO Q 的 Linux 系统中,已提供专用的 LED 控制接口。用户可以通过命令行、SSH、PC终端的ADB连接或在单板计算机模式下使用Linux内置终端应用程序进行操作: /sys/class/leds 控制这些 LED

echo 1 | tee /sys/class/leds/red:user/brightness # Set HIGH / ON
echo 0 | tee /sys/class/leds/red:user/brightness # Set LOW / OFF

UNO Q RGB LEDs

RGB LED 通道定义如下

LED_1:

  • Red:red:user
  • Green:green:user
  • Blue:blue:user

LED_2:

  • Red:red:panic
  • Green:green:wlan
  • Blue:blue:bt
备注

LED 2 默认用于显示系统状态,例如 PANIC、WLAN、BT 等状态信息,但用户也可以手动控制。

除了命令行方式外,也可以通过 Python 脚本控制这些 LED。

点击展开python脚本控制方法

请先在 Arduino App Lab 中创建一个新的 App,然后将下面的脚本复制到 App 的 Python 区域中。

import time

from arduino.app_utils import App

LED1_R = "/sys/class/leds/red:user/brightness"
LED1_G = "/sys/class/leds/green:user/brightness"
LED1_B = "/sys/class/leds/blue:user/brightness"

LED2_R = "/sys/class/leds/red:panic/brightness"
LED2_G = "/sys/class/leds/green:wlan/brightness"
LED2_B = "/sys/class/leds/blue:bt/brightness"

def set_led_brightness(led_file, value):
try:
with open(led_file, "w") as f:
f.write(f"{value}\n")
except Exception as e:
print(f"Error writing to {led_file}: {e}")

# turn off all LEDs
set_led_brightness(LED1_R, 0)
set_led_brightness(LED1_G, 0)
set_led_brightness(LED1_B, 0)
set_led_brightness(LED2_R, 0)
set_led_brightness(LED2_G, 0)
set_led_brightness(LED2_B, 0)

def loop():
#blink the LED 1 RED segment
set_led_brightness(LED1_R, 1)
time.sleep(1)
set_led_brightness(LED1_R, 0)
time.sleep(1)

App.run(user_loop=loop)

您还可以使用专用的 Linux 模块来控制这些 LED。Leds具体如下:

# 参数分别对应于 R、G 和 B 颜色。
Leds.set_led1_color(1,0,0) # LED 1 in red
Leds.set_led2_color(1,0,0) # LED 2 in red

请记住在 Arduino App Lab 中创建一个新应用,然后将以下脚本复制粘贴到应用的 Python 部分:

import time
from arduino.app_utils import App
from arduino.app_utils import Leds

def loop():
# Blink LED 1 in red
# Turn on the LED red segment(1, 0, 0)
Leds.set_led1_color(1,0,0)
time.sleep(1)

# Turn off the LED (0, 0, 0)
Leds.set_led1_color(0,0,0)
time.sleep(1)

App.run(user_loop=loop)

② MCU控制的LED

其中 LED_3LED_4 由 MCU 控制。 MCU 端的 RGB LED 可以像普通 GPIO 一样,通过 pinMode()digitalWrite() 进行控制。

请按照以下步骤测试: 您可以将以下示例复制并粘贴到 Arduino 应用实验室中新应用的“sketch”部分。

点击展开查看完整代码
void setup(){
// Configure the pins as outputs
pinMode(LED3_R, OUTPUT);
pinMode(LED3_G, OUTPUT);
pinMode(LED3_B, OUTPUT);
// As they are active low, turn them OFF initially
digitalWrite(LED3_R, HIGH);
digitalWrite(LED3_G, HIGH);
digitalWrite(LED3_B, HIGH);
}

void loop(){
digitalWrite(LED3_R, LOW); // Turn ON red segment
digitalWrite(LED3_G, HIGH);
digitalWrite(LED3_B, HIGH);
delay(1000);
digitalWrite(LED3_R, HIGH);
digitalWrite(LED3_G, LOW); // Turn ON green segment
digitalWrite(LED3_B, HIGH);
delay(1000);
digitalWrite(LED3_R, HIGH);
digitalWrite(LED3_G, HIGH);
digitalWrite(LED3_B, LOW); // Turn ON blue segment
delay(1000);
}

UNO Q RGB LEDs

RGB LED 通道定义如下

LED_3:

  • Red:LED3_R
  • Green:LED3_G
  • Blue:LED3_B

LED_4:

  • Red:LED4_R
  • Green:LED4_G
  • Blue:LED4_B
important

MCU 控制的 RGB LED 为 Active Low(低电平有效)

也就是说:

  • LOW:LED 点亮
  • HIGH:LED 熄灭

三、硬件调试 UART

UNO Q 提供了一个专用的 硬件调试UART 接口,可用于底层调试和系统诊断。 该接口可直接连接到 UNO Q 的 MPU 端调试串口,用于查看 Linux 系统启动日志、调试启动过程,或在系统异常时进行低层排查。该接口可通过 UNO Q 上的 JCTL 连接器访问。

Arduino 官方引脚图

  • 波特率: 115200 bps
  • 逻辑电平: 1.8V

UNO Q Debug UART

危险

该接口使用 1.8V 逻辑电平

请务必使用支持 1.8V TTL 的 USB-to-TTL 串口工具。
不要直接连接 3.3V 或 5V 串口模块,否则可能损坏 UNO Q。

推荐使用 PL2303 USB UART Board Type-A V2 模块,使用时不要接跳线帽。

PL2303 USB UARTUNO Q JCTL
VCCIO1.8V
GNDGND
TXDRD
RXDTX

该调试控制台可查看 SPL、U-Boot 等 Bootloader 输出的底层启动日志,这些信息通常无法通过 SSH 等高层接口获取。它适合用于排查早期启动阶段的供电协商、硬件初始化等问题,也可以使用初始化时配置的 Linux 账号密码登录系统 Shell 进行调试。

UNO Q Debug UART

电源按键

UNO Q 具有一个电源按钮,可用于重启主板。当按钮按住5秒以上时,主板的 Linux 部分将重新启动。

UNO Q Debug UART

信息

UNO Q 上电后会自动启动,无需按下电源按键。

USB-C 接口

Arduino UNO Q 配备一个 USB-C 接口,可用于供电、数据通信以及视频输出。

USB-C 接口

下表列出了用于扩展 UNO Q 功能的 USB-C 接口主要特性:

特性描述
USB 电源输入(Sink)5V DC / 3A(15W)
USB 标准USB 3.1 Gen 1(5Gbps)
USB-C 显示DisplayPort

使用 USB-C 转接器、适配器或集线器时,还可以扩展以下功能:

特性描述
视频输出支持 HDMI 输出
视频输入支持 USB 摄像头
音频支持 USB 或 3.5mm 耳机,包括扬声器和麦克风
以太网支持通过以太网连接互联网
HID支持 USB 键盘、鼠标及其他 HID 设备
存储支持外置 microSD 卡或 USB 存储设备