Помочь в написании, подтолкнуть на мысль
- Войдите на сайт для отправки комментариев
Вс, 25/04/2021 - 15:19
Нужно сделать так , что, если все три кнопки не нажаты горит красный светодиод. Нажимаю вторую кнопку должен гореть только желтый. Все остальные комбинации - горит зеленый. (Используя приложенный скетч)
int switchPin1 = 8;
int switchPin2 = 7;
int switchPin3 = 6;
int ledPin1 = 13;
int ledPin2 = 12;
int ledPin3 = 11;
boolean lastButton1 = LOW;
boolean lastButton2 = LOW;
boolean lastButton3 = LOW;
boolean currentButton1 = LOW;
boolean currentButton2= LOW;
boolean currentButton3 = LOW;
boolean ledOn1 = false;
boolean ledOn2 = false;
boolean ledOn3 = false;
void setup()
{
pinMode(switchPin1, INPUT);
pinMode(switchPin2, INPUT);
pinMode(switchPin3, INPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
boolean debounce1 (boolean last)
{
boolean current1 = digitalRead(switchPin1);
if (last != current1)
{
delay(5);
current1 = digitalRead(switchPin1);
}
return current1;
}
boolean debounce2 (boolean last2)
{
boolean current2 = digitalRead(switchPin2);
if (last2 != current2)
{
delay(5);
current2 = digitalRead(switchPin2);
}
return current2;
}
boolean debounce3 (boolean last3)
{
boolean current3 = digitalRead(switchPin3);
if (last3 != current3)
{
delay(5);
current3 = digitalRead(switchPin3);
}
return current3;
}
void loop()
{
currentButton1 = debounce1(lastButton1);
currentButton2 = debounce2(lastButton2);
currentButton3 = debounce3(lastButton3);
if (lastButton1 == LOW && currentButton1 == HIGH)
{
ledOn1 = !ledOn1;
}
lastButton1 = currentButton1;
if (lastButton2 == LOW && currentButton2 == HIGH)
{
ledOn2 = !ledOn2;
}
lastButton2 = currentButton2;
if (lastButton3 == LOW && currentButton3 == HIGH)
{
ledOn3 = !ledOn3;
}
lastButton3 = currentButton3;
digitalWrite(ledPin1, ledOn1);
digitalWrite(ledPin2, ledOn2);
digitalWrite(ledPin3, ledOn3);
}
Откуда они все тащят эту функцию дебонсе? У Гайвера подглядели?
Да ею весь гугл пестрит
Спасибо большое за ответ, но как реализовать это в рамках данной программы, куда вставлять ( понятно что в цикл loop)? Я просто второй день всего за ардуино и совсем не силен. P.S. дебанус у джереми блюма подсмотрел
1000р
kakmycmail@gmail.com
Дешевле и проще не разобраться )
Дешевле и проще не разобраться )
Самостоятельно вообще бесплатно
Спасибо большое за ответ, но как реализовать это в рамках данной программы, куда вставлять ( понятно что в цикл loop)? Я просто второй день всего за ардуино и совсем не силен. P.S. дебанус у джереми блюма подсмотрел
Была просьба подтолкнуть - я подтолкнул ))
Дешевле и проще не разобраться )
Могу помочь. И доплачу.
Бармалей -толкач :)))
Помощь это дело бравое
500р
ob268@mail.ru