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