the old fart
Senior Member
Hi Guys,
Is there a better / easier way to program this.
Its to show water level, sensed by sfr05. lower the distance, higher the level.
Only showing relative parts.
Thank you.
TOF
Is there a better / easier way to program this.
Its to show water level, sensed by sfr05. lower the distance, higher the level.
Only showing relative parts.
Code:
#picaxe 40x2
symbol oled=A.7
symbol baud=n2400
;bargraph setup CGram
serout oled,baud, (254,64,0,0,0,0,0,0,0,21) ;0
serout oled,baud, (254,72,16,16,16,16,16,16,16,21) ;1
serout oled,baud, (254,80,20,20,20,20,20,20,20,21) ;2
serout oled,baud, (254,88,21,21,21,21,21,21,21,21) ;3
WLevel = 165
main:
;simulates reading from sensor
inc WLevel
if WLevel>200 then let Wlevel=130:endif
;each bar = 2mm
aux1=WLevel-145/2 ;145 = highest level
if Wlevel<145 then let aux1=0:endif
serout oled,baud,(254,206)
if aux1=0 then serout oled,baud,(0,"HIGH",0):endif
if aux1=1 then serout oled,baud,(3,3,3,3,3,3):endif
if aux1=2 then serout oled,baud,(3,3,3,3,3,2):endif
if aux1=3 then serout oled,baud,(3,3,3,3,3,1):endif
if aux1=4 then serout oled,baud,(3,3,3,3,3,0):endif
if aux1=5 then serout oled,baud,(3,3,3,3,2,0):endif
if aux1=6 then serout oled,baud,(3,3,3,3,1,0):endif
if aux1=7 then serout oled,baud,(3,3,3,3,0,0):endif
if aux1=8 then serout oled,baud,(3,3,3,2,0,0):endif
if aux1=9 then serout oled,baud,(3,3,3,1,0,0):endif
if aux1=10 then serout oled,baud,(3,3,3,0,0,0):endif
if aux1=11 then serout oled,baud,(3,3,2,0,0,0):endif
if aux1=12 then serout oled,baud,(3,3,1,0,0,0):endif
if aux1=13 then serout oled,baud,(3,3,0,0,0,0):endif
if aux1=14 then serout oled,baud,(3,2,0,0,0,0):endif
if aux1=15 then serout oled,baud,(3,1,0,0,0,0):endif
if aux1=16 then serout oled,baud,(3,0,0,0,0,0):endif
if aux1=17 then serout oled,baud,(2,0,0,0,0,0):endif
if aux1=18 then serout oled,baud,(1,0,0,0,0,0):endif
if aux1>18 then serout oled,baud,(0,"LOW",0,0):endif
goto main
Thank you.
TOF