- 12V Akku mit 280 Ah bauen         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 27 von 27

Thema: mehrere Potis plus Tastatur abfragen an M-Unit 2.0

  1. #21
    Neuer Benutzer Öfters hier
    Registriert seit
    31.05.2006
    Beiträge
    23
    Anzeige

    Powerstation Test
    Zitat Zitat von Suggarman
    Ich frage mich allerdings, wofür man so viele Potis benötigt und ob man das programmtechnisch nicht eleganter lösen könnte.
    Hallo Stefan,

    ich habe 4 "Joystik"-Potis, über eine mechanische Umsetzung soll an einem bestimmten Punkt eine bestimmte LED angehen. Ich habe also 4 Flächen, die bewegt werden koennen, die Aktionen auslösen. Bei der Bewegung sind alle 4 Richtungen ausschlaggebend, daher die Joystick -Potis. Für jede Achse ein Poti = 8 Potis. Da ich aber noch Empfindlichkeit der Bewegung und die Dauer der Aktion einstellen muss sinds schon 10.

    Ich fürchte da wird Softwaretechnisch wenig möglich sein

  2. #22
    Neuer Benutzer Öfters hier
    Registriert seit
    31.05.2006
    Beiträge
    23

    Multiplexer ?

    Hallo,

    ich muss diesen uralt Thread nochmal wiederbeleben wegen einer ähnlichen Geschichte:

    Ich habe nun 25 Taster, die an eine C-Control angeschlossen werden sollen. Nun hab ich mir schonmal diese Tastaturmatrix angesehen und befürchte fast, dass der Aufbau mit 5x5 Tastern nicht möglich wird, weil die Messbereiche zwischen den WIderständen zu klein werden. Soweit richtig ?

    Mit einem Multiplexer wäre mein Problem gelöst, allerdings bin ich scheinbar zu dämlich. Ich hab mir die Schaltbilder ettliche male angesehen und ich komm einfach nicht dahinter, wie ich die Kanäle ansteuern soll und wie ich dann sehen kann, welcher Taster gedrückt wurde.

    Könnte mir das jemand kurz umschreiben oder gibts am Ende schon eine Schaltung ?

    Vielen Dank schonmal, Grüße
    Endress

  3. #23
    Neuer Benutzer Öfters hier
    Registriert seit
    31.05.2006
    Beiträge
    23
    Eine mögliche Lösung ist wohl, einfach zweimal 4x4 Tastaturmatrizen an zwei verschiedenen Analogeingängen zu nutzen. Ich werde das wohl auch so realisieren, aber die Frage nach dem Multiplexer hat sich damit nicht erübrigt, ich würde es zumindest gerne verstehen, damit ich es beim nächsten mal auch umsetzen kann.

    Niemand mehr da der mir helfen kann ?

  4. #24
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.01.2006
    Beiträge
    101

    Matrix key

    Hallo

    vielleicht kann ich dir bei den Matrixkeys helfen.
    wenn du 5x5 Tasten hast, brauchst du 10 ports (es sei denn man verwendet einen Treiber dazwischen, so mache ich es)

    Du steuerst jede Spalte nach einander an, und liest dann die Reihen.
    Also erste Spalte ansteuern (auf Masse ziehn) dann Reihe lesen.
    Wenn in der Reihe alle Werte log. 1 sind, ist in der 1. Spalte keine Taste gedrückt. Ist einer der Werte log. 0, dann wurde eine Taste gedrückt, welche erkennst du, welcher port auf log. 0 liegt

    Wenn keine taste gedrückt wurde (alle Werte log. 1) dann steuerst du die nächste Reihe an (ziehst die 2. Spalte auf log. 0, lässt die 1. Spalte wieder auf log. 1 zurück kommen) und so fähst du mit allen Spalten fort.

    Schau dir mal das Beispiel an
    Code:
    '-------------------------------------------------
    '--------------- DECODE COL ----------------------
    '-------------------------------------------------
    FUNCTION DEC(VALUE as byte)
    define KEY as byte
    define OFFSET as byte
    KEY=255
    if (VALUE and F0h) = 11100000b then OFFSET=0
    VALUE=VALUE and 0Fh
    if VALUE=00001110b then KEY=1+OFFSET
    if VALUE=00001101b then KEY=5+OFFSET
    if VALUE=00001011b then KEY=9+OFFSET
    if VALUE=00000111b then KEY=13+OFFSET
    IF KEY=10 THEN KEY=0
    OFFSET=OFFSET+1
    RETURN KEY
    END FUNCTION
    '------------------------------------------------
    '---  TASTATURDECODER PCF8574 - 4x4 MATRIX     --
    '-------------------------------------------------
    FUNCTION GET_MATRIX_KEY()
    define EXTPORT byteport[10]
    define KEY as byte
    '--------- DECODE COLUMN 1    1-5-9-C     --   diese "wandernde" 0 wählt die Spalten aus
    EXTPORT=11101111b
    KEY=DEC(EXTPORT)
    if KEY<>255 then goto EXIT
    '--------- DECODE COLUMN 2    2-6-0-D     --
    EXTPORT=11011111b
    KEY=DEC(EXTPORT)
    if KEY<>255 then goto EXIT
    '--------- DECODE COLUMN 3    3-7-A-E     --
    EXTPORT=10111111b
    KEY=DEC(EXTPORT)
    if KEY<>255 then goto EXIT
    '--------- DECODE COLUMN 2    4-8-B-F    --
    EXTPORT=01111111b
    KEY=DEC(EXTPORT)
    #EXIT
    RETURN KEY
    END FUNCTION
    zugegeben das ist nicht ganz einfach, aber wenn man den code verstanden hat, kann man beliebig große Matrizen basteln (zumindest software technisch)

    Ach ja noch was dazu:
    Eine mögliche Lösung ist wohl, einfach zweimal 4x4 Tastaturmatrizen an zwei verschiedenen Analogeingängen zu nutzen
    matrizen werden an digitalports angeschlossen, nicht an analog ports.

    Gruß
    Jörn

  5. #25
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hallo Jörn,
    matrizen werden an digitalports angeschlossen, nicht an analog ports.
    Bei mir funktionieren sie auch prima am A/D-Wandler (natürlich mit ein paar Widerständen).

    Gruß Dirk

  6. #26
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.01.2006
    Beiträge
    101
    Hallo Dirk, das überrascht mich in der tat, wie realisierst du das? Steuerst du über digitalports die Spalten an und liest die Reihe dann per analogport ein?

    Gruß
    Jörn

  7. #27
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Nee, alles nur analog.
    Z.B. so:
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken adc-tastatur_115.jpg  

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress