www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Abfragen mehrere Schalter / Taster mit einem Portpin


Autor: Uwe S. (us73)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo und guten Abend,

im Rahmen meines (bzw. meiner Kinder) DCF-Lichtwecker und dessen 
Ungenauigkeit, wenn kein Funkempfang besteht (weil kein Quarz für den 
ATMEGA8 verbaut ist), will oder muss ich den Quarz nachrüsten.

Allerdings fehlt mir dafür nun ein Portpin.

Ich habe aber mehrere Schalter, die abgefragt werden, verbaut. Diese 
sind jeweils an einen separaten Pin verbschaltet.
Wenn ich nun also mehrere Schalter mit einem Pin abfragen könnte, hätte 
ich noch einen weiteren Pin frei, und damit mein Problem mit dem Quarz 
gelöst.

Also, einfache Frage:
wie frage ich 2 Schalter mit einem Pin ab ?#

Meine Lösung bzw. Überlegung ist, einen hochohmigen 1/3 zu 2/3 
Spannungsteiler zu nehmen, dessen Teilerabgriff auf einen ADC-Pin zu 
legen, und die Widerstände mit je einem Schalter überbrücken zu können. 
So könnte ich also bequem 2 Schalter mit einem Pin abfragen.

Hat jemand für mich eine andere oder bessere Idee ?

Oder ist das eine sinnvolle Lösung ?


Anmerkung: der Wecker funktioniert nur mit Netzteil, ein paar mA mehr im 
Verbrauch machen nichts aus.

Vielen Dank für Anmerkungen oder Vorschläge !

Gruß,
Uwe

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem ADC ist der richtige Weg.

MG
Falk

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau so kann man das machen, bis zu 8 Taster habe ich schon so an einen 
Pin gehängt. Bei geeigneter Widerstandswahl kann man sogar 
Mehrfachbetätigungen erkennen.
Gibt aber noch viele andere Möglichkeiten.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Idee ist gut, die Ausführung hat Haken. Wenn beide Schalter 
betätigt werden, hast du einen Kurzschluss.

Stattdessen würde ich den Widerstand zwischen ADC-Abgriff und GND nicht 
überbrückbar machen und zwei (oder) mehr überbrückbare Widerstände als 
"oberen Widerstand" benutzen.

Deine Idee erinnert etwas an die Minidisc Remote Steuerungen
http://www.esrac.ele.tue.nl/~leon/minidisc/remote/

Autor: tc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Vorschlag ist ok:

Ich mache das so: Ein Spannungsteiler mit >10k gegen VCC und einem 
beliebiegen Wert mit Schalter gegen GND. Die beliebigen Werte wählst du 
so, dass 2 gedrückte Schalter zusammen nie den Wert eines 3. ergeben 
können. So kannst du dann beliebig viele Taster an deinen PIN klemmen - 
gut du bist begrenzt durch die Auflösung des ADC ;)

Autor: tc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Edit:

So eine Kette wie: "10 33 100 330 1k 3k3" eignet sich wunderbar.
Du kannst so auch feststellen welche Zwei gedrückt sind.

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es wirklich nur ein Pin ist geht auch ein
Oszillator am Mega 8.

hans

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Uwe S. (us73)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sind alles sehr gute Hinweise, vielen vielen Dank !

Mir scheint, ich bin auf dem richtigen Weg...

Es geht im Moment wirklich nur um einen einzigen Pin bzw. habe ich einen 
noch frei.

Nun werde ich also mal schauen, ob das Umbauen der bestehenden Platinen 
mit zusätzlichem Spannungsteiler oder doch mit einem externen Oszillator 
einfacher ist.
Für den Hinweis zum Oszillator nochmal einen extra-Dank, daran habe ich 
aber auch überhaupt nicht gedacht.

Vielen Dank !

Uwe

Autor: Wayne Monga (vibra)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie wäre es mit trinary encoding
http://www.avrfreaks.net/modules/FreaksFiles/files...
mfg

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manchmal sieht man, das Anfänger die 3 SPI-Pins ungenutzt lassen.
Diese sind ideal für Tasten geeignet.


Peter

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.