mikrocontroller.net

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


Autor: volker_gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: YS-500 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für 4 Taster genügen 2 Bits.

Autor: Peter (Gast)
Datum:

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

wie willst du damit "nicht getastet" ermittlen?

mit 3Bits sollte  es gehen.

Autor: YS-500 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast ja recht.

2 Bit == 4 Zustände

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: gast (Gast)
Datum:

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

Autor: YS-500 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
di da dit

Autor: Skua C:\> (skua)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
3 Pins je 1 Taster
4ter mit 2 Dioden an 2 Pins

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Quatsch, da muss ne Matrix her 2x2 ;-)

Autor: Kevin K. (nemon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.