' DECLARATIONS ********************************************
'programma om een DS18B20 en twee MCP9700 te testen en af te regelen.
#picaxe 08M2
#no_data
setfreq m4
#terminal 4800
init:
symbol W1820=W8 'waarde DS18B20
symbol graden = b17
symbol tiende = b16
symbol gradenl = b8
symbol tiendel = b9
symbol sign = b13
symbol dtoets=pinc.3
symbol T1820=C.2 'Ds18B20
symbol led=c.0 'ledindicatie
Symbol Tbin=C.4 'de bovensate sensor
Symbol Toin=C.1 'de laagste sensor
Symbol Thoog=W1 'variabele met temp Thoog
Symbol Tlaag=W2 'variabele met temp Tlaag.
symbol Tel=B12 'hulpvariabele
symbol temp=w5
pause 1000
adcconfig %011 ' Vref+ is FVR, Vref- is 0V
Main:
readtemp12 T1820,W1820
sertxd(".w1820..",#w1820,cr,cr,lf)
Sign = "+" 'Display +
IF graden > 127 THEN
Sign = "-" 'Display -
W1820 = - W1820
ENDIF
W1820 = W1820 * 16 'Celsius -55.0C to 125.0C
tiende= tiende / 4 * 25 / 16 + 5 / 10 'rounding up 0.05 to 0.09 (0.1)resolutuion
SERTXD (" Temperatuur ",Sign,#graden,".",#tiende," Graden C", CR, LF)
gosub een:
gosub twee:
gosub drie:
pause 8000
goto main
een:
fvrsetup FVR4096 ' set FVR at 4096 mV
pause 1000
readadc10 Tbin, Thoog ' lees Thoog in
Thoog=Thoog-1 ;correctie tussen twee 9700
sertxd(".hoog1..", #Thoog,cr,lf)
readadc10 Toin,Tlaag ; lees Tlaag in
Tlaag=Tlaag+2
sertxd(".laag1..",#Tlaag,cr,cr,lf)
thoog=thoog*4-500
tlaag=tlaag*4-500
graden = Thoog/ 10
tiende = Thoog//10
gradenl = Tlaag/ 10
tiendel = Tlaag//10
' display data to terminal
sertxd(".hoog2..", #graden, ".", #tiende, "?",cr,lf)
sertxd(".laag2..",#gradenl, ".", #tiendel, "?",cr,cr,lf)
return
twee:
fvrsetup FVR2048 ' set FVR at 2048 mV
pause 1000
readadc10 Tbin, Thoog ' lees Thoog in
Thoog=Thoog-5 ;correctie tussen twee 9700
sertxd(".hoog1..", #Thoog,cr,lf)
readadc10 Toin,Tlaag ; lees Tlaag in
Tlaag=Tlaag+3
sertxd(".laag1..",#Tlaag,cr,cr,lf)
thoog=thoog*2-500
tlaag=tlaag*2-500
graden = Thoog/ 10
tiende = Thoog//10
gradenl = Tlaag/ 10
tiendel = Tlaag//10
' display data to terminal
sertxd(".hoog2..", #graden, ".", #tiende, "?",cr,lf)
sertxd(".laag2..",#gradenl, ".", #tiendel, "?",cr,cr,lf)
return
drie:
fvrsetup FVR1024 ' set FVR at 1024 mV
pause 1000
readadc10 Tbin, Thoog ' lees Thoog in
Thoog=Thoog-7 ;correctie tussen twee 9700
sertxd(".hoog1..", #Thoog,cr,lf)
readadc10 Toin,Tlaag ; lees Tlaag in
Tlaag=Tlaag+8
sertxd(".laag1..",#Tlaag,cr,cr,lf)
thoog=thoog-500
tlaag=tlaag-500
graden = Thoog/ 10
tiende = Thoog//10
gradenl = Tlaag/ 10
tiendel = Tlaag//10
' display data to terminal
sertxd(".hoog2..", #graden, ".", #tiende, "?",cr,lf)
sertxd(".laag2..",#gradenl, ".", #tiendel, "?",cr,cr,lf)
return