Forum: Mikrocontroller und Digitale Elektronik Tasterfeld 10*20 an AVR schliessen, welche ICs?


von maxdemian (Gast)


Angehängte Dateien:

Lesenswert?

Hallo erstmal,

ich hab keine Ahnung von Mikrocontrollern etc.
Aber ich möchte für ein Projekt das verwirklichen was auf der Zeichung 
zu sehen ist.

Ich verteile auf einem feld ganz viele Taster, am liebsten 10*20 Stück.

Diese Taster sollen live am Computer einfache Befehle ausführen, also in 
meinem Fall möchte ich wenn ich den Taster ganz links oben drück, das Am 
Monitor gaz links oben einfach ein Farbiges Rechteck erscheint.

Jetz hab ich mit einem freund geredet welcher sich bereit erklärt hat 
den µC für mich zu programmieren wenn ich ihm allen daten geb die 
aussenrum sind.
und das windows programm schreib ich dann auch selber wobei ich das auch 
hinbekommen sollte :D.

so jetzt ist meine Frage:

Wie baue ich die Matrix auf, welche ICS brauche ich da damit ich die 
nachher an das AVR schliessen kann?

Anmerkung: Die Matrix muss nicht perfekt laufen, d.h. wenn es mal einen 
fehler gibt und irgentwelche taster erkannt werde die nicht gedrückt 
werden etc.(hab gelesen das solche fehler vorkommen können). dann geht 
meine welt nicht unter.


Vielen dank

liebe grüße
max

von Philipp (Gast)


Lesenswert?

Die taster, schaltur... kannst du auch mit einigen widerständen an den 
avr anschließen, du brauchst nur einen oder mehrere mit entsprechend 
vielen portpins oder googel nah porterweiterung

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Die grobe Richtung:

Du baust eine Matrix aus den Tasten ähnlich einer LED-Matrix (einen 
Artikel Tastenmatrix haben wir noch nicht).

Auf die Zeilen gibst du im Multiplexbetrieb nacheinander Spannung. Da es 
viele Zeilen sind, brauchst du eine Porterweiterung für Ausgänge
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Porterweiterung_f.C3.BCr_Ausg.C3.A4nge

Wenn eine Zeile Spannung hat, fragst du nacheinander die Eingänge der 
Spalten ab, ob Spannung anliegt, d.h. genau die eine Taste am 
Schnittpunkt Zeile/Spalte gedrückt ist. Da es viele Spalten sind 
brauchst du eine Porterweiterung für Eingänge
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Porterweiterung_f.C3.BCr_Eing.C3.A4nge

Das wäre die Lösung mit wenigen Pins am µC. Wenn du am µC mehr Pins zur 
Verfügung hast, kannst du die Eingänge oder die Ausgänge statt über die 
Porterweiterung direkt an den µC anschliessen.

Die erhaltenen Daten kannst du dann z.B. seriell über RS232 (oder 
RS232-USB-Konverter) in den PC schaffen.

Das ist aber kein Anfängerprojekt. Da gehen Monate rein, bis das 
richtig läuft!

von MaWin (Gast)


Lesenswert?

Am einfachsten: Eine fertige Computertastatur nehmen, ob USB oder PS/2, 
und andere tasten anlöten.

Ansonsten: Abgucken wie die das da drin aufbauen: Du findest darin 
NICHTS ausser dem Microcontroller. Der hat 10 Leitungen zur Tastatur und 
20 Leitungen von der Tastatur und eine Leitung um das Ergebnis, die 
gedrückte bzw. losgelassene Taste, mitzuteilen. Hält man sich dabei an 
das Protokoll der PC-Tastatur, braucht man ncht mal ein besonderes 
Programm im PC. Man kann aber auch eine serielle Schnittstelle verwenden 
und ein beliebiges Format definieren.

Ein Microcontroller mit 31 Eingangs/Ausgangsleitungen, wie ein ATmega16A 
oder ATmega8535 reicht aus.

Nur falls dein Kumpel nur kleinere uC zu Hause hat, dafür aber jede 
Menge weiterer ICs, dann könnte er über externe Multiplexer und Decoder 
nachdenken, 5 4051 reichen schon, oder CD4028 + 3 CD4512 oder 74HC141 
und 3 74HC151 würden es tun, oder 4 74HC595.

Wir wissen nicht, was in siener Bastelkiste liegt.
Aber wie immer gibt es viele Möglichkeiten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.