3.5. Класс LED

Простейшее оборудование на камере – её встроенные светодиоды. На большинстве плат есть RGB-светодиод (красный, зелёный, синий). machine.LED – это специализированный класс для управления ими; ни номера вывода, ни резистора, ни схемы – поиск, ограничение тока и разводку берёт на себя сама камера.

import time
from machine import LED

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

Полноценный аппаратный «hello world»: импортируйте класс, создайте экземпляр с названием цвета, включите его, подождите, выключите. Светодиод заметно горит во время пятисекундной паузы.

Завершающий red.off() симметричен открывающему red.on() и делает очистку явной. Встроенные светодиоды также автоматически сбрасываются при завершении скрипта. По мере роста скриптов полагаться на очистку при выходе становится ненадёжно; привычка делать так, чтобы каждый .on() имел парный явный .off(), сохраняет предсказуемость длинных скриптов.

3.5.1. Конструктор и методы

Конструктор принимает одно из значений "LED_RED", "LED_GREEN" или "LED_BLUE". Каждый экземпляр предоставляет четыре метода:

  • on() – включить.

  • off() – выключить.

  • toggle() – переключить текущее состояние.

  • value() – без аргументов возвращает текущее состояние (0 или 1); с одним аргументом задаёт его.

Мигалка с использованием шаблона главного цикла:

import time
from machine import LED

led = LED("LED_RED")

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

Используйте встроенные светодиоды для индикации и отображения состояния: пульс, мигающий каждую секунду, красная вспышка при ошибке, зелёный импульс, когда показание датчика находится в допустимом диапазоне.