Forum: Mikrocontroller und Digitale Elektronik vier Eingabetasten = vier Bits?


von volker_gast (Gast)


Lesenswert?

Hallo,

möchte den Controller über vier Eingabetasten steuern ...für jeden 
Druckschalter ein Bit in Beschlag zu nehmen, ist natürlich kein Problem.

Meine mich aber erinnern zu können, dass man mit Hilfe von zwei Dioden 
bei vier Schaltern auch mit drei Bits auskommen kann, kann das 
hinkommen?
Ihr Profis wißt sicher mehr!


VG Volker

von YS-500 (Gast)


Lesenswert?

Für 4 Taster genügen 2 Bits.

von Peter (Gast)


Lesenswert?

@YS-500 (Gast)
>Für 4 Taster genügen 2 Bits.

wie willst du damit "nicht getastet" ermittlen?

mit 3Bits sollte  es gehen.

von YS-500 (Gast)


Lesenswert?

Hast ja recht.

2 Bit == 4 Zustände

von Peter D. (peda)


Lesenswert?

volker_gast wrote:
> Meine mich aber erinnern zu können, dass man mit Hilfe von zwei Dioden
> bei vier Schaltern auch mit drei Bits auskommen kann, kann das
> hinkommen?

Wenn schon Pins sparen, dann aber richtig:
Ein Pin des ADC reicht und 3 Widerstände an den Tasten.


Peter

von gast (Gast)


Lesenswert?

also wenn schon sparen, dann nur einen taster und den mit vier 
verschiedenen morsecodes ansteuern

von YS-500 (Gast)


Lesenswert?

di da dit

von Skua C. (skua)


Lesenswert?

3 Pins je 1 Taster
4ter mit 2 Dioden an 2 Pins

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Quatsch, da muss ne Matrix her 2x2 ;-)

von Kevin K. (nemon) Benutzerseite


Lesenswert?

mit den dioden kannst du nur rausfinden wie viele taster ugleich 
gedrückt sind. wenn du für jeden einzelnen taster ein/aus haben willst, 
brauchst du 1bit pro taster, oder einen portexpander

von Uhu U. (uhu)


Lesenswert?

Es müßte eigentlich auch mit einem Pin gehen:

An jeden Kontakt hängt man ein RC-Glied mit jeweils doppelter 
Zeitkonstante, wie beim Vorgänger.

Zum Auslesen der Schalterstellung legt man zunächst den Port wenigstens 
10 * T der längsten Zeitkonstante auf Null, um alle Kondensatoren zu 
entladen und setzt den Zähler auf 0.

Dann setzt man den Port auf 1 und liest ihn nach einer Verzögerung, die 
der kürzesten Zeitkonstante entspricht, ein und inkrementiert den 
Zähler. (Der Port muß dabei jeweils umprogammiert werden.) Das wird 
wiederholt, bis eine 1 erkannt wird, oder die maximale Anzahl Tests 
durchlaufen ist.

Dann steht im Zähler das Bitmuster, das der gedrückten Tastenkombination 
entspricht.

Ich habs allerdings noch nicht ausprobiert, aber es wäre interessant zu 
wissen, wieviele Taster man mit der Methode unterscheiden kann.

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.