Matrixtastatur am Arduino - Entkoppelung

Gast #6661025
Hallo,

ich betreibe eine Matrixtastatur am Arduino, wie im Anhang skizziert. 
Die Eingänge (Spalten) sind auf Pullup konfiguriert. Die Ausgänge 
(Zeilen) sind im Ruhezustand auf HIGH. Ich lege nacheinander jeden 
Ausgang auf active low und prüfe, welcher Eingang einen Low Pegel hat 
und kann daraus auf gedrücke Taste(n) schliessen.

Das funktioniert soweit gut, nur gibt es genau dann ein Problem, wenn in 
einer Spalte mehrere Tasten gedrückt werden. Ich vermute, dass das Low 
Signal der aktiven Zeile über die in einer anderen Zeile gedrückte Taste 
an einen anderen Ausgang abfliesst und damit nicht mehr am Eingang 
ankommt.

Wie entkoppelt man am besten die Zeilen gegeneinander? Mit einer Diode 
wie in der letzten Zeile mit Fragezeichen angedeutet? Wenn ja würde ich 
idealerweise eine LED mit passendem Vorwiderstand nehmen, oder gibt es 
dann beim Eingang Probleme mit dem Signal? Oder muss da eine andere 
Entkoppelungsschaltung her?

Sehr vielen Dank für eure Antworten!
Angehängte Dateien:
Gast
BastlervordemHerren schrieb:
> Wie entkoppelt man am besten die Zeilen gegeneinander? Mit einer Diode

Ja.

> wie in der letzten Zeile mit Fragezeichen angedeutet?

Nein, die Diode kommt direkt in eine Zuleitung an jeden Taster.

> Wenn ja würde ich
> idealerweise eine LED mit passendem Vorwiderstand nehmen,

Nein, zu hoher Spannungsabfall.
Gast
BastlervordemHerrn schrieb:
> Die Polungsrichtung der Dioden würde dann aber so passen?

Ja

Und jetzt kommt mein aber: Benutze an den Eingängen lieber externe 
Pull-Up Widerstände, die mehr Strom fließen lassen. Denn die Kontakte 
der Taster funktionieren in der Regel länger gut, wenn sie höher 
belastet werden.

Falls du im Datenblatt der Taster keine Angabe zum mindest-Strom 
(wetting current) findest, empfehle ich irgendwas zwischen 1 und 5 mA.
Gast
Stefan ⛄ F. schrieb:
>
> Und jetzt kommt mein aber: Benutze an den Eingängen lieber externe
> Pull-Up Widerstände, die mehr Strom fließen lassen. Denn die Kontakte
> der Taster funktionieren in der Regel länger gut, wenn sie höher
> belastet werden.
>

Danke schön, Stefan!

Trifft das auch auf Reed Switches zu?
Gast
Stefan ⛄ F. schrieb:
> BastlervordemHerrn schrieb:
>> Trifft das auch auf Reed Switches zu?
>
> Die Frage hatte ich auch mal, aber dazu habe ich keine Antwort gefunden.

Hallo Stefan,

hier und im Folgenden gibt es dazu etwas:

Beitrag "Re: Mindeststrom bei Taster/Schalter für sicheren Betrieb?"

Scheint auch Sinn zu machen, denn wenn das Grundproblem Oxydation ist, 
die weggebrannt werden muß, sind Reedkontakte natürlich per Def. davon 
erstmal nicht betroffen...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.