Also versuche ich, eine 5-Tasten-Tastatur wie eine Schaltung zu machen, aber mit erhöhtem taktilem Gefühl, also habe ich auf im Laden gekaufte Drucktasten verzichtet. Ich habe Schlüssel mit etwas Aluminiumfolie und Plastikstücken aufgerüstet und diese an 5V angeschlossen. Alle Tasten teilen sich diese 5V. Dann habe ich einige Kontaktpads aus Aluminiumfolie hergestellt, die eine Leitung zwischen zwei Schichten haben. Diese Leitung hatte zwei Drähte, einen, der mit einem der digitalen E / A verbunden war, und einen, der mit einem Widerstand verbunden war, der dann mit Masse verbunden war. Alle Kontakte teilen sich den Widerstand (und damit Masse). Wenn also das Plastikteil mit dem Sandwichteil verbunden wird, wird es zu einem Knopf. Das funktioniert, ich habe es ausprobiert. Was ich nicht beheben kann, ist, dass, wenn ich nur den Pin für Digital 2 anschließe und dann eine beliebige Taste drücke, nicht nur die an Pin 2, ein Drücken registriert wird.
Hier ist der Code, den ich verwende, um nach Pressen zu suchen:
int ledPin = 13;
int val = 0;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
for(int x = 2;x<6;x++){
pinMode(x, INPUT);
}
}
void loop(){
/*for(int x = 2;x<6;x++){
val = digitalRead(x);
if (val == HIGH) {
digitalWrite(ledPin, LOW);
Serial.println(x);
} else {
digitalWrite(ledPin, HIGH);
}
}*/
if(digitalRead(2) == HIGH){
Serial.println("2");
digitalWrite(ledPin, LOW);
} else {
digitalWrite(ledPin, HIGH);
}
}
Der kommentierte Teil sollte nach allen 5 Verbindungen suchen, während der unkommentierte Teil nur nach Pin 2 sucht.
Sie müssen einen Widerstand pro Taste haben. Wenn Sie dies nicht tun, erhöht jeder Tastendruck den gemeinsamen Knoten auf +5 V und alle registrieren den Tastendruck.
Nadjatee1996
MatsK
So I would need an individual resistor to all contacts?
JACan they be connected to a common ground?
JAAlso, do they have to have different resistances?
NEINNadjatee1996
Ignacio Vazquez-Abrams
TD Hofstetter
Nadjatee1996
Ignacio Vazquez-Abrams