3.5. Třída LED¶
Nejjednodušším kusem hardwaru na kameře jsou její palubní LED. Většina desek má RGB LED (červená, zelená, modrá). machine.LED je vyhrazená třída pro jejich ovládání; žádné číslo pinu, žádný rezistor, žádný obvod – vyhledání, omezení proudu a zapojení obstará samotná kamera.
import time
from machine import LED
red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()
Kompletní hardwarové „hello world“: importujte třídu, vytvořte instanci s názvem barvy, zapněte ji, počkejte, vypněte ji. LED viditelně svítí po dobu pětisekundového spánku.
Závěrečné red.off() je symetrické k úvodnímu red.on() a činí úklid explicitním. Palubní LED se také automaticky resetují při ukončení skriptu. Jak skripty rostou, spoléhání na úklid při ukončení skriptu se stává křehkým; zvykem, který udržuje dlouhé skripty předvídatelnými, je párovat každé .on() s explicitním .off().
3.5.1. Konstruktor a metody¶
Konstruktor přijímá jednu z hodnot "LED_RED", "LED_GREEN" nebo "LED_BLUE". Každá instance vystavuje čtyři metody:
on()– zapne ji.off()– vypne ji.toggle()– překlopí aktuální stav.value()– bez argumentů vrátí aktuální stav (0nebo1); s jedním argumentem jej nastaví.
Blikač využívající vzor hlavní smyčky:
import time
from machine import LED
led = LED("LED_RED")
while True:
led.toggle()
time.sleep_ms(500)
Palubní LED používejte pro indikační a stavové účely: tep, který bliká každou sekundu, červené bliknutí při chybě, zelený pulz, když je hodnota ze senzoru v rozsahu.