Светодиод - простейший индикатор, который можно использовать для отладки кода: его можно включить при срабатывании условия или просто подмигнуть. Также светодиод может сигнализировать о текущем режиме или состоянии устройства.
![]() |
В наборе GyverKIT | START | IOT | EXTRA |
---|---|---|---|---|
Светодиод 5мм | ✔ |
Светодиод питается током, а не напряжением, и в целом ведёт себя как диод - имеет такую же нелинейную ВАХ:
- Светодиод в цепи нельзя "заменить резистором", потому что он ведёт себя иначе, нелинейно
- Полярен - при неправильном подключении светить не будет
- Имеет характеристику максимального тока, на котором может работать. Для обычных 3 и 5 мм светодиодов это обычно 20 мА
- Имеет характеристику "падение напряжения" или "прямое напряжение" (Forward Voltage), его величина зависит от излучаемого цвета. У красных светодиодов падение составляет ~2.5V, у синих, зелёных и белых ~3.5V. Более точную информацию можно узнать из документации на конкретный светодиод
Полярность #
Как определить плюс (анод) и минус (катод) светодиода? Плюсовая нога длиннее, со стороны минусовой ноги бортик чуть срезан, а сам электрод внутри светодиода - крупнее:
Питание #
Если питать светодиод напряжением ниже его прямого напряжения, то яркость будет не максимальная и здесь никаких драйверов не нужно. То есть красный светодиод можно без проблем питать от пальчиковой батарейки (1.5V). В то же время, кристалл может деградировать со временем (и от нагрева) и прямое напряжение уменьшится, что приведёт к росту тока при том же напряжении питания. Как только мы превышаем прямое напряжение - нужно стабилизировать питание, а именно - ток.
В простейшем случае для обычного светодиода ставят резистор, номинал которого нужно рассчитать по формуле: R = (Vcc - Vf) / I
, где Vcc
это напряжение питания, Vf
- прямое напряжение, I
- ток светодиода, а R
- искомое сопротивление резистора. Посчитаем резистор для обычного 5 мм светодиода красного цвета при питании от 5V на максимальной яркости (2.5 В, 20 мА): (5 - 2.5) / 0.02 = 125
Ом. Для синего и зелёного цветов получится 75 Ом.
Яркость светодиода нелинейно зависит от тока, поэтому "на глаз" при 10 мА яркость будет практически такая же, как на 20 мА, и величину сопротивления можно увеличить для снижения тока. А вот уменьшать нельзя, как и подключать вообще без резистора. В большинстве уроков и проектов в целом для обычных светодиодов всех цветов ставят резистор номиналом 220 Ом. С резистором в 1 кОм светодиод тоже будет светиться, но уже заметно тусклее. Таким образом, при помощи резистора можно аппаратно задать яркость светодиода.
Можно собрать следующую схему - ограничить максимальную яркость резистором (двумя по 220, дадут 110 Ом) и дополнительно поставить последовательно потенциометр на 10 кОм. Вращая рукоятку, можно будет получить сопротивление от 110 Ом до 10 кОм и соответствующую яркость при разном токе. Светодиод будет светить даже на очень небольшом токе - это его очень полезная особенность.
Для питания мощных светодиодов используют драйверы - источники тока. Драйвер подбирает такое напряжение, чтобы в цепи установился заданный ток.
Подключение к Arduino #
Светодиод подключается анодом к цифровому пину через резистор, как было описано выше:
Программирование #
Связанные уроки:
Для управления используются функции, которые подают сигнал на пин:
digitalWrite(..)
- для полного включения и выключения светодиодаanalogWrite(..)
- для настройки яркости
Классический "блинк" с внешним светодиодом на пине 3
(схема выше):
#define LED_PIN 3
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}
Библиотеки #
Можно использовать библиотеку GyverBlinker для запуска асинхронного мигания светодиодом на нужное количество раз:
#include <Blinker.h>
Blinker led(13);
void setup() {
// мигнуть 5 раз, 700мс вкл, 400мс выкл
led.blink(5, 700, 400);
}
void loop() {
led.tick();
}
Видео #
Дополнительно #
Полезные страницы #
- Набор GyverKIT – наш большой стартовый набор Arduino, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
- Поддержать автора за работу над уроками