Кодовый замок
- Войдите на сайт для отправки комментариев
Ср, 25/11/2020 - 17:57
Здравствуйте, мне нужно чтоб при одном нажатии на 3 кнопки загорался светодиод, а если нажатий больше одного будет включаться зуммер. Проблема с зуммером, он работает постоянно и не выключается, как это исправить?
const int btn[]={5,6,7}; const int red=2; const int green=3; const int buzz=4; int k1=0; int k2=0; int k3=0; int s=0; int currbtn1=0; int prevbtn1=0; int currbtn2=0; int prevbtn2=0; int currbtn3=0; int prevbtn3=0; void setup() { pinMode(btn[0], INPUT); pinMode(btn[1], INPUT); pinMode(btn[2], INPUT); pinMode(green, OUTPUT); pinMode(red, OUTPUT); pinMode(buzz, OUTPUT); } void loop() { digitalWrite(red,HIGH); currbtn1=digitalRead(btn[0]); currbtn2=digitalRead(btn[1]); currbtn3=digitalRead(btn[2]); digitalWrite(buzz,LOW); if(currbtn1 !=prevbtn1){ if (currbtn1 == HIGH) { k1++; } } prevbtn1=currbtn1; if(currbtn2 !=prevbtn2){ if (currbtn2 == HIGH) { k2++; } } prevbtn2=currbtn2; if(currbtn3 !=prevbtn3){ if (currbtn3 == HIGH) { k3++; } } prevbtn3=currbtn3; if (k1==1 && k2==1 && k3==1){ digitalWrite(red,LOW); digitalWrite(green,HIGH); delay(500); digitalWrite(red,HIGH); digitalWrite(green,LOW); k1=0; k2=0; k3=0; } else if (k1>1 && k2>1 && k3>1) { tone(buzz,250,50); } }
Вопрос: после срабатывания зуммера нажатий становится больше одного, меньше одного или ровно одно?
Вопрос: после срабатывания зуммера нажатий становится больше одного, меньше одного или ровно одно?
Кажется понял в чем ошибка.. Не было зануления нажатий в условии с зуммером