-         

Ergebnis 1 bis 2 von 2

Thema: Tastatur/LED-Matrix so richtig?

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987

    Tastatur/LED-Matrix so richtig?

    Anzeige

    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

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.04.2006
    Ort
    Berlin
    Beiträge
    162
    Also das mit den Tastern müsste stimmen jedoch würde ich ein else vor den if-Abfragen schreiben (außer der ersten).

    Bei den LEDs musst du Transistoren verwenden, da ein Ausgang keine 3 Leds verträgt, vermute ich mal.
    Alle LEDs aus wäre dann: r1-r3 = 0 und s1-s3 = 1 .
    Was aber egal wäre, wenn du jedes mal beim setzen einer LED alles veränderst.
    Der Rest stimmt ebenfalls.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •