текущийстатускнопки
Я пытаюсь использовать кнопки мгновенного нажатия для переключения двухцветного светодиода между КРАСНЫМ и ЗЕЛЕНЫМ. У меня есть один рабочий, но когда я пытаюсь адаптировать код для большего количества кнопок, он не работает. Я просто меняю номера кнопок (которые определены).
Компилируется и загружается без ошибок.
void loop() {
byte currentButton1Status = digitalRead(button1);
if (currentButton1Status == button1Status)
lastEqualButtonTime = millis();
else if ((millis() - lastEqualButtonTime) > debounceTimeMs)
{
lastEqualButtonTime = millis();
button1Status = currentButton1Status;
if (button1Status == LOW) {
digitalWrite(17, !digitalRead(17));
digitalWrite(16, !digitalRead(16));
}
}
byte currentButton2Status = digitalRead(button2);
if (currentButton2Status == button2Status)
lastEqualButtonTime = millis();
else if ((millis() - lastEqualButtonTime) > debounceTimeMs)
{
lastEqualButtonTime = millis();
button2Status = currentButton2Status;
if (button2Status == LOW) {
digitalWrite(15, !digitalRead(15));
digitalWrite(14, !digitalRead(14));
}
}
}
@user31208, 👍-3
1 ответ
Лучший ответ:
▲ 1
Вы только сказали "... это не работает", что не дает многого для продолжения, но первое, что я вижу, что может способствовать тому, что это не работает так, как (я думаю) вы ожидаете, это только одна переменная lastEqualButtonTime
для обеих кнопок (она глобальная? Я не вижу определения). Я думаю, вам понадобится по одной для каждой.
,
@JRobert
Смотрите также:
- Наилучший метод проектирования схемы с 20 кнопками
- Возникла проблема с переобъявлением символа другого типа
- Несколько кнопок для управления реле
- Нужна помощь в создании кода, который перемещает двигатель постоянного тока CW или CCW с помощью двух разных кнопок
- Включается долгим нажатием кнопки?
- Arduino Mega, 6 кнопок для каждого аналогового входа (A0-A9) - закрытие одной приводит к чтению другим
- Сохранение значения одним кликом
- Как запустить 3 режима работы, для каждой операции есть отдельная кнопка для выбора режима в Arduino?