Добрый день!
Помогите доработать программу по плавному включению и отключению светодиода кнопкой. Нажал/отпустил - плавно загорелся, нажал/отпустил - плавно погас.
В приложенном скетче реализовал только плавное загорание. Нажал на кнопку - плавно загорелся и если кнопку держать нажатой, то горит. Если отпустить, то плавно гаснет. Что то упускаю, не могу понять. Занимаюсь не долго, просьба камнями не закидывать. Помогите новичку. Заранее спасибо.
int actLed = 0;
int pinLed = 10;
int pinKey = 2;
int y;
Добрый день!
Помогите доработать программу по плавному включению и отключению светодиода кнопкой. Нажал/отпустил - плавно загорелся, нажал/отпустил - плавно погас.
В приложенном скетче реализовал только плавное загорание. Нажал на кнопку - плавно загорелся и если кнопку держать нажатой, то горит. Если отпустить, то плавно гаснет. Что то упускаю, не могу понять. Занимаюсь не долго, просьба камнями не закидывать. Помогите новичку. Заранее спасибо.
int pinLed = 10;
int pinKey = 2;
int y;
void setup() {
pinMode(pinLed, OUTPUT);
pinMode(pinKey, INPUT);
}
void loop() {
while (1) {
y = digitalRead(pinKey);
if ((y == HIGH) && (actLed < 255)) {
for (actLed = 0; actLed <= 254; actLed += 5) {
analogWrite(pinLed, actLed);
delay(30);
}
}
if ((y == LOW) && (actLed > 0)) {
for (actLed <= 254; actLed >= 0; actLed -= 5) {
analogWrite(pinLed, actLed);
delay(30);
}
}
}
}```
Если кнопка активна высоким уровнем, то надо делать соответствующую схему подключения с подтяжкой к GND.
Или делать INPUT_PULLUP - когда активна низким уровнем
Где ваша схема?
Ну и исходную задачу надо уточнить : кратко нажал- нарастает яркость от текущего значения до 255 или нового текущего, ещё раз кратко нажал - убывает от текущего до 0 (нового текущего). Жать можно ведь не дожидаясь конца разжигания или гашения.
Тут очень много чего нужно уточнять: по какому событию (нажатие или отпускание) следует инициализировать процесс, что делать, если кнопку нажали в процессе “включения” или “отключения”, цикл включения/отключения однократный или многократный и т.п. И это даже не говоря о том, что не приведена схема.