ШИМ-диммирование светодиода - Аналоговый выход на ESP32
Узнайте, как плавно управлять яркостью светодиода с помощью широтно-импульсной модуляции (ШИМ) - технологии, которая заставляет цифровые выводы работать как аналоговые выходы!
🔌 Что такое ШИМ?
Широтно-импульсная модуляция (ШИМ) - это технология, которая создаёт иллюзию аналогового напряжения с помощью быстрого цифрового переключения вкл/выкл. Вместо подачи постоянного напряжения, ШИМ быстро переключается между ВЫСОКИМ (3,3В) и НИЗКИМ (0В) уровнями.
- 0% коэффициент заполнения = Всегда ВЫКЛ (светодиод выключен)
- 50% коэффициент заполнения = Половину ВКЛ, половину ВЫКЛ (светодиод на 50% яркости)
- 100% коэффициент заполнения = Всегда ВКЛ (светодиод на полной яркости)
Поскольку переключение происходит тысячи раз в секунду, наши глаза воспринимают плавный, стабильный уровень яркости, а не мерцание.
⚡ Преимущества ШИМ на ESP32
ESP32 имеет значительно более мощные возможности ШИМ по сравнению с Arduino Uno:
| Характеристика | Arduino Uno | ESP32 |
|---|---|---|
| Каналы ШИМ | 6 (фиксированные выводы) | 16 независимых |
| Диапазон частот | ~490Гц или ~980Гц | 1Гц - 40МГц |
| Разрешение | 8-бит (0-255) | До 16-бит (0-65535) |
| Гибкость выводов | Только определённые выводы | ЛЮБОЙ GPIO вывод |
analogWrite(). Сначала необходимо настроить каналы ШИМ!
📊 Понимание коэффициента заполнения ШИМ
График ниже показывает, как различные коэффициенты заполнения влияют на среднее выходное напряжение: