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