Menu
CoddyTech

Регулировка яркости светодиода с помощью PWM

Часть раздела Выходные сигналы путешествия по Arduino на Coddy. Урок 1 из 24.

digitalWrite() знает два уровня: включено или выключено. Чтобы светодиод светился тускло, плата включает и выключает контакт сотни раз в секунду. Глаз не может уследить за мерцанием и видит среднее значение: контакт, который включён четверть времени, выглядит вчетверть ярче.

Этот приём называется PWM (широтно-импульсная модуляция). Доля времени, в течение которой контакт включён, называется его коэффициентом заполнения.

analogWrite(pin, value) задаёт его числом от 0 до 255:

analogWrite(9, 0);    // всегда выключен
analogWrite(9, 64);   // включён четверть времени
analogWrite(9, 127);  // включён примерно половину времени
analogWrite(9, 255);  // всегда включён

После записи значения плата самостоятельно продолжает импульсно включать и выключать контакт, даже во время delay(), пока ты не задашь новое значение. analogWrite() самостоятельно переводит контакт в режим выхода; pinMode(9, OUTPUT) в setup() по-прежнему указывает, для чего предназначен контакт.

challenge icon

Задание

Легко

Красный светодиод подключен к выводу 9. Заставь его светиться на четверть полной яркости:

  • четверть от 255 — это примерно 64
  • запиши это с помощью analogWrite()

Нажми Run, чтобы посмотреть, а затем Check.

Попробуйте сами

const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
  // здесь установите яркость светодиода на четверть от максимальной
}

void loop() {
  // повторять ничего не нужно: вывод продолжает пульсировать сам по себе
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Выходные сигналы

Потренируйтесь самостоятельно: Песочница Arduino