Страница 1 из 1

взаимное исключение

Добавлено: 18 янв 2019, 17:37
александр
Здраствуйте не могу сообразить как зделать взаимное исключение кнопок т.е. одна сработала на другие не реагирует ит.д

Re: взаимное исключение

Добавлено: 18 янв 2019, 18:46
Эдуард
Здравствуйте!
Сделать разные ветки алгоритма. Если сработала одна кнопка, то программа ходит по ветке алгоритма, где не реагирует на другие кнопки.

Rсe: взаимное исключение

Добавлено: 19 янв 2019, 11:13
александр
спасибо буду пробывать

Re: взаимное исключение

Добавлено: 05 фев 2019, 16:34
александр
const int buttonPin[] = {2,3,4,5};
const int ledPin[] = {9,10,11,12};





void setup() {
for(int i=0; i<4; i++)
{
pinMode(ledPin[i], OUTPUT);
digitalWrite(ledPin[i], HIGH);
pinMode(buttonPin[i], INPUT);
}
}

void loop() {boolean btFree=true;

for(int i=0; i<4; i++)
{
if (digitalRead(buttonPin[i]) == HIGH)
{
digitalWrite(ledPin[i], LOW);
btFree=false;
break;

}if (btFree)

digitalWrite(ledPin[i], HIGH);
}
}
написал както так но по сути взаимоисключение работает только для первой кнопки (задержку антидребезга не вставлял у меня не кнопки а цифровые датчики) буду примного благодарен за мысли по реализации данного вопроса