www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 2x 5V Eingänge an einem Port (ADC)


Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nachdem ich meinen PB5 (ATTINY45) nur recht umständlich über einen 
Bootloader abfragen kann, stellt sich die Frage, ob ich nicht eine 
einfach Schaltung realisiere und Spannungsunterschiede mit einem ADC 
abfragen.

-> Schalter.Bit1 (0/5 Volt)  -> /
                                / ------  (???) -------->   ADC2
-> Schalter.Bit2 (0/5 Volt)  -> /

Normal würde ich so fahren, aber ich habe keinen Port mehr.:

-> Schalter.Bit1 (0/5 Volt)  -> PB5 (funkt leider nicht wegen Reset)

-> Schalter.Bit2 (0/5 Volt)  -> PB4

Wer kann helfen ? Danke .

Bernd

Autor: Nitram L. (nitram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd wrote:
> Hallo,
>
> nachdem ich meinen PB5 (ATTINY45) nur recht umständlich über einen
> Bootloader abfragen kann, stellt sich die Frage, ob ich nicht eine
> einfach Schaltung realisiere und Spannungsunterschiede mit einem ADC
> abfragen.

Frag die Taster mit dem ADC ab:

Spannungsteiler, so das du etwa 1 bzw 2V beim drücken erhälst, und die 
addierst du mit einem OP...

Eingang1 Eingang2 AusgangOP
   0        0        0V
   1        0        1V
   0        1        2V
   1        1        3V


nitraM

Autor: Reinhard R. (reirawb)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Na klar geht das, siehe Anhang. Ist kein Taster gedrückt, ist
ADC-Eingang = Vcc und je nach Widerstandswerten stellt sich
bei gedrückten Tasten eine niedrigere Spannungen ein. Die
Spannung muss dann nur noch per Software augewertet werden.

Schau dir mal die Schaltung da an:

http://www.avr-asm-tutorial.net/avr_de/fcount/fcount_m8.html

da werden über ein Poti mittels ADC-Abfrage 10 verschiedene
Mess- und Anzeigenmodi eingestellt. Das spart einen Umschalter
und so einige Portpins.

Gruß Reinhard

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke,

werde dies direkt ausprobieren.

Bernd

Autor: Nitram L. (nitram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reinhard Richter wrote:
> Na klar geht das, siehe Anhang. Ist kein Taster gedrückt, ist
> ADC-Eingang = Vcc und je nach Widerstandswerten stellt sich
> bei gedrückten Tasten eine niedrigere Spannungen ein. Die
> Spannung muss dann nur noch per Software augewertet werden.

bei dieser Variante kann man leider nicht immer erkennen, ob ein oder 
zwei oder alle drei Taster geschlossen sind....

nitraM

Autor: Reinhard R. (reirawb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin L.
> bei dieser Variante kann man leider nicht immer erkennen, ob ein oder
> zwei oder alle drei Taster geschlossen sind....

Das nicht, aber die Taster haben dabei eine Priorität. Der im
Plan am weitesten rechts sitzende Taster hat die höchste. Wenn der
gedrückt ist ändert sich nichts mehr, auch wenn die anderen
zusätzlich gedrückt werden.

Eine gleichzeitige Mehrfach-Tastenerkennung mit ADC ist mit deiner
Version machbar, wird aber um so unübersichtlicher, je mehr Taster
an den ADC gehängt werden sollen.

Es haben beide Versionen ihre Vor- und Nachteile, je nach dem,
was gefordert ist.

Gruß Reinhard

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.