7,662
社区成员
发帖
与我相关
我的任务
分享内容简介
本文介绍如何使用QRB2210控制UNOQ开发板上的RGB LED1和LED2。从本文可以了解如何使用指令窗口控制LED和使用Arduino App Lap编写Python代码对LED进行控制。
测试环境
Windows:Windows11 x64 professional
UNOQ:ABX00162(2GB RAM/16GB eMMC)
Arduino App Lab:0.5.0
正文
***使用终端控制
在使用Arduino App Lab连接UNOQ后,点击左下角的“Connect to the board’s shell”
在出现的窗口中输入指令直接控制:
echo 1 | tee /sys/class/leds/red:user/brightness # set HIGH/ON
echo 0 | tee /sys/class/leds/red:user/brightness # set LOW/OFF

就可以看到LED变为红色和熄灭。
类似的设备还有:

***在Arduino App Lab中使用Python代码控制
在My Apps下点击“Create new app”创建工程比较麻烦,sketch.ino和main.py需要手动编写,并且需要手动导入 Brick,所以这里采用复制的方式进行。
打开Blink LED,点击复制:

修改main.py的内容如下:
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)
为了防止干扰,可以把sketch.ino中的代码注释掉。

完毕后点击右上角的“Run”运行程序即可。
或者也可以使用以下代码(main.py):
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)
Leds.set_led2_color(0,1,0)
time.sleep(1)
# Turn off the LED (0, 0, 0)
Leds.set_led1_color(0,0,0)
Leds.set_led2_color(0,0,0)
time.sleep(1)
App.run(user_loop=loop)
代码修改完成后直接“Run”即可。
至于如何使用C语言编写应用程序进行控制LED,将在后续编写驱动代码的时候再测试。