Explication de routine-02-led_control Contrôle LED
# LED 控制例子
#
# 这个例子展示了如何控制你的OpenMV的内置的LED。使用你的手机才能看到红外IR LED。
import time
from pyb import LED
red_led = LED(1)
green_led = LED(2)
blue_led = LED(3)
ir_led = LED(4)
def led_control(x):
if (x&1)==0: red_led.off()
elif (x&1)==1: red_led.on()
if (x&2)==0: green_led.off()
elif (x&2)==2: green_led.on()
if (x&4)==0: blue_led.off()
elif (x&4)==4: blue_led.on()
if (x&8)==0: ir_led.off()
elif (x&8)==8: ir_led.on()
while(True):
for i in range(16):
led_control(i)
time.sleep_ms(500)
Document de fonction pyb.LED() dans le module pyb : [Explication officielle de la fonction du document chinois OpenMV de Startong Technology : ] (https://docs.singtown.com/micropython/zh/latest/openmvcam/library/pyb.LED.html#id1)
Le module pyb ne peut pas être utilisé sur OpenMV RT. Seuls les modules machine suivants peuvent être utilisés :
# LED 控制例子
#
# 这个例子展示了如何控制你的OpenMV的内置的LED。
import time
from machine import LED
red_led = LED("LED_RED")
green_led = LED("LED_GREEN")
blue_led = LED("LED_BLUE")
def led_control(x):
if (x & 1) == 0:
red_led.off()
elif (x & 1) == 1:
red_led.on()
if (x & 2) == 0:
green_led.off()
elif (x & 2) == 2:
green_led.on()
if (x & 4) == 0:
blue_led.off()
elif (x & 4) == 4:
blue_led.on()
while True:
for i in range(8):
led_control(i)
time.sleep_ms(500)
Utiliser PWM pour contrôler les lumières LED sur OpenMV RT :
# LED 控制例子
#
# 这个例子展示了如何控制你的OpenMV的内置的LED。
import time
from machine import PWM
r = PWM("LED_RED", freq=200, duty_u16=65535)
b = PWM("LED_BLUE", freq=200, duty_u16=65535)
g = PWM("LED_GREEN", freq=200, duty_u16=65535)
while True:
for i in range(0, 65536, 256):
r.duty_u16(65535 - i)
time.sleep_ms(10)
r.duty_u16(65535)
for i in range(0, 65536, 256):
g.duty_u16(65535 - i)
time.sleep_ms(10)
g.duty_u16(65535)
for i in range(0, 65536, 256):
b.duty_u16(65535 - i)
time.sleep_ms(10)
b.duty_u16(65535)