Гайд · Светодиоды · Электроника
Всё о скромном светодиоде
Светодиод — первое, что все мигают, и первое, что все сжигают. За крошечным свечением — настоящая физика: цвет задаёт полупроводник, каждому цвету нужно своё напряжение, а один резистор держит его в живых. Вот всё это, с готовыми номиналами резисторов для ESP32 и Arduino.
Почему светодиоды разных цветов
Цвет светодиода никак не связан с пластиком корпуса — прозрачный LED может светить красным, а цветной — белым. Цвет задаёт материал полупроводника крошечного кристалла внутри: разные материалы испускают фотоны разной энергии, а энергия фотона и есть цвет. Поэтому нельзя просто «перекрасить» светодиод.
| Цвет | Полупроводник | Рабочее напряжение (Vf) |
|---|---|---|
| Инфракрасный | GaAs | ~1,2–1,6 В |
| Красный | AlGaInP | 1,8–2,2 В |
| Оранжевый | AlGaInP | 2,0–2,2 В |
| Жёлтый | AlGaInP | 2,0–2,2 В |
| Зелёный | GaP / InGaN | 2,0–3,2 В |
| Синий | InGaN | 3,0–3,4 В |
| Белый | InGaN + люминофор | 3,0–3,4 В |
| УФ | AlGaN | 3,2–3,8 В |
Про белый: «белого» полупроводника нет — белый LED это синий кристалл с жёлтым люминофором, что в сумме даёт белый.
Что внутри 5 мм светодиода
Светодиод — не просто цветной пластик, а маленькая оптическая машина. Свет рождается в полупроводниковом кристалле меньше миллиметра, что держит отражающая чашка, направляя свет вперёд; соединён он тончайшим золотым проводником (бондингом) и сфокусирован эпоксидной линзой. Два вывода не взаимозаменяемы: длинный — анод (+), короткий, у плоской грани корпуса — катод (−).
Почему у каждого цвета своё напряжение
Когда идёт ток, электроны падают на более низкий энергоуровень и испускают фотон. Более синему, высокоэнергичному фотону нужен больший перепад энергии — а значит, выше рабочее напряжение (Vf). Поэтому красный ~2 В, а синий, белый и УФ требуют 3–3,8 В. Это напрямую важно на 3,3 В ESP32: синий или белый LED уже близко к шине, ему нужен лишь маленький резистор (а красному — чуть больше).
Как подобрать резистор
Никогда не подключай LED прямо к пину. Светодиод почти не ограничивает свой ток, так что без резистора он тянет слишком много и сгорает (и нагружает пин). Резистор задаёт ток по закону Ома — вычти рабочее напряжение LED из питания и раздели на нужный ток:

// Резистор для светодиода: R = (Vпитания − Vf) / I
//
// Красный LED (Vf ≈ 2.0 В) при 10 мА на пине ESP32 3.3 В:
// R = (3.3 − 2.0) / 0.010 = 130 Ом → берём 150 Ом (ближайший)
// Тот же красный LED на пине Arduino 5 В:
// R = (5.0 − 2.0) / 0.010 = 300 Ом → берём 330 Ом
void setup() {
ledcAttach(2, 5000, 8); // GPIO2, 5 кГц, 8 бит — аппаратный PWM-диммер
}
void loop() {
for (int d = 0; d <= 255; d++) { ledcWrite(2, d); delay(4); } // разгар
for (int d = 255; d >= 0; d--) { ledcWrite(2, d); delay(4); } // затухание
} Целься в 5–15 мА для обычного индикатора (пин ESP32 в любом случае держи под ~20 мА; см. 3,3 В против 5 В). Чтобы не считать каждый раз — вот повседневные номиналы (синий/белый LED при 10 мА):
| Питание | Резистор | Мощность |
|---|---|---|
| 3,3 В (ESP32) | 33 Ом | ¼ Вт |
| 5 В (Arduino) | 220 Ом | ¼ Вт |
| 9 В | 620 Ом | ¼ Вт |
| 12 В | 910 Ом | ¼ Вт |
| 24 В | 2,2 кОм | ½ Вт |
| 230 В AC | 24 кОм | 5 Вт (нужен мост) |
Быстрое правило: на пине 3,3 В ESP32 бери 33–100 Ом; на пине 5 В Arduino — 220–330 Ом. Хочешь плавную регулировку вместо вкл/выкл? Рули пином через аппаратный PWM — резистор остаётся тем же.
Подключаешь LED к плате? Нарисуй в браузере и экспортируй чистую схему.