3.5. LED-luokka¶
Yksinkertaisin laitteisto kamerassa ovat sen sisäänrakennetut LEDit. Useimmissa piirilevyissä on RGB-LED (punainen, vihreä, sininen). machine.LED on niiden ohjaamiseen tarkoitettu erikoisluokka; ei nastanumeroa, ei vastusta, ei piiriä – haun, virranrajoituksen ja johdotuksen hoitaa kamera itse.
import time
from machine import LED
red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()
Täydellinen laitteiston ”hello world”: tuo luokka, luo ilmentymä värin nimellä, kytke se päälle, odota, kytke se pois. LED palaa näkyvästi viiden sekunnin unen ajan.
Päättävä red.off() on symmetrinen aloittavan red.on() kanssa ja tekee siivouksen nimenomaiseksi. Sisäänrakennetut LEDit myös nollautuvat automaattisesti skriptin päättyessä. Kun skriptit kasvavat, skriptin päättymisen siivoukseen luottaminen muuttuu hauraaksi; jokaisen .on() parittaminen nimenomaisen .off() kanssa on tapa, joka pitää pitkät skriptit ennustettavina.
3.5.1. Konstruktori ja metodit¶
Konstruktori ottaa yhden arvoista "LED_RED", "LED_GREEN" tai "LED_BLUE". Jokainen ilmentymä tarjoaa neljä metodia:
on()– kytke se päälle.off()– kytke se pois.toggle()– vaihda nykyinen tila.value()– ilman argumentteja palauttaa nykyisen tilan (0tai1); yhdellä argumentilla asettaa sen.
Vilkutin, joka käyttää pääsilmukkamallia:
import time
from machine import LED
led = LED("LED_RED")
while True:
led.toggle()
time.sleep_ms(500)
Käytä sisäänrakennettuja LEDejä merkki- ja tilatarkoituksiin: sykäys, joka vilkkuu joka sekunti, punainen välähdys virheen yhteydessä, vihreä pulssi kun sensorin lukema on alueella.