Как подключить светодиод к Arduino
Светодиод подключается к цифровому выводу через резистор, вторым концом — к GND:
вывод 9 → резистор 220–330 Ом → длинная ножка светодиода (анод) → короткая ножка (катод) → GND
const int LED = 9;
void setup() {
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH); // включить
}
void loop() {
}digitalWrite(LED, LOW) выключает светодиод.
Полярность
Светодиод пропускает ток только в одну сторону:
- анод (+) — длинная ножка, к выводу Arduino (через резистор);
- катод (−) — короткая ножка, со стороны катода край корпуса срезан; к
GND.
Если ножки уже подрезаны, смотрите на срез корпуса или внутрь светодиода: у многих катод внутри — более широкая пластинка. Надёжнее — проверить мультиметром в режиме проверки диодов.
Зачем резистор
Без резистора ток ограничивает только сопротивление самого вывода. Ток получается больше допустимого, и сгорают светодиод или вывод платы — сразу или со временем. Красному светодиоду на 5 В подходит 330 Ом: ток (5 − 2) / 330 ≈ 9,1 мА. Синему и белому — 220 Ом: (5 − 3) / 220 ≈ 9,1 мА. Расчёт и таблица — в справке Какой резистор нужен для светодиода.
Резистор можно поставить и до светодиода, и после — между катодом и GND: в последовательной цепи ток один.
Плавная яркость
Если вывод отмечен ~ (на Uno и Nano — 3, 5, 6, 9, 10, 11), яркость можно менять функцией analogWrite от 0 до 255:
const int LED = 9;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
for (int b = 0; b <= 255; b++) { // разгорается
analogWrite(LED, b);
delay(5);
}
for (int b = 255; b >= 0; b--) { // гаснет
analogWrite(LED, b);
delay(5);
}
}Несколько светодиодов
Каждому светодиоду — свой резистор и свой вывод. Один общий резистор на несколько параллельных светодиодов не ставят: ток распределится неравномерно, и одни будут гореть ярче других.
Один вывод Uno R3 рекомендуется нагружать не больше 20 мА, а у всего микроконтроллера суммарный предел — 200 мА, и подходить к нему близко не стоит. Несколько индикаторных светодиодов по 5–10 мА — нормально, а светодиодная лента или мощный светодиод на 1 Вт — нет: им нужен транзистор и отдельное питание.
Не горит
- Перевёрнут — поверните светодиод.
- Обе ножки в одной пятёрке макетной платы — они замкнуты между собой; переставьте в разные.
- Нет
pinMode(…, OUTPUT)— вывод остался входом. - Скетч управляет не тем выводом: номер в коде и провод на плате должны совпадать.
- Перегорел — проверьте другой светодиод.