Собственно ничего нового в подключении нескольких кнопок на один вход нет, в зависимости от подоваемого напряжения определяем какая кнопка нажата. А теперь вопрос, как игнорировать одновременное нажатие двух и более кнопок. Пока ничего лучше, чем подобрать реисторы таким образом, чтоб две нажатые кнопки давали напряжение болше чем любая одна, не придумал. Есть ли какие-то проверенные алгоритмы?
чем не угодило простое программное отсечение нажатия двух и более кнопок? Значения при нажатии на отдельные кнопки известны, остальное игнорируем как помехи.
Да вобщем-то об этом я и думал, просто не хотелось изобретать велосипед. А что там с дребезгом, вроде как не должен докучать, но опять же, не будут ли микроимпульсы восприниматься как нажатия на более "низковольтные" кнопки?
Все очень просто. Вот код, для двух кнопок, который выполняется при нажатии только одной кнопки: Код (C++): if (!digitalRead(кнопка 1)&&digitalRead(кнопка 2)) { //здесь выполняется функция, которая работает, когда //нажата кнопка 2 } if (digitalRead(кнопка 1)&&!digitalRead(кнопка 2)) { //здесь выполняется функция, которая работает, когда //нажата кнопка 1 } Думаю для условия из более 2-х кнопок додумаетесь?