Viele Taster -->Mikrocontroller

Gast #2889099
Lesenswert?

I/O-Interfaces via I2C wären auch eine Lösung, wenn man möglichst viele 
µC-Pins sparen möchte. Nebenbei hatman dann auch garantiert keine 
Beeinflussung von Tastern bei gleichzeitigem Drücken von mehreren 
Tastern.
Gast #2889158
Lesenswert?

> wie schließe ich am besten ca. 30 Taster an einen AVR an??

Jede blöde PC Tastatur kann problemlos 102 Tasten einm einem uC 
erkennen.

Multiplex heisst das Zauberwort.

Damit kann ein AVR problemlos 64 Tasten an 16 Pins verwalten.
(Firma: TravelRec.) Persönliche Seite #2889185
Lesenswert?

MaWin schrieb:
> Jede blöde PC Tastatur kann problemlos 102 Tasten einm einem uC
> erkennen.

Aufgrund der fehlenden Dioden leider nicht alle Kombinationen. Merkt man 
schnell, wenn man auf der Tastatur mal Klavier spielen muss...

MaWin schrieb:

> Multiplex heisst das Zauberwort.
>
> Damit kann ein AVR problemlos 64 Tasten an 16 Pins verwalten.

Wissen wir doch. Erfordert aber trotzdem jede Menge Leitungen zwischen 
den Tastern. Die analoge Variante würde mit 5 Leitungen + Masse 
auskommen, die man an den Schaltergruppen ohne Kreuzungen vorbeiführen 
kann, gerade wenn die Tasten in einer Reihe angeordnet sind.
(Firma: guloshop.de) #2889287
Lesenswert?

Knut Ballhause schrieb:
> Jürgen schrieb:
>> Warum nicht mit einem ADC-Pin und 30 Widerständen?
>
> Weil die Auflösung für alle denkbaren Tastenkombinationen dann nicht
> mehr gegeben ist. 6 Bit kann man auch mit Bauteiletoleranzen noch ganz
> gut auswerten und sicher erkennen, wenn mehrere Tasten zeitgleich
> gedrückt sind.

Jein. 30 unterschiedliche Widerstände kann man locker unterscheiden, 
wenn gesichert ist, dass es nicht zwei gleiche Widerstandswerte gibt. 
Beispiel:
30 Widerstände in Reihe hängen – als Spannungsteiler zwischen AVCC und 
GND. Die Leitungsknoten zwischen den Widerständen dann jeweils per 
Taster auf einen ADC-Eingang legen.

Wenn man den Bauteil-Toleranzen nicht traut, dann muss man die Schaltung 
eben kalibrieren : Der Mikrocontroller nimmt die Referenz-Werte für 
jede Taste auf und stellt sie ins EEPROM . Dann ist man auf alle Fälle 
auf der sicheren Seite – auch mit mehr als 30 Tasten.

Auf diese Weise reicht ein einziger Pin eines ATtiny13A, um eine ganze 
Tastatur abzufragen.
#2889385
Lesenswert?

Markus W. schrieb:
> 30 Widerstände in Reihe hängen – als Spannungsteiler zwischen AVCC und
> GND. Die Leitungsknoten zwischen den Widerständen dann jeweils per
> Taster auf einen ADC-Eingang legen.

Dann dürfen nie 2 Taster gleichzeitig gedrückt werden.

Markus W. schrieb:
> Wenn man den Bauteil-Toleranzen nicht traut, dann muss man die Schaltung
> eben kalibrieren :

Das ist meiner Meinung deswegen Murks, weil es viel Aufwand ist im 
Vergleich zu Alternativen wie Porterweiterung, Schieberegister ...

Markus W. schrieb:
> Auf diese Weise reicht ein einziger Pin eines ATtiny13A, um eine ganze
> Tastatur abzufragen.

Das ist schon recht optimistisch, und man muss Alterung, 
Temperaturabhängigkeit und Störeinstrahlung einfach ignorieren...

Nicht geht über eine Schaltung, die auch im Worst-Case einfach nur 
funktioniert ;-))

Gruß Dietrich

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren