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)

Використовуйте вбудовані світлодіоди як індикатори та для відображення стану: серцебиття, що блимає кожну секунду, червоний спалах при помилці, зелений імпульс, коли показання датчика знаходяться в допустимому діапазоні.