Регулировка яркости светодиода с помощью 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() по-прежнему указывает, для чего предназначен контакт.
Задание
ЛегкоКрасный светодиод подключен к выводу 9. Заставь его светиться на четверть полной яркости:
- четверть от 255 — это примерно 64
- запиши это с помощью
analogWrite()
Нажми Run, чтобы посмотреть, а затем Check.
Попробуйте сами
const int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
// здесь установите яркость светодиода на четверть от максимальной
}
void loop() {
// повторять ничего не нужно: вывод продолжает пульсировать сам по себе
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Выходные сигналы
1Яркость
Регулировка яркости светодиода с помощью PWMКонтакты PWM, отмеченные символом ~Плавное включение светодиодаПлавное включение и выключениеРегулятор яркости с ручкойПотренируйтесь самостоятельно: Песочница Arduino