Ви не увійшли.
успеха, будьте внимательней )
NoName, Спасибо большое)) Понял о чем вы, исправил все работает, не заметил сразу)
ну ладно смотрим алгоритм
void loop () {
если на входе 0 (кнопка нажата )и статус ноль то
if ((digitalRead(button1) == 0() && (knopka_a == 0) {
идем сюда и выводим 1
knopka_a = 1;
Serial.print("1");
}
если кнопка1 отпушена на входе 1 но статус кнопки 2 в 1 то снимаем признак кнопки 2
if (digitalRead(button1) == 1 && knopka_b == 1) knopka_b = 0;
думаю что статусы попутали, пива хочу, не хочу ковырять чужой алгоритм, )
точно так должно быть ????
if (digitalRead(button1) == 1 && knopka_b == 1) knopka_b = 0;
кнопка 1 но статус кнопки 2?
delay(100);
}
NoName, Тоже самое, изначально так и было это я уже экспериментировал.
Так переменная переходит в истину но в порт дальше льет 1
knopka_a == 1;
исправить на
knopka_a = 1;
knopka_b =1;
Подскажите пожалуйста взял из другого скетча там работает именно однократное нажатие, в таком случае не работает в порт при зажатой кнопки постоянно валит 1 или 2, при отладке заметил что переменная knopka_a и knopka_b даже не переходит в 1! Что не так?
int button1 = 7;
int button2 = 8;
int knopka_a = 0;
int knopka_b = 0;
void setup () {
Serial.begin(9600);
pinMode(button1, INPUT);
digitalWrite(button1, 1);
pinMode(button2, INPUT);
digitalWrite(button2, 1);
}
void loop () {
if (digitalRead(button1) == 0 && knopka_a == 0) {
knopka_a = 1;
Serial.print("1");
}
if (digitalRead(button2) == 0 && knopka_b == 0) {
knopka_b = 1;
Serial.print("2");
}
if (digitalRead(button1) == 1 && knopka_b == 1) knopka_b = 0;
if (digitalRead(button2) == 1 && knopka_a == 1) knopka_a = 0;
delay(100);
}