! XPRESS program to read the weather sensors attached to AM Jr. and to ! display the results on a 4x20 LCD. ! ! This is from Issue 78, January 1997 of Circuit Cellar Ink. ! Define Wind-Speed = Variable(10) Define Peak-Wind = Variable(11) Define Wind-Direction = Variable(12) Define Temperature = Variable(13) Define Humidity = Variable(14) Define Rain = Variable(15) Define Light-Level = Variable(16) Define humid = ADC(16) Define wdir = ADC(17) Define rgauge = ADC(18) Define light = ADC(19) Define temp = ADC(20) Define wspeed = ADC(21) Define Update-Timer = Timer(0) Begin IF Reset THEN ClearVariables Update-Timer = ON LCD(0) = "\e[2J\e[b\e[7h" END IF Update-Timer >= 15 THEN ! Convert 0-2 V (O-2048) into O-99 MPH Wind-Speed = (wspeed * 10) / 205 IF Wind-Speed > 99 THEN Wind-Speed = 99 END IF Wind-Speed > Peak-Wind THEN Peak-Wind = Wind-Speed END ! Convert 0-3.59 V (O-184) into 0-360 degrees Wind-Direction = ((wdir / 2) * 195) / 50 IF Wind-Direction > 359 THEN Wind-Direction = 359 END ! Convert 174-1049 mV (142-859) into -40 to +100F Temperature = (((temp - 142) * 20) / 102) - 40 ! Convert 0-5 V (O-255) into 0-100% humidity Humidity = (humid * 00) / 255 IF Humidity > 99 THEN Humidity = 99 END ! Convert 0-2.56 V (O-131) into 0-2.56 inches rain Rain = (rgauge * 195) / 100 ! Convert O-1.95 V (O-100) into 0-100% light Light-Level = light IF Light-Level > 99 THEN Light-Level = 99 END LCD(O) = "\e[1;1HWind %P0MPH Peak %P0 ", Wind-Speed,Peak-Wind LCD(0) = "\e[2;1HDirection %P0\xDF ",Wind-Direction LCD(O) = "\e[3;1HTemp %P0\xDFF Hum %P0% ",Temperature,Humidity LCD(0) = "\e[4;1HRain %P2\x22 Light %P0\x25 ",Rain,Light-Level Update-Timer = ON END