TASTATUR-MATRIX-3X4 analog oder lieber digital ?

Hallo @ all ich habe eine TASTATUR-MATRIX-3X4 und will sie an mein Arduino Duemilanove darn haben ich habe schon versucht das analog mit verschiden widerständen so das ich nur 1 pin belegt habe aber das klappt nicht so ! wie kann ich das am besten machen ? ich möchte so viele digitale pin´s frei haben für mein LCD und mehr !

http://www.conrad.de/ce/de/product/709840/TASTATUR-MATRIX-3X4

MfG FasT.

Analog geht das nicht.

Du hast eine Matrix von 3x4 also zB: 4 Reihen und 3 Spalten. Du brauchst zB 7 PIN des Arduino: 4 Ausgänge und 3 Eingänge. Der Reihe nach legst Du einen Ausgang auf H (die anderen sind L) und liest die 3 Eingänge. Du kannst das auch mit einem Port Expander Typ PCF8475 machen. http://www.nxp.com/documents/data_sheet/PCF8574.pdf

Grüße Uwe

hallo UWE danke für die schnelle antwort kann ich den ic auch für mein LCD benutzen und andere sachen ??

kann ich den ic auch für mein LCD benutzen und andere sachen ??

Wenn du Ports sparen willst, kuck mal hier:

The basic idea is to group the 7 pins that are needed to drive the LCD in only 3 using a shift register.

http://www.arduino.cc/playground/Code/LCD3wires

sind die ic teuer ?? weil wenn sie jetzt zu viel kosten kann ich mir ja auch ein mega kaufen aber 50 ? habe ich gerade leider nicht über =)

In kleinen Mengen ca 1.50 - 2 Euro pro Chip. Wenn du welche brauchst, schreib mir ne PM, ich hab grad Lagerräumung :)

Hallo Uwefed,

kennst Du den Unterschied zwischen dem PCF8574P und dem PCF8574AP ?

Hallo Megaionstorm

Der Unterschied ist nur im Fixteil der Slave-Adresse; der normale Typ hat 0 1 0 0 a2 a1 a0 der A-Typ hat 0 1 1 1 a2 a1 a0 Auf diese Weise kann man 16 Port Expander (8 normale Typen und 8 A-Typen) an einem Bus benutzen, nicht nur 8.

The PCF8574 and PCF8574A versions differ only in their slave address as shown in Fig.9. http://www.datasheetcatalog.org/datasheet/philips/PCF8574P.pdf

Grüße Uwe

Hallo Uwefed,

das bedeutet also das ich 8 PCF8574P hintereinander schalten kann und dahinter kann ich dann nochmal 8 PCF8574AP schalten ? Den AP benötige ich also erst wenn ich mindestens 9 PCF8574 hintereinander schalten will ?

Ja, Du kannst auch mixen. Am I2C Bus kann man bis zu 127 Slaves anschließen und jeder muß einen eindeutige Adresse haben. Der normale Typ mit 3 Adressleitungen kann 8 Verschiedene Adresswerte annehmen; Der A-Typ kann aun wieder 8 andere Adresswerte annehmen. Du mußt nicht nur A- oder normale typen nehmen DU kannst auch nach Lust und Laune mischen (je nachedem was Du hast).

Wenn Du soviele IC an den I2C BUS hängst, kann es sein, daß Du Treiber brauchst.

Grüße Uwe

Gut, dann werde ich mir nächste Woche ein paar PCF 8574 P, 74HC164 und 74HC165 kaufen und damit üben.

Megaionstorm, wenn du 74hc brauchst, meld dich.

Analog geht das nicht.

Mich will und will diese Aussage einfach nicht loslassen. Ich grüble und grüble… :wink: Aus dem Datenblatt von Conrad werde ich nicht schlau, da dort nur ein Platinenlayout als “Schaltplan” angezeigt wird.

Ich will darauf hinaus, daß man doch vielleicht mit R2R Netzwerk, ggf. mit gewichteten Widerständen eben doch nur einen Port braucht.

3 Eingänge, diese mit Spannungsteilern auf je 1/3 der 5 V teilen.
Dann die 4 Ausgänge über R2R “analogisieren”.

Ich glaube ihr wisst schon auf was ich hinauswill. Aber vielleicht bin ich total auf dem Holzweg :slight_smile:

Aber wenn sowas realisierbar wäre, wäre der Rest nur noch Software.

mmh kann das nicht doch mit anglog klappen weil analog brauch ich nicht soviele noch nicht.

Vielleicht währe ein ACDC oder DCAC Wandler die Lösung ?

ACDC- oder DCAC-Wandler? Weißt du eigentlich, wovon du da sprichtst? ;) Am einfachsten ist wohl der ACDC-Wandler zu erklären, das wäre dann ein Brückengleichrichter... Ich nehme an, du redest hier von einem ADC oder einem DAC also einem Analog-Digital-Wandler und einem Digital-Analog-Wandler. So wie die Platine des Conrad-Moduls aussieht, kann man kein Widerstandsnetzwerk aufbauen, fürchte ich. Aber man kann die Leiterbahnen der Platine auftrennen, den Lötstopplack abkratzen und direkt verkabeln.

Ja genau. Ich meinte eigentlich von Analog und Digital oder umgekehrt. Und nicht von Gleichstrom nach Wechselstrom ...

Kann passieren !

Wozu einen Analog-Digital-Wandler (ADC) ? Der Arduino hat mehrere davon drinnen. Das war glaub auch die erste Frage in diesem Thread, ob man die Tastaturmatrix so verschalten kann, daß je nach gedrückter Taste eine andere analoge Spannung an dem Ausgang anliegt.

Daher kam ich auf die Idee, die 5V in 3 Teilspannungen zu zerlegen um sie der Tastaturmatrix als Eingänge zuzuführen. Dann dachte ich mir man könne die 4 Ausgänge der Tastaturmatrix mittels R2R - Widerstandsnetzwerk wiederrum in eine (binär) abgestufte Analogspannung umwandeln (DAC).

Ich habe nun leider im Moment keinen Zugriff auf meinen ganzen Elektronikkruscht und heute und morgen kaum Zeit, daher beschränkt sich mein Beitrag hierzu auf blanke Theorie. Ihr wisst immer noch nicht was ich meine ?

Ziel des ganzen ist 3 x 4 verschiedene Ausgangsspannungen zu haben, welche mittels eines Analogeinganges des Arduinos ausgewertet zu werden.

Hätt ich so eine 3x4 Matrix da (UND) Zugriff auf meine Elektroniksachen, dann hätte ich die entsprechende Schaltung längst ausprobiert. Ich behaupte: Es geht :wink:

Vielleicht habe ich kommende Woche ein wenig Zeit, dann versuch ich mal eine Schaltung aufzuzeichenen. Und Vielleicht hat ja der ein oder andere zufällig so eineTastaturmatrix da und baut mal geschwind auf nem Breadboard dann so etwas auf. Ich wäre begeistert wenn so was funktionieren kann und die Schaltung könnte dann für alle nützlich sein.

Wie versprochen,

nun, ich habe da mal meine Gedanken in einen konkreten Schaltplan gehüllt. Ich muss dazusagen, daß das R2R Netzwerk auf der rechten Seite eigentlich 0 oder 1 erwartet... Diese Schaltung ist aber nicht terminiert. Daher weiss ich nicht mehr was da am Ausgang rauskommt ;)

Bestimmt haben die Spezialisten eine weiterführende Idee...

Gute Idee, hier ist ein Link der auch noch in diese Richtung geht: http://www.avr-asm-tutorial.net/avr_de/keypad/keyboard.html#adc mit nur 7 Widerständen + 1 Kondensator.