Резистивная клавиатура, принцип работы, код из видео

Резистивная клавиатура или о том, как подключить кучу кнопок на один аналоговый вход ардуины. Код из этого видео.

 

analogKeyboardплата в формате .lay
номиналы резисторов можно подсмотреть на схеме LCD шилда.

код

byte key(){  
  int val = analogRead(0);
    if (val < 50) return 1;
    else if (val < 150) return 2;
    else if (val < 350) return 5;
    else if (val < 500) return 4;
    else if (val < 800) return 3;
    else return 0;  
}

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.print(key());
  Serial.print(" ");
  Serial.println(sensorValue);
  delay(1);        // delay in between reads for stability
}