I have been racking my brains trying to get a output to go high if the temp falls below a certian degree but just cant quite figure it out. I am using a modified version of Bruces DS18B20 code that I found on here (Sorry I forgot who it came from, was a while ago I found it) and heres what I have:
I want to be able to take the MTtemp and compare it to a number like 78 (78 is the var for "setpoint" var Byte)Code:Start: sensor= TEMPSENSOR ' i have 5 DS18B20 GOSUB GetID 'go look up each sensors address ID[hexbyte]=col 'load the ID array with the retrieved address byte NEXT hexbyte ' get the rest of the address bytes OWOUT DQ, 1, [$55,STR ID\8,$44] 'match[$55] this[ID] rom code and 'initiates[$44] temperature conversion on matching sensor CkAgn: OWIN DQ, 4, [Busy] ' Check for still busy converting IF Busy = 0 THEN CkAgn ' Still busy?, then loop OWOUT DQ,1,[$55,STR ID\8,$BE] 'instructs sensors to match[$55] this[ID] and start sending back scratchpad[$BE] OWIN DQ, 2, [Raw.LOWBYTE,Raw.HIGHBYTE] ' Read two temperature bytes, then end communications Dummy = 1125 * Raw TempF = DIV32 100 MTtemp = TempF MTtemp = (MTtemp + 3200) + tankoffset SEROUT2 TX, 84, [DEC MTtemp DIG 3,DEC MTtemp DIG 2,".",DEC2 MTtemp,$DF,"F"] return
I have tried along with tons of other ways to get it to work, but basically what I am trying to do is:
There are so many ways I have tried this, just need a little push in the right direction...Code:MTtemp >>4 if MTtemp <= setpoint then high heater else low heater endif
Thanks!




Bookmarks