3.5. A classe LED

A peça de hardware mais simples da câmera são seus LEDs embarcados. A maioria das placas tem um LED RGB (vermelho, verde, azul). machine.LED é a classe dedicada para controlá-los; sem número de pino, sem resistor, sem circuito – a busca, a limitação de corrente e a fiação são tratadas pela própria câmera.

import time
from machine import LED

red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()

Um “hello world” completo de hardware: importe a classe, construa uma instância com o nome da cor, ligue-a, espere, desligue-a. O LED fica visivelmente aceso durante a pausa de cinco segundos.

O red.off() final é simétrico ao red.on() inicial e torna a limpeza explícita. Os LEDs embarcados também são reiniciados automaticamente quando o script termina. À medida que os scripts crescem, depender da limpeza no encerramento do script fica frágil; fazer cada .on() ter seu .off() explícito é o hábito que mantém scripts longos previsíveis.

3.5.1. Construtor e métodos

O construtor recebe um de "LED_RED", "LED_GREEN" ou "LED_BLUE". Cada instância expõe quatro métodos:

  • on() – liga-o.

  • off() – desliga-o.

  • toggle() – inverte o estado atual.

  • value() – sem argumentos, retorna o estado atual (0 ou 1); com um argumento, define-o.

Um pisca-pisca, usando o padrão de laço principal:

import time
from machine import LED

led = LED("LED_RED")

while True:
    led.toggle()
    time.sleep_ms(500)

Use os LEDs embarcados para fins de indicação e status: um heartbeat que pisca a cada segundo, um flash vermelho em caso de erro, um pulso verde quando uma leitura de sensor está dentro da faixa.