Код для управления лампочкой

24 Окт 2020
8
-2
Оформи код соответствующим тэгом или сообщение будет удалено
Помогите пожалуйста у меня есть код и я хочу чтобы при нажатой кнопке это условие выполнялось ровно 1 сек а когда отпускаешь тоже секунду.
void setup() {
pinMode(A5, INPUT_PULLUP);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}

void loop() {
boolean button1 = !digitalRead(A5);

if (button1 == 1) digitalWrite(11, 1);
else digitalWrite(11, 0);

if (button1 == 0) digitalWrite(12, 1);
else digitalWrite(12, 0);

}
 
24 Окт 2020
8
-2
Оформи код соответствующим тэгом или сообщение будет удалено
Вот если что я код написал пользуйтесь.
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
pinMode(A5, INPUT_PULLUP);
pinMode(7, OUTPUT);
pinMode(12, OUTPUT);
}

boolean btn_active = 0;
boolean button1 = 0;

void loop() {
button1 = !digitalRead(A5);
if (btn_active == 0) {
if (button1 == 1) {
digitalWrite(12, 1);
btn_active = 1;
delay(1000);
digitalWrite(12, 0);
}
}
else {
if (button1 == 0) {
btn_active = 0;
}
button1 = !digitalRead(A5);
if (btn_active == 1) {
if (button1 == 0) {
digitalWrite(7, 1);
btn_active = 0;
delay(1000);
digitalWrite(7, 0);
}
}
else {
if (button1 == 1) {
btn_active = 1;
}
}
}
}
 
Изменено:

Nikanor

★✩✩✩✩✩✩
1 Окт 2020
132
48
@JIGSAW, без нормальной обработки дребезга контактов работать ваша система корректно не будет.
 
  • Лойс +1
Реакции: Wan-Derer