An Searcher und markusj: Danke für die Super Erklärungen, muss mich noch mal kurz damit beschäftigen, ich hoffe, dann klappt das auch mit dem Verständnis!
Schönes Wochenende und bis bald!
An Searcher und markusj: Danke für die Super Erklärungen, muss mich noch mal kurz damit beschäftigen, ich hoffe, dann klappt das auch mit dem Verständnis!
Schönes Wochenende und bis bald!
@Searcher: Ich hab das so gelöst --> 5V/1024 Steps sind rund 5mV pro Step.
Wenn ich jetzt 3,81V habe, entspricht das: --> 3,81V/5mV pro Step= 762
Was mach ich denn falsch, ich bin verzweifelt!![]()
In diesem Fall würd ich sagen: zu früh gerundet.
3,81V * 1024 / 5V = 780,288
Mein Integerwert wäre also 780
Die Formel steht auch im Datenblatt zum ATmega8: ADC = Vin * 1024 / Vref
Im Datenblatt steht auch, was der ADC macht, wenn Vin = Vref ist und bei der Gleichung dann 1024 rauskommen müßte, die mit 10 Bit ja nicht darstellbar sind: Er gibt 1023 (3FF) aus.
Durch Deinen Rundungsfehler sieht es so aus, als wenn Du mit 1000 statt mit 1024 gerechnet hättest.
Da sich in der Reihenschaltung die Spannungen wie die Widerstände verhalten, bräuchte man den Strom nicht immer auszurechnen.
Rin / Rg = Vin / Vref
oben eingesetzt
ADC = Rin * 1024 / Rg
mit Taster K2 und K4 gedrückt
ADC = 3200 Ohm * 1024 / 4200 Ohm = 780,19047619047619047619047619048 (mehr gab mein WIN Rechner nicht her)
Man müßte jetzt alle Tastenkombinationen durchrechnen und schauen, was die jeweiligen ADC Werte sind.
Im Source könnten sich dann Bereiche finden lassen, anhand derer entschieden wird, welche Taster gedrückt sind.
Bereiche deshalb, weil die realen Widerstände ja nie 100% den angegebenen entsprechen und noch wegen irgendwelcher anderen Toleranzen. Also zB ADC ist zwischen 770 und 790 - Aha, dann ist K2 und K4 gedrückt.
Gruß
Searcher
Geändert von Searcher (30.03.2012 um 12:14 Uhr)
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Lesezeichen