Плавное включение светодиода
Часть раздела Выходные сигналы путешествия по Arduino на Coddy. Урок 3 из 24.
Переменная может хранить значение яркости. Каждый раз, когда выполняется loop(), записывайте его на светодиод, немного увеличивайте и подождите немного. Светодиод становится ярче шаг за шагом:
int brightness = 0;
void loop() {
analogWrite(9, brightness);
brightness = brightness + 5;
if (brightness > 255) {
brightness = 0;
}
delay(30);
}Значение яркости находится в начале скетча, как и счётчик нажатий, поэтому оно сохраняет своё значение от одного выполнения loop() до следующего. Если создать его внутри loop(), каждый раз оно снова было бы равно 0.
255 — наибольшее значение, которое принимает analogWrite(), поэтому if начинает затухание заново с 0, как только яркость превышает его.
Шаг и задержка задают скорость: около 50 шагов по 30 мс занимают полторы секунды.
Задание
ЛегкоПусть светодиод на выводе 9 снова и снова плавно загорается:
- храни яркость в переменной, объявленной выше
setup(), начиная с 0 - в
loop()запиши её с помощьюanalogWrite(), прибавь 5 и подожди 30 мс - когда значение превысит 255, установи его обратно на 0
Нажми Run и наблюдай за светодиодом, затем нажми Check.
Попробуйте сами
const int ledPin = 9;
// создайте здесь переменную яркости с начальным значением 0
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
// задайте яркость, прибавьте 5, после 255 начните снова, подождите 30 мс
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Выходные сигналы
1Яркость
Регулировка яркости светодиода с помощью PWMКонтакты PWM, отмеченные символом ~Плавное включение светодиодаПлавное включение и выключениеРегулятор яркости с ручкойПотренируйтесь самостоятельно: Песочница Arduino