Макетна плата і світлодіод: як не спалити ні LED, ні ESP32
Як влаштована макетна плата, навіщо світлодіоду резистор і як його порахувати. Збираємо перше коло GPIO → резистор → LED → GND і розбираємося зі струмом виводів ESP32.
Про проєкт
Макетна плата (breadboard) дозволяє збирати схеми без паяльника: деталі просто вставляються в отвори. У цьому уроці підключимо зовнішній світлодіод до ESP32 і розберемося з двома речами, на яких спотикаються майже всі новачки: як з'єднані отвори макетки і навіщо потрібен резистор.
Що знадобиться
- ESP32 DevKit
- Макетна плата (half-size або full-size)
- Світлодіод 5 мм (будь-якого кольору)
- Резистор 220 Ом (червоний-червоний-коричневий)
- Перемички «тато-тато»
Як з'єднана макетка
- Робоче поле. Кожен короткий стовпчик із п'яти отворів (a–e і окремо f–j) з'єднаний усередині. Деталь, вставлена в стовпчик 5, з'єднана з усім, що стоїть у стовпчику 5 тієї ж половини.
- Шини живлення вздовж країв (червона «+» і синя «−») з'єднані по всій довжині. На деяких великих макетках шина розірвана посередині, тож перевірте мультиметром.
- Ніжки однієї деталі не можна вставляти в один стовпчик: тоді вони замкнуться між собою.
Схема
GPIO26 ── ряд 5 ──[ 220 Ом ]── ряд 9 ──▶|── ряд 10 ── шина «−» ── GND
(анод, довга ніжка) (катод, коротка)
- Перемичка з GPIO26 у стовпчик 5.
- Резистор 220 Ом зі стовпчика 5 у стовпчик 9.
- Світлодіод: довга ніжка (анод) у стовпчик 9, коротка (катод) у стовпчик 10.
- Перемичка зі стовпчика 10 на шину «−».
- Перемичка з GND ESP32 на ту ж шину «−».
Навіщо резистор
Світлодіод — не лампочка: після напруги відкриття (~2 В для червоного і зеленого, ~3 В для синього й білого) його опір різко падає, і струм обмежує тільки те, що стоїть послідовно. Без резистора струм визначає лише внутрішній опір виводу. Це десятки міліампер, і гинуть або світлодіод, або вихід ESP32.
Розрахунок за законом Ома:
R = (3.3 В − U(LED)) / I = (3.3 − 2.0) / 0.006 ≈ 220 Ом → ~6 мА.
Для ESP32 рекомендований струм одного виводу — до 20 мА, абсолютний максимум — 40 мА. 5–10 мА цілком достатньо для яскравого індикатора.
Код
// Зовнішній світлодіод на GPIO26 через резистор 220 Ом
const int LED_PIN = 26;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH); // довгий спалах
delay(700);
digitalWrite(LED_PIN, LOW);
delay(300);
}
Експерименти в симуляторі
- Замініть резистор на 10 Ом: світлодіод «згорить», а симулятор покаже струм і перевантаження виводу.
- Приберіть резистор зовсім, поставивши перемичку.
- Переверніть світлодіод: у зворотному напрямку він не світиться.
- Поставте 1 кОм: світить тьмяніше, але для індикатора в темній кімнаті цього часто досить.
Що далі
Додайте кнопку, щоб вмикати світлодіод вручну, або потенціометр, щоб плавно змінювати яскравість через ШІМ.