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 (0 lub 1); 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.