# WIRING.md — схема подключения

## Пин

Светодиод подключён к `GPIO2` — см. [`LED_PIN` в include/led.h](include/led.h#L14).

## Резистор

Светодиод подключается через **токоограничительный резистор 220 Ом**, иначе через
него потечёт слишком большой ток и он перегорит. Сам расчёт номинала (закон Ома,
`R = (Vcc − Vled) / I`) не повторяем здесь — он один и тот же для всех LED-компонентов
репозитория и подробно разобран в
[`Components/2. LED_middle/THEORY.md`, раздел 1](../LED_middle/THEORY.md#1-от-физики-к-коду).

## Принципиальная схема

```text
                 220 Ом
   GPIO2  ───────/\/\/\──────┬──────► Анод светодиода
                              │
                              ▼
                            Катод
                              │
                             GND
```

Анод (длинная ножка светодиода) — через резистор к `GPIO2`. Катод (короткая ножка,
обычно со скошенным краем на корпусе) — к `GND`.

## Почему именно GPIO2, а не любой другой пин

На классическом ESP32 (`esp32dev`) `GPIO2` — так называемый **strapping-пин**: его
уровень при включении платы влияет на режим загрузки. На практике внешний светодиод
на нём почти никогда не мешает старту (он не тянет пин в неверное состояние достаточно
сильно), поэтому именно этот пин исторически используется на большинстве плат ESP32
DevKit как пин встроенного светодиода, и выбран для всех вводных LED-примеров этого
репозитория (см. таблицу strapping/USB-пинов по всем трём платам в
[`Components/2. LED_middle/WIRING.md`](../LED_middle/WIRING.md#почему-не-любые-другие-пины)).

Если на реальном занятии сборка на `esp32dev` не стартует при подключённом на `GPIO2`
светодиоде — переключите `LED_PIN` в [include/led.h](include/led.h#L14) на любой пин
из строки `esp32dev` в этой таблице, кроме перечисленных как избегаемые.

> Плата `esp32c6` в текущей версии ядра Arduino не собирается вообще (баг фреймворка,
> не связан со схемой) — см. предупреждение в [README.md](README.md).
