Go Down

Topic: Werte an Analogen Eingängen in 4 mal 0-255 aufgeteilt (Read 1 time) previous topic - next topic

Niberium

Hallo alle zusammen
folgendes Problem:
Ich wollte die Spannung messen an einem Analogen Pin. Die Spannung ging von 0-5 V. Wenn ich mir das jetzt aber an den Computer senden lasse, dann geht der Wert erst langsam ganz normal hoch. Bei einer Spannung von 1,25 wird dann ein Wert von 255 ausgegeben. Dann springt der Wert wieder auf Null und steigt dann wieder normal proportional mit an bis 2,5 V wieder auf Null und so weiter bis 5V.
Jetzt meine Frage Normal ist das ja nicht oder? Und habt ihr ne Ahnung an was es liegen könnte?

Das Board ist ein Mega2560

danke schonmal im voraus und euch allen ein gesundes neues Jahr 2012 

Grüße
Niberium

udoklein

Das ist wohl ein Programmierfehler Deinerseits. Zeig uns doch mal Dein Programm. Wetten Du verwendest den falschen Typ?
Check out my experiments http://blog.blinkenlight.net

volvodani

#2
Jan 01, 2012, 08:06 pm Last Edit: Jan 01, 2012, 08:07 pm by volvodani Reason: 1
Du übertragst ein byte ( 8Bit=255) der gelesene Wert ist aber 10Bit. Also ist das Byte zu klein 4*0-255=1* 0-1024. Also musst du den gelesenen Int Wert als dezimalzahl übertragen.
via => Serial.print("DeinWert", DEC)

9Bit=2*255 (0-512)
10Bit=4*255(0-1024)
11bit=8*255(0-2048)

und so weiter :-)
"Komm wir essen Opa!" - Satzzeichen retten Leben!

MaFu

Ich vermute mal:
Entweder Du verwendest zum speichern des Wertes ein Byte (bzw. uint8_t) oder Du machst bei der Übertragung zum PC einen Fehler.
Mehr kann man aber nur sagen, wenn man den Code gesehen hat.
_______
Manfred

Niberium

jop sorry den code habe ich vergessen. Aber ihr hattet recht. Ich hatte die variable als byte deklariert und nicht als int. Dankeschön...

Go Up