подскажите по кнопке
- Войдите на сайт для отправки комментариев
Пт, 13/04/2018 - 23:55
int x = 0;
int y = 1;
void setup() {
pinMode(2, INPUT);
pinMode(3, OUTPUT);
}
void loop() {
boolean button1 = digitalRead(2);
if(button1 == 1){
if(x == 0){
x = x+y;
}
}
if(button1 == 1){
if(x == 1){
x = x+y;
}
}
if(button1 == 1){
if(x == 2){
digitalWrite(3, HIGH);
}
}
}
Здраствуйте, можете подсказать, как сделать так, чтобы кнопка считала 1 нажатие за 1 клик? Т.е, если нажал на кнопку, сколько бы не держал, то ардуина считала бы, что ты быстро нажал и отпустил. А то просто так, если долго держать, то на 3 пин идет HIGH. Заранее спасибо.
Здраствуйте, можете подсказать, как сделать так, чтобы кнопка считала 1 нажатие за 1 клик? Т.е, если нажал на кнопку, сколько бы не держал, то ардуина считала бы, что ты быстро нажал и отпустил. А то просто так, если долго держать, то на 3 пин идет HIGH. Заранее спасибо.
о_О
Клапауций 555, +100500
Добавить переменную-флаг, в которой запоминать состояние и проверять в условии if вместе с кнопкой.
byte x=0; byte flag=0; void setup() { pinMode(2, INPUT); pinMode(3, OUTPUT); } void loop() { boolean button1 = digitalRead(2); if(button1==HIGH && flag==0){ if (x == 2) { digitalWrite(3, HIGH); } x++; flag=1; } if(button1==LOW && flag==1){ flag=0; } }