Jaecko
23.10.2006, 12:28
Hallo.
Wollte mal nachfragen, ob meine Theorie zum Anschluss einer
Matrixtastatur (z.b. an einen AVR) richtig ist.
Annahme: eine 3x3 Matrixtastatur (Nummernblock 1-9).
Die einzelnen Pins (AVR) nenn ich hier einfach mal r1, r2, etc.
r1: Reihe 1 = 1, 2, 3
r2: Reihe 2 = 4, 5, 6
r3: Reihe 3 = 7, 8, 9
s1: Spalte 1 = 1, 4, 7
s2: Spalte 2 = 2, 5, 8
s3: Spalte 3 = 3, 6, 9
r1-r3: Ausgänge
s1-s3: Eingänge
Die Pins s1-s3 mit je einem Widerstand auf 5V hochziehen.
Alle Ausgänge auf 5V / High legen.
Dann nacheinander r1, r2, r3 auf Low legen.
Abfrage mit If-Block:
If r1 = 0 AND s1 = 0 THEN Taste = 1
If r1 = 0 AND s2 = 0 THEN Taste = 2
If r1 = 0 AND s3 = 0 THEN Taste = 3
If r2 = 0 AND s1 = 0 THEN Taste = 4
If r2 = 0 AND s2 = 0 THEN Taste = 5
If r2 = 0 AND s3 = 0 THEN Taste = 6
If r3 = 0 AND s1 = 0 THEN Taste = 7
If r3 = 0 AND s2 = 0 THEN Taste = 8
If r3 = 0 AND s3 = 0 THEN Taste = 9
Dann die Frage der Ansteuerung einer LED-Matrix:
Alle 6 Pins sind Ausgänge; Anordnung der LEDs soll
gleich sein mit der der Tasten.
LED-Anoden (+) angeschlossen an r1-r3.
LED-Kathoden (-) angeschlossen über Widerstand an s1-s3
Alle LEDs aus: Alle Pins auf 0V oder alle auf 5V (egal?)
Soll z.B. LED 4 leuchten: r1 = 0, r2 = 1, r3 = 0, s1 = 0, s2 = 1, s3 = 1
Bei LED 9 müsste es dann r1 = 0, r2 = 0, r3 = 1, s1 = 1, s2 = 1, s3 = 0 sein.
(Wobei halt r1-r3 auch wieder nacheinander gesetzt werden)
Stimmt die Theorie hier soweit?
mfg
Jäcko
Wollte mal nachfragen, ob meine Theorie zum Anschluss einer
Matrixtastatur (z.b. an einen AVR) richtig ist.
Annahme: eine 3x3 Matrixtastatur (Nummernblock 1-9).
Die einzelnen Pins (AVR) nenn ich hier einfach mal r1, r2, etc.
r1: Reihe 1 = 1, 2, 3
r2: Reihe 2 = 4, 5, 6
r3: Reihe 3 = 7, 8, 9
s1: Spalte 1 = 1, 4, 7
s2: Spalte 2 = 2, 5, 8
s3: Spalte 3 = 3, 6, 9
r1-r3: Ausgänge
s1-s3: Eingänge
Die Pins s1-s3 mit je einem Widerstand auf 5V hochziehen.
Alle Ausgänge auf 5V / High legen.
Dann nacheinander r1, r2, r3 auf Low legen.
Abfrage mit If-Block:
If r1 = 0 AND s1 = 0 THEN Taste = 1
If r1 = 0 AND s2 = 0 THEN Taste = 2
If r1 = 0 AND s3 = 0 THEN Taste = 3
If r2 = 0 AND s1 = 0 THEN Taste = 4
If r2 = 0 AND s2 = 0 THEN Taste = 5
If r2 = 0 AND s3 = 0 THEN Taste = 6
If r3 = 0 AND s1 = 0 THEN Taste = 7
If r3 = 0 AND s2 = 0 THEN Taste = 8
If r3 = 0 AND s3 = 0 THEN Taste = 9
Dann die Frage der Ansteuerung einer LED-Matrix:
Alle 6 Pins sind Ausgänge; Anordnung der LEDs soll
gleich sein mit der der Tasten.
LED-Anoden (+) angeschlossen an r1-r3.
LED-Kathoden (-) angeschlossen über Widerstand an s1-s3
Alle LEDs aus: Alle Pins auf 0V oder alle auf 5V (egal?)
Soll z.B. LED 4 leuchten: r1 = 0, r2 = 1, r3 = 0, s1 = 0, s2 = 1, s3 = 1
Bei LED 9 müsste es dann r1 = 0, r2 = 0, r3 = 1, s1 = 1, s2 = 1, s3 = 0 sein.
(Wobei halt r1-r3 auch wieder nacheinander gesetzt werden)
Stimmt die Theorie hier soweit?
mfg
Jäcko