@patti16,
und was geht nicht?
Zunächst ein Tipp: Je größer der Variablentyp, desto mehr Programmspeicher wird gebraucht. Also immer nur den Typ nehmen, der max. nötig ist.
Du willst Spannungen bis 5V mit dem ADC messen.
Der ADC liefert Werte von 0V bis 5V in 1024 Schritten.
Also erstmal 5V geteilt durch 1024 rechnen. Ergibt: 0,00488. Das wieder mal 1024 ergibt 4,99712. Ich denke den Fehler kann man verzeihen.
Jeder Wert des ADC steht also für rund 5mV.
Wenn du mit A den Wert des ADC einliesst und ihn mit 0,00488 multiplizierst, hast du die gemessene Spannung in Volt.
Du kannst das ganze auch in mV ausrechnen lassen und dann durch 100 teilen um auf Volt zu kommen.
Aber im Prinzip ist das nicht weiter als Dreisatz.
Dim A as Word
Dim B as Single
Dim C as Single
B=0,00488
start adc
a=getadc(3)
C=A*B 'die gemessene Spannung in Volt
Ich würd den ADC anders einstellen:Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Adc = Free, Prescaler = Auto
Mit Free kannst du etwas schneller messen. Und das Programm macht das ja dauerhaft. Die Reference musst du nicht angeben, wenn es Avcc ist.
Lesezeichen