Перейти к содержанию

ШИМ-диммирование светодиода - Аналоговый выход на 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 вывод
Важно: ESP32 использует другой подход, чем простая функция Arduino analogWrite(). Сначала необходимо настроить каналы ШИМ!
📊 Понимание коэффициента заполнения ШИМ

График ниже показывает, как различные коэффициенты заполнения влияют на среднее выходное напряжение:

Интерактивная визуализация — доступна в полном уроке

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя