Arduino vertauscht Taster?
Hallo, ich bin gerade an einem Arduino Projekt mit Tastern. Ich habe mehrere Taster. Sie teilen sich GND und 5v. Das Problem ist, das der Arduino die Taster nicht richtig erkennt. Also, 2 ist gedrückt, führt aber Befehl für 1 aus. Aber beim nächsten mal führt der Arduino zb Befehl 3 aus, wenn 1 gedrückt ist. Was kann ich tun? Viele Grüße
Noch ein Bild der Schaltung
2 Antworten
Die linke Seite jedes Tasters ist mit der unteren, roten Schiene verbunden. Dort liegen +5V an. Das passt soweit. Die rechte Seite jedes Tasters ist jeweils mit einem bestimmten Eingang des Arduinos verbunden - passt auch - und gleichzeitig mit der oberen, roten Schiene. Und hier wird es seltsam.
Es ist nicht genau zu erkennen, aber die obere, rote Schiene scheint über einen 220-Ohm-Widerstand mit der oberen, blauen Schiene verbunden zu sein. Diese wiederum ist mit Masse (GND) verbunden. Im Normalfall liegt also auch die obere, rote Schiene auf Masse und somit liegt über den Taster an jedem Eingang des Arduinos ein LOW-Signal an.
Wenn du jetzt aber einen beliebigen Taster drückst, liegt auch auf der rechten Seite des Tasters +5V an. Und damit liegt auch auf der gesamten oberen, roten Schiene +5V. Und damit liegt auch an der rechten Seite jedes anderen Tasters +5V und an jedem Eingang vom Arduino ein HIGH-Signal. Wenn du also einen beliebigen Taster drückst, ist es so, als würdest du alle gleichzeitig drücken.
Entferne die obigen Verbindungen. Verbinde die rechte Seite jedes Tasters über einen eigenen Widerstand direkt mit der oberen, blauen Masse-Schiene. Wähle einen hochohmigeren Widerstand (~10 kOhm); es sollen ja keinen nennenswerten Ströme fließen, sondern nur Masse anliegen.
Probier ich morgen aus. Schon mal ein riesen Danke für die gute Erklärung! Viele Grüße
Pegelwiderstände vielleicht vergessen, ein Eingang sollte nie "offen" sein..