Цифровой выход: управляем внешним светодиодом
Выводим управление за пределы платы — к настоящему светодиоду на макетке.
Цифровой выход — режим вывода GPIO, в котором он выдаёт одно из двух напряжений: 3.3 В (логическая 1) или 0 В (логический 0).
Схема подключения
Светодиод нельзя подключать к выводу напрямую — он сгорит от слишком большого тока. Нужен токоограничивающий резистор. Вот схема:
GPIO23 ----[ R 330 Ом ]----|>|---- GND
светодиод
(длинная ножка +)Длинная ножка светодиода (анод) идёт к резистору и пину, короткая (катод) — к земле.
Считаем резистор
По закону Ома: R = (U_питания − U_светодиода) / I. Для красного светодиода падение ~2 В, желаемый ток ~10 мА. Посчитаем на обычном Python:
u_supply = 3.3 # вольт, выход ESP32
u_led = 2.0 # падение на красном светодиоде
i_target = 0.010 # 10 мА в амперах
r = (u_supply - u_led) / i_target
print("Нужен резистор:", round(r), "Ом")
print("Берём ближайший стандартный: 130-150 Ом, безопасно 220-330 Ом")Вывод:
Нужен резистор: 130 Ом Берём ближайший стандартный: 130-150 Ом, безопасно 220-330 Ом
На практике берут 220–330 Ом: светодиод чуть тусклее, зато ток заведомо безопасен и для пина, и для диода.
Код управления
from machine import Pin
import time
led = Pin(23, Pin.OUT)
# Плавно «дышим» вкл/выкл с разной паузой
for delay in (0.1, 0.2, 0.4, 0.8):
led.on()
time.sleep(delay)
led.off()
time.sleep(delay)Как работает под капотом
Внутри ESP32 каждый GPIO в режиме выхода подключён к паре транзисторов (push-pull). При value(1) верхний транзистор соединяет ножку с 3.3 В, при value(0) нижний — с землёй. Максимальный ток одного вывода ограничен (около 12–40 мА в зависимости от настройки), поэтому мощную нагрузку (мотор, лента) напрямую не подключают — для этого нужны транзисторы или реле, о которых поговорим в проектах.
Частые ошибки
- Подключить светодиод без резистора. Сгорит либо светодиод, либо вывод чипа.
- Перепутать полярность. Светодиод пропускает ток только в одну сторону; если не горит — переверните.
- Вешать мощную нагрузку прямо на пин. Реле и моторы превышают допустимый ток — нужен ключ.
Итог
- Цифровой выход выдаёт 3.3 В или 0 В.
- Светодиод подключают через токоограничивающий резистор (220–330 Ом — безопасно).
- Один вывод выдаёт ограниченный ток; мощную нагрузку коммутируют через реле или транзистор.