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