Ach Meno! Die Frage ist mir schon peinlich, aber muss wohl so raus: Aus ein paar Resten in meiner Bastelkiste möchte ich mir einen Atari Touch Me nachbauen. Mit einem Attiny85, 4 LEDś, einer I2C 7-Segmentanzeige und 8 Buttons kann man das sicher easy umsetzen. - Dachte ich mir. Nun habe ich aber doch ein Problem: Für die Erkennung der 8 Buttons wollte ich einfach die 3V Referensspannung per Widerstand an einem Analog-In runterdrücken. Also rechnete ich 3/8 was zu einem 0,375V Bereich pro Button führt. Jetzt wollte ich mit dem Ohmschen Gesetz einfach ermitteln wie groß die Widerstände sein müssen. Das will mir aber nicht wirklich gelingen, weil AAA-Batterien jede Menge verschiedene Stromstärken haben können. Ist das noch irgendwie machbar, oder muss ich doch einen ganz anderen Ansatz verfolgen? - Klar ein anderer MC oder ein Schieberegister/Portmultiplexer würden das Problem auch lösen, sind aber grade nicht vorhanden. Vielleicht hat ja jemand einen Tip?
Wenn dein adc als Referenz die Batteriespannung nutzt, dann kürzt sich selbige am Ende raus.
Ich werfe einfach mal "Spannungsteiler" in den Raum.
Rene M. schrieb: > Also rechnete ich 3/8 was zu einem 0,375V Bereich pro Button führt. Verstehe ich das richtig dass wenn z.B. Taste 1 gedrückt wird 0,375 Volt gemessen werden, bei Taste 2 0,75 Volt usw.? Dann so: nur zufällig hier schrieb: > Ich werfe einfach mal "Spannungsteiler" in den Raum. > Jetzt wollte ich mit dem Ohmschen Gesetz einfach ermitteln wie groß die > Widerstände sein müssen. Das will mir aber nicht wirklich gelingen, weil > AAA-Batterien jede Menge verschiedene Stromstärken haben können. Das Ohmsche Gesetz brauchts du eigentlich nicht. Alle Widerstände müssen einfach nur gleich groß sein, z.B. 10 K. Je höher umso weniger Last für die Batterien. Je geringer umso weniger Verfälschung durch den Eingangswiderstand des Analogpin vom Attiny85, aber höhere Belastung für die Batterien.
Hey, wer will mich denn hier haben ? :-)) ...ohne zu viel zu plappern, schau Dir doch mal an, wie es der Chinamann mit dem Arduino Displayshield macht.... https://www.dfrobot.com/wiki/index.php/Arduino_LCD_KeyPad_Shield_(SKU:_DFR0009) http://linksprite.com/wiki/index.php5?title=16_X_2_LCD_Keypad_Shield_for_Arduino Der Vorteil von unterschiedlichen Widerständen ist es, daß bei gleichzeitiger Betätigung mehrerer Taster ein Widerstandswert entsteht, der mit keinem Verwendetem Widerstand übereinstimmt, also auch gut auszuwerten ist.
Spannungsteiler schrieb: > Der Vorteil von unterschiedlichen Widerständen ist es, daß bei > gleichzeitiger Betätigung mehrerer Taster ein Widerstandswert > entsteht, der mit keinem Verwendetem Widerstand übereinstimmt, > also auch gut auszuwerten ist. In dieser Schaltung nicht. Wenn RIGTH gedrueckt ist, kannst Du dazu drucken, was Du willst, das Ergebnis bleibt AD0=0V. wendelsberg
wendelsberg schrieb: > In dieser Schaltung nicht. Richtig! Die Verwendete Technik soll dem TO weiterhelfen sein Vorhaben zu realisieren. Ich mag niemanden sein Häppchen in mein Mund stecken und das auch noch kauen.... Wer gescheid weiterdenkt und selber Kreativ bleibt, der wird mit mehr Wissen und guten Lösungen belohnt :-)) Weitergehts!!!
Seid ihr denn sicher, das ihr immer Querstrom durch eure Widerstandskette schicken wollt, auch wenn nichts gedrückt ist? Gerade bei den niedrigen Werten in 'Spannungsteilers' Schaltung fliesst doch recht reichlich und nuckelt die Batterie leer. Schliesst den Spannungsteiler doch so an, das ein Strom erst dann fliesst, wenns Knöpfchen gedrückt wird.
:
Bearbeitet durch User
Beitrag "Tastenmatrix auslesen über nur 2 Leitungen" Das Rechnen kann man einfach dem Compiler überlassen.
Rene M. schrieb: > Aus ein paar Resten in meiner Bastelkiste möchte ich mir einen Atari > Touch Me nachbauen. Mit einem Attiny85, 4 LEDś, einer I2C > 7-Segmentanzeige und 8 Buttons kann man das sicher easy umsetzen. - > Dachte ich mir. Von den Teilen, die du hier auflistest, ist der µC sicher das billigste. Kauf dir einfach einen mit mehr Pins. MfG Klaus
Ich werfe mal den Begriff "R-2R-DAC" in den Raum. Ist einfach nachzubauen und ermöglicht das Auslesen von jeder beliebigen Tastenkombination. ein schöner Nebeneffekt ist, dass im 8-Bit-Register des ADC des Attiny dann eine Stelle für einen Button steht. D.h. man kann ohne viel "switch case" und ohne große If-Konstrukte arbeiten durch den (1<<x) Schiebeoperator. MfG, Viktor
Viktor B. schrieb: > Ich werfe mal den Begriff "R-2R-DAC" in den Raum. Ist einfach > nachzubauen und ermöglicht das Auslesen von jeder beliebigen > Tastenkombination. Bei 8 Tasten hast du 256 Kombinationen, das wird nix mit "normalen" 5%/1% Widerständen. Da braucht man schon präzise 0,1% Resis und einen sauberen Aufbau um auch die "letzte" (aka LSB) Taste noch zuverlässig auszuwerten (von Kontaktwiderständen ganz zu schweigen).
Matthias S. schrieb: > Seid ihr denn sicher, das ihr immer Querstrom durch eure > Widerstandskette schicken wollt, auch wenn nichts gedrückt ist? Gerade > bei den niedrigen Werten in 'Spannungsteilers' Schaltung fliesst doch > recht reichlich und nuckelt die Batterie leer. Bei insgesamt 80K und 3 Volt fließen 37,5 uA, das nuckelt die Batterien nicht schnell leer. Die Widerstände können ggf. auch noch erhöht werden. Das Gerät ist zudem wohl mehr aus wie an, weil es scheinbar ein Spassprojekt ist.
:
Bearbeitet durch User
So, mal eine kurze Rückmeldung. Ich habe mir alles angesehen, und bin jedem Tip gefolgt. Ich schätze ich werde die Widerstandskette "vom Chinamann" vielen Dank an (Gast) nehmen. Vielen Dank an alle!
Jörg R. schrieb: > Bei insgesamt 80K und 3 Volt fließen 37,5 uA, das nuckelt die Batterien > nicht schnell leer. Ist aber unnötig. Wenn man den Stromverbrauch eines MC im Tiefschlaf (hier z.B. ein Tiny2313 mit 400nA) dagegen setzt, sind 37µA schon eine Menge. Bei der Schaltung von 'Spannungsteiler' sinds noch deutlich mehr. Ausserdem missachtet die erste Schaltung den empfohlenen Quellwiderstand für ADC Betrieb.
:
Bearbeitet durch User
Matthias S. schrieb: > Jörg R. schrieb: >> Bei insgesamt 80K und 3 Volt fließen 37,5 uA, das nuckelt die Batterien >> nicht schnell leer. > > Ist aber unnötig. Wenn man den Stromverbrauch eines MC im Tiefschlaf > (hier z.B. ein Tiny2313 mit 400nA) dagegen setzt, sind 37µA schon eine > Menge. Bei der Schaltung von 'Spannungsteiler' sinds noch deutlich mehr. > Ausserdem missachtet die erste Schaltung den empfohlenen Quellwiderstand > für ADC Betrieb. Das Gerät besteht unter anderem aus 2 Led 7-Segmentanzeigen. Schon deshalb spielen die 37uA überhaupt keine Rolle. Das Gerät wird vermutlich kaum zum Einsatz kommen weil es ein Spassprojekt ist. Der Tiny wird vermutlich auch nicht in den Tiefschlaf versetzt. Und, die 8 mal 10k sind ein Vorschlag. Die können je nach Eingangswiderstand des Tiny, den ich grad nicht kenne, auch noch erhöht werden. Rechne mal aus wie lang 2 AA Zellen 37uA bereitstellen können? Der TO hat einen Attiny85, keinen 2313. Der 85er verbraucht vermutlich noch weniger Strom im Tiefschlaf, was aber wie oben beschrieben keine Rolle spielt. Edit: Der Tiny85 hat 100M Eingangswiderstand am ADC. Die Widerstände können daher auch je 1M haben = 375nA Strom durch den Spannungsteiler.
:
Bearbeitet durch User
Klaus schrieb: > Kauf dir einfach einen mit mehr Pins. Ein selten dusseliger Vorschlag, irgendwann genügen halt die Ports nicht mehr. Rene M. schrieb: > Ich schätze ich werde die Widerstandskette "vom Chinamann" vielen Dank > an (Gast) nehmen. Eine analoge Tastenabfrage habe ich gerade aufgebaut, funktioniert gut. Als Hinweis: Ich habe in der Software Toleranzfenster gebaut. Für z.B. meine Taste 5 erwarte ich vom ADC einen Wert "464" (von 1023), die Taste ist aber gültig, wenn ich zwischen 444 und 484 lese. Der Abstand von einer zur nächsten Taste beträgt hier ca. 100, da scheinen mir +-20 als Toleranzfenster passend.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.