Arduino: как опросить много кнопок по трём проводам
Собственно возникла задача, как опросить много кнопок, используя как можно меньше проводов. В итоге задача решается при помощи обычных резисторов: 100кОм подтягивающего, и по 1 кОм на каждую кнопку (кроме первой) для уменьшения напряжения. Читать соответственно будем через аналоговый вход. Принципиальная схема подключения выглядит примерно так (потенциально расширяема до примерно 500 кнопок):

Ну и скетч соответственно:
int analogPin = A0;
int val = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(analogPin);
if (val>0){
Serial.println(val);
delay(100);
};
}
Из потенциальных проблем вижу сложности с обработкой нажатий нескольких кнопок одновременно и возможные изменения значений кнопок при «просадке» напряжения на плате.