Hallo,
ich habe mir mal ein kleines Wattmeter Programm gebastelt.
welches man später mit nur wenig externen Bauteilen in die Praxis umsetzen könnte.
Nur leider besitzt das Programm einen kleinen Schönheitsfehler.
Bei 8,1 Watt Leistung wird korrekt "8.1W " angezeigt.
Steigt die Leistung auf 10,1 Watt wird auch korrekt "10.1W" angezeigt.
Jetzt kommt der Schönheitsfehler. Wenn die Leisung aber wieder auf 7,9V absinkt wird aber leider "7.9WW" angezeigt.
Kann man die ...
Lcd Fusing(watt , "#.#") ; "W"
... Zeile so abändern das da was vernünftiges rauskommt?
Code:
$regfile = "m8def.dat"
$crystal = 1000000
$hwstack = 40
$swstack = 30
$framesize = 60
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , _
Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 2
Cursor Off
Cls
Dim Messvolt As Word
Dim Messstrom As Word
Dim Volt As Single
Dim Strom As Single
Dim Watt As Single
Const Spannungsfaktor = 0.0048828125
Const Stromfaktor = 0.0048828125
Do
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Messvolt = Getadc(0)
Messstrom = Getadc(1)
Volt = Messvolt * Spannungsfaktor
Strom = Messstrom * Stromfaktor
Watt = Volt * Strom
Locate 1 , 1
Lcd "Wattmeter"
Locate 1 , 12
Lcd Fusing(watt , "#.#") ; "W" 'siehe Text
Locate 2 , 3
Lcd Fusing(volt , "#.#") ; "V"
Locate 2 , 11
Lcd Fusing(strom , "#.#") ; "A"
Waitms 100
Loop
End
gruß Cali
Lesezeichen