Forum: Mikrocontroller und Digitale Elektronik Widerstände bei Matrix Tasten an Atmega16


von Peter W. (peterw)


Lesenswert?

Hallo,

ich möchte 16 Tasten in einer 4x4 Matrix an einen Atmega16 anhängen und 
bin etwas unsicher über die benötigten Widerstände. Ich habe bisher 3 
verschiedene Methoden gesehen:

- keine Widerstände
- nur Widerstände bei den Output Pins (angeblich gegen Kurzschluss beim 
drücken mehrerer Tasten gleichzeitig)
- bei allen 8 Pins Widerstände

Was ist nun korrekt?

von Peter D. (peda)


Lesenswert?

Peter Wyss schrieb:
> - keine Widerstände

Ja, wenn man die Software ordentlich schreibt (immer nur ein Pin ist 
Ausgang).


> - nur Widerstände bei den Output Pins (angeblich gegen Kurzschluss beim
> drücken mehrerer Tasten gleichzeitig)

Nur wenn die Ausgänge kein tristate können.


Peter

von Peter W. (peterw)


Lesenswert?

Danke, das mit der vernünftigen Software klingt schonmal gut :)

Peter Dannegger schrieb:
> Nur wenn die Ausgänge kein tristate können.

Im PDF zum Atmel steht:

"The Port D pins are tri-stated when a reset condition becomes active, 
even if the clock is not running."

Kann man daraus schliessen, dass ein kurzschliessen von als Output 
definierten Pins kein Problem darstellt?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Nein, das hast Du falsch verstanden. Gemeint ist, daß zu einer Zeit 
immer nur ein Pin als Ausgang geschaltet sein darf, alle anderen müssen 
dann Eingänge bzw. hochohmig sein (tristate).

von Peter W. (peterw)


Lesenswert?

Je mehr ich darüber lese desto unsicherer werde ich.

In folgendem Dokument ist alles ohne Widerstände:
http://www.atmel.com/dyn/resources/prod_documents/doc2532.pdf

Dennoch scheinen die mehrere Pins gleichzeitig als Output konfiguriert 
zu haben.

von Peter W. (peterw)


Lesenswert?

Wie habt ihr dieses Problem in euren Schaltungen gelöst?

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.