; Experiment-19-HC-SFR-04.bas ; |-----| ; | _ | ; +5 VDC ---- | |_| | ; Trig ---- | | ; Echo ---- | _ | ; GRD ---- | |_| | ; | | ; |-----| #picaxe 28X2 ; Define the MCU ; Declare Constants, Variables and Devices * * * * * * * * * * * * * * * symbol range = W0 symbol RInches_10 = W1 ; symbol TrigPin = A.0 ; OUTPUT Trigger PIN ; symbol EchoPin = A.1 ; INPUT Echo PIN symbol RLED = B.7 symbol GLED = B.6 symbol BLED = B.5 symbol i = b0 ; BEGIN Main Body * * * * * * * * * * * * * * * pause 3000 do PulsOut A.0, 1 ; sonar output, 10 us PulsIn A.1, 1, range debug range if range < 300 then gosub red ; Too close go RED if range > 300 then gosub green ; Far enough go GREEN pause 500 loop ; END Main Body * * * * * * * * * * * * * * * * end ; BEGIN Subroutines * * * * * * * * * * * * * * * LEDsOFF: high RLED ; switch RED OFF high GLED ; switch Green OFF HIGH BLED ; switch Blue OFF return red: low RLED HIGH GLED HIGH BLED return green: HIGH RLED low GLED HIGH BLED return blue: HIGH RLED HIGH GLED low BLED return Police: For i = 0 to 4 gosub red pause 50 gosub LEDsOFF pause 50 gosub red pause 50 gosub LEDsOFF pause 100 gosub blue pause 50 gosub LEDsOFF pause 50 gosub blue pause 50 gosub LEDsOFF pause 100 next i return ; END Subroutines * * * * * * * * * * * * * * * * end