3.5. LED-klassen¶
Den enklaste hårdvarudelen på kameran är dess inbyggda LED:er. De flesta kort har en RGB-LED (röd, grön, blå). machine.LED är den dedikerade klassen för att styra dem; inget stiftnummer, inget motstånd, ingen krets – uppslagningen, strömbegränsningen och kopplingen sköts av kameran själv.
import time
from machine import LED
red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()
Ett komplett hårdvarans ”hello world”: importera klassen, skapa en instans med färgens namn, slå på den, vänta, slå av den. LED:n lyser synligt under de fem sekundernas sömn.
Det avslutande red.off() är symmetriskt med det inledande red.on() och gör uppstädningen explicit. De inbyggda LED:erna återställs också automatiskt när skriptet avslutas. När skript växer blir det skört att förlita sig på uppstädning vid skriptavslut; att låta varje .on() paras med ett explicit .off() är vanan som håller långa skript förutsägbara.
3.5.1. Konstruktor och metoder¶
Konstruktorn tar ett av "LED_RED", "LED_GREEN" eller "LED_BLUE". Varje instans exponerar fyra metoder:
on()– slå på den.off()– slå av den.toggle()– växla det aktuella tillståndet.value()– utan argument, returnera det aktuella tillståndet (0eller1); med ett argument, ställ in det.
En blinkare, med huvudslingmönstret:
import time
from machine import LED
led = LED("LED_RED")
while True:
led.toggle()
time.sleep_ms(500)
Använd de inbyggda LED:erna för indikator- och statusändamål: en hjärtslagspuls som blinkar varje sekund, en röd blixt vid fel, en grön puls när en sensoravläsning ligger inom intervallet.