MicroPython之LED (基于pyboard)
MicroPython
针对pyboard
提供了一个类LED
(发光二极管),用于驱动pyboard板上的LED
。LED
对象控制单个LED
。
构造函数
class pyb.LED(id)
函数说明:创建一个LED
灯对象,其中id
表示LED
序号,取值范围1-4
,pyboad
上有4
个LED
灯。
方法
LED.intensity([value])
函数说明:设置LED
的亮度,value取值为0
(关闭)~255
(开启)。如果不指定value
的值,则返回LED
灯的亮度。如果指定value
的值,那么就设置LED
亮度并返回None
。
Note: 只有LED(3)
和LED(4)
才能具有平滑的变化强度(即只有LED(3)
和LED(4)
才支持LED.intensity([value])
这个函数。),他俩使用定时器PWM
来实现。LED(3)
使用定时器2
,LED(4)
使用定时器3
。如果在LED3,4
的亮度设置为1
和254
之间的情况下,则对应的定时器2,3
会配置为PWM
模式,此时不可以配置这俩定时器为其他模式。当LED3,4
没有配置亮度时候,定时器2,3是可自由使用的。
LED.off()
函数说明:关闭LED
LED.on()
函数说明:打开LED
LED.toggle()
函数说明:切换LED
,即切换亮度0
或255
。如果LED
的亮度为非0
,那么则认为LED
是打开的,toggle
则会关闭LED
。
例子
from pyb import LED # 从 pyb 导入 LED 模块
import time
LED4 = LED(4) # 创建对象
LED4.off() # 关闭 LED4
time.sleep_ms(1000)
LED4.on() # 打开 LED4
time.sleep_ms(1000)
LED4.off() # 关闭 LED4
time.sleep_ms(1000)
LED4.toggle() # 切换LED
time.sleep_ms(1000)
LED4.intensity(100) # 设置亮度
time.sleep_ms(1000)
print(LED4.intensity()) # 获取亮度