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

Вопросы программирования в системе Ардуино
александр
Сообщения: 3
Зарегистрирован: 18 янв 2019, 16:45

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

Сообщение александр » 18 янв 2019, 17:37

Здраствуйте не могу сообразить как зделать взаимное исключение кнопок т.е. одна сработала на другие не реагирует ит.д


Эдуард
Администратор
Сообщения: 484
Зарегистрирован: 30 окт 2016, 20:53

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

Сообщение Эдуард » 18 янв 2019, 18:46

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

александр
Сообщения: 3
Зарегистрирован: 18 янв 2019, 16:45

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

Сообщение александр » 19 янв 2019, 11:13

спасибо буду пробывать

александр
Сообщения: 3
Зарегистрирован: 18 янв 2019, 16:45

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);
}
}
написал както так но по сути взаимоисключение работает только для первой кнопки (задержку антидребезга не вставлял у меня не кнопки а цифровые датчики) буду примного благодарен за мысли по реализации данного вопроса


Вернуться в «Программирование Ардуино»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя