Thegon
24.01.2011, 17:27
Hallo zusammen,
ich habe eine Spannungsmessung mit einem ATmega32 gebaut. Der soll eine Spannung auf einem Display anzeigen können, und zwar mit kommastellen. Der ADC Eingang liefert genaue werte, wenn ich direkt den Pegel anzeigen lasse. Nun hätte ich aber gerne, dass der ADC wert in eine Spannung umgerechnet wird, so weit so gut. Da der ADC seinen Ausgabewert aber in eine Word - Variable speichert, kann ich durch dividieren keine Kommastellen herausbekommen, deshalb hätte ich gerne den Wert der Word - Variablen in eine Double - Variable geschrieben, sodass ich diese dividieren kann und eine genauere Spannung erhalte. Nun, am display erscheint einfach "0", egal was am ADC anliegt. Ich weiß auch nicht weiter... Woran kann das liegen?
Der Code wäre Hier:
Dim X As double
Do
W = Getadc(0) 'W ist die word variable
X = W
X = X * 3 'Spannungsteiler 1: 3
X = X / 204 ' 1024 / 5 V, so viel ist ein volt am ADC
Cls
Locate 1, 1
Lcd X
waitms 1000
Loop
DAs ist jetzt nicht das ganze Programm, aber alles, das wichtig ist, hoffe ich zumidest. ADC Funktionieren, wie schon oben geschrieben sehr gut, wen ich den Ausgabewert direkt am Display ausgebe und dann mit dem Taschenrechner umrechne.
Wäre sehr glücklich wenn mir jemand sagen kann, was ich falsch mache, denn ich komme nicht weiter.
Danke im voraus!
Gruß Thegon
ich habe eine Spannungsmessung mit einem ATmega32 gebaut. Der soll eine Spannung auf einem Display anzeigen können, und zwar mit kommastellen. Der ADC Eingang liefert genaue werte, wenn ich direkt den Pegel anzeigen lasse. Nun hätte ich aber gerne, dass der ADC wert in eine Spannung umgerechnet wird, so weit so gut. Da der ADC seinen Ausgabewert aber in eine Word - Variable speichert, kann ich durch dividieren keine Kommastellen herausbekommen, deshalb hätte ich gerne den Wert der Word - Variablen in eine Double - Variable geschrieben, sodass ich diese dividieren kann und eine genauere Spannung erhalte. Nun, am display erscheint einfach "0", egal was am ADC anliegt. Ich weiß auch nicht weiter... Woran kann das liegen?
Der Code wäre Hier:
Dim X As double
Do
W = Getadc(0) 'W ist die word variable
X = W
X = X * 3 'Spannungsteiler 1: 3
X = X / 204 ' 1024 / 5 V, so viel ist ein volt am ADC
Cls
Locate 1, 1
Lcd X
waitms 1000
Loop
DAs ist jetzt nicht das ganze Programm, aber alles, das wichtig ist, hoffe ich zumidest. ADC Funktionieren, wie schon oben geschrieben sehr gut, wen ich den Ausgabewert direkt am Display ausgebe und dann mit dem Taschenrechner umrechne.
Wäre sehr glücklich wenn mir jemand sagen kann, was ich falsch mache, denn ich komme nicht weiter.
Danke im voraus!
Gruß Thegon