test
Dependencies: MbedJSONValue DISCO_L475VG_IOT01A_wifi mbed-http
US100.cpp@0:065178c282bd, 2019-01-01 (annotated)
- Committer:
- Eason0505
- Date:
- Tue Jan 01 11:48:52 2019 +0000
- Revision:
- 0:065178c282bd
test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Eason0505 | 0:065178c282bd | 1 | #include "US100.h" |
Eason0505 | 0:065178c282bd | 2 | #include "mbed.h" |
Eason0505 | 0:065178c282bd | 3 | US100::US100(PinName t, PinName e) : trig(t), echo(e) {} |
Eason0505 | 0:065178c282bd | 4 | // Trigger Echo |
Eason0505 | 0:065178c282bd | 5 | // ______ _____________,,,,,,,,, |
Eason0505 | 0:065178c282bd | 6 | // ____| 10us |_________| 150us-25ms, or 38ms if no obstacle |
Eason0505 | 0:065178c282bd | 7 | // |
Eason0505 | 0:065178c282bd | 8 | //return echo duration in us (refer to digram above) |
Eason0505 | 0:065178c282bd | 9 | int US100::echo_duration() |
Eason0505 | 0:065178c282bd | 10 | { |
Eason0505 | 0:065178c282bd | 11 | timer.reset(); |
Eason0505 | 0:065178c282bd | 12 | trig = 0; |
Eason0505 | 0:065178c282bd | 13 | wait_us(10); |
Eason0505 | 0:065178c282bd | 14 | trig = 1; |
Eason0505 | 0:065178c282bd | 15 | wait_us(10); |
Eason0505 | 0:065178c282bd | 16 | trig = 0; |
Eason0505 | 0:065178c282bd | 17 | while(echo == 0); |
Eason0505 | 0:065178c282bd | 18 | timer.start(); |
Eason0505 | 0:065178c282bd | 19 | while(echo == 1); |
Eason0505 | 0:065178c282bd | 20 | timer.stop(); |
Eason0505 | 0:065178c282bd | 21 | return timer.read_us(); |
Eason0505 | 0:065178c282bd | 22 | } |
Eason0505 | 0:065178c282bd | 23 | |
Eason0505 | 0:065178c282bd | 24 | int US100::distance() |
Eason0505 | 0:065178c282bd | 25 | { |
Eason0505 | 0:065178c282bd | 26 | int duration = echo_duration(); |
Eason0505 | 0:065178c282bd | 27 | int distacne_mm = duration*0.34/2/10; |
Eason0505 | 0:065178c282bd | 28 | return distacne_mm; |
Eason0505 | 0:065178c282bd | 29 | } |