3.5. A LED osztály¶
A kamera legegyszerűbb hardvereleme a beépített LED-jei. A legtöbb kártyán van egy RGB LED (vörös, zöld, kék). A machine.LED a vezérlésükre szolgáló dedikált osztály; nincs lábszám, nincs ellenállás, nincs áramkör – a keresést, az áramkorlátozást és a bekötést maga a kamera kezeli.
import time
from machine import LED
red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()
Egy teljes hardveres „hello world”: importáld az osztályt, hozz létre egy példányt a szín nevével, kapcsold be, várj, kapcsold ki. A LED láthatóan világít az ötmásodperces várakozás alatt.
A záró red.off() szimmetrikus a nyitó red.on() hívással, és explicitté teszi a takarítást. A beépített LED-ek automatikusan is visszaállnak, amikor a szkript kilép. Ahogy a szkriptek növekednek, a szkript kilépésekor történő takarításra hagyatkozni törékennyé válik; ha minden .on() hívást egy explicit .off() párral látsz el, az a szokás teszi kiszámíthatóvá a hosszú szkripteket.
3.5.1. Konstruktor és metódusok¶
A konstruktor a "LED_RED", "LED_GREEN" vagy "LED_BLUE" egyikét veszi át. Minden példány négy metódust tesz elérhetővé:
on()– bekapcsolja.off()– kikapcsolja.toggle()– átváltja az aktuális állapotot.value()– argumentum nélkül visszaadja az aktuális állapotot (0vagy1); egy argumentummal beállítja azt.
Egy villogtató, a fő ciklus mintázatát használva:
import time
from machine import LED
led = LED("LED_RED")
while True:
led.toggle()
time.sleep_ms(500)
Használd a beépített LED-eket jelző és állapotjelző célokra: szívverés, amely másodpercenként villan, vörös villanás hiba esetén, zöld pulzálás, amikor egy érzékelő leolvasott értéke a tartományon belül van.