3.5. Klasa LED¶
Najprostszym elementem sprzętu kamery są jej wbudowane diody LED. Większość płytek ma diodę RGB (czerwoną, zieloną, niebieską). machine.LED to dedykowana klasa do ich sterowania; bez numeru pinu, bez rezystora, bez obwodu – wyszukiwanie, ograniczanie prądu i okablowanie obsługuje sama kamera.
import time
from machine import LED
red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()
Kompletne sprzętowe „hello world”: zaimportuj klasę, utwórz instancję z nazwą koloru, włącz ją, poczekaj, wyłącz. Dioda LED widocznie świeci przez pięciosekundowy sen.
Końcowe red.off() jest symetryczne wobec początkowego red.on() i czyni sprzątanie jawnym. Wbudowane diody LED resetują się także automatycznie po zakończeniu skryptu. W miarę rozrastania się skryptów poleganie na sprzątaniu przy wyjściu ze skryptu staje się zawodne; przyzwyczajenie, by każdemu .on() towarzyszyło jawne .off(), pozwala utrzymać przewidywalność długich skryptów.
3.5.1. Konstruktor i metody¶
Konstruktor przyjmuje jedną z wartości "LED_RED", "LED_GREEN" lub "LED_BLUE". Każda instancja udostępnia cztery metody:
on()– włącza ją.off()– wyłącza ją.toggle()– przełącza bieżący stan.value()– bez argumentów zwraca bieżący stan (0lub1); z jednym argumentem ustawia go.
Migacz wykorzystujący wzorzec głównej pętli:
import time
from machine import LED
led = LED("LED_RED")
while True:
led.toggle()
time.sleep_ms(500)
Wbudowanych diod LED używaj do celów sygnalizacyjnych i informowania o stanie: bicie serca migające co sekundę, czerwony błysk przy błędzie, zielony impuls, gdy odczyt sensora mieści się w zakresie.