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)
Используйте встроенные светодиоды для индикации и отображения состояния: пульс, мигающий каждую секунду, красная вспышка при ошибке, зелёный импульс, когда показание датчика находится в допустимом диапазоне.