Should I use a Pwm signal or a Pulsin
symbol trig = 3 'Define output pin for Trigger pulse (A, M , X, X1 parts)
symbol trig = b.3 'Define output pin for Trigger pulse (M2, X2 parts)
symbol echo = 6 'Define input pin for Echo pulse (A, M, X, X1 parts)
symbol echo = c.6 'Define input pin for Echo pulse (M2, X2 parts)
symbol range = w1 '16 bit word variable for range
main:
pulsout trig,2 'produce 20uS trigger pulse (must be minimum of 10uS)
pulsin echo,1,range 'measures the range in 10uS steps
pause 20 'recharge period after ranging completes
'now convert range to cm (divided by 5.8) or inches (divided by 14.8)
'as picaxe cannot use 5.8, multiply by 10 then divide by 58 instead
let range = range * 10/58 'multiply by 10 then divide by 58
debug range 'display range via debug command
goto main 'and around forever
'Note that X2 parts operate at 8MHz instead of 4MHz and so modify the calculation
'let range = range * 10/58/2 'multiply by 10 then divide by 58 then divide by2
symbol trig = 3 'Define output pin for Trigger pulse (A, M , X, X1 parts)
symbol trig = b.3 'Define output pin for Trigger pulse (M2, X2 parts)
symbol echo = 6 'Define input pin for Echo pulse (A, M, X, X1 parts)
symbol echo = c.6 'Define input pin for Echo pulse (M2, X2 parts)
symbol range = w1 '16 bit word variable for range
main:
pulsout trig,2 'produce 20uS trigger pulse (must be minimum of 10uS)
pulsin echo,1,range 'measures the range in 10uS steps
pause 20 'recharge period after ranging completes
'now convert range to cm (divided by 5.8) or inches (divided by 14.8)
'as picaxe cannot use 5.8, multiply by 10 then divide by 58 instead
let range = range * 10/58 'multiply by 10 then divide by 58
debug range 'display range via debug command
goto main 'and around forever
'Note that X2 parts operate at 8MHz instead of 4MHz and so modify the calculation
'let range = range * 10/58/2 'multiply by 10 then divide by 58 then divide by2
Attachments
-
445.6 KB Views: 14
-
104.4 KB Views: 20