взаимное исключение
взаимное исключение
Здраствуйте не могу сообразить как зделать взаимное исключение кнопок т.е. одна сработала на другие не реагирует ит.д
Re: взаимное исключение
Здравствуйте!
Сделать разные ветки алгоритма. Если сработала одна кнопка, то программа ходит по ветке алгоритма, где не реагирует на другие кнопки.
Сделать разные ветки алгоритма. Если сработала одна кнопка, то программа ходит по ветке алгоритма, где не реагирует на другие кнопки.
Rсe: взаимное исключение
спасибо буду пробывать
Re: взаимное исключение
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);
}
}
написал както так но по сути взаимоисключение работает только для первой кнопки (задержку антидребезга не вставлял у меня не кнопки а цифровые датчики) буду примного благодарен за мысли по реализации данного вопроса
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);
}
}
написал както так но по сути взаимоисключение работает только для первой кнопки (задержку антидребезга не вставлял у меня не кнопки а цифровые датчики) буду примного благодарен за мысли по реализации данного вопроса
Вернуться в «Программирование Ардуино»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей