
Ultrasonic sensor used HC-SR04
main.cpp@0:6947b0547f9f, 2015-01-18 (annotated)
- Committer:
- tknara
- Date:
- Sun Jan 18 13:42:41 2015 +0000
- Revision:
- 0:6947b0547f9f
Ultrasonic sensor
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tknara | 0:6947b0547f9f | 1 | #include "mbed.h" |
tknara | 0:6947b0547f9f | 2 | |
tknara | 0:6947b0547f9f | 3 | Serial pc(USBTX,USBRX); |
tknara | 0:6947b0547f9f | 4 | DigitalOut trig(p21); |
tknara | 0:6947b0547f9f | 5 | DigitalOut testled(LED1); |
tknara | 0:6947b0547f9f | 6 | DigitalIn echo(p22); |
tknara | 0:6947b0547f9f | 7 | Timer t; |
tknara | 0:6947b0547f9f | 8 | #define sonic_spead 343.595*100;// cm |
tknara | 0:6947b0547f9f | 9 | |
tknara | 0:6947b0547f9f | 10 | int main() { |
tknara | 0:6947b0547f9f | 11 | double time; |
tknara | 0:6947b0547f9f | 12 | while(1) { |
tknara | 0:6947b0547f9f | 13 | testled = 0; |
tknara | 0:6947b0547f9f | 14 | t.reset(); |
tknara | 0:6947b0547f9f | 15 | trig = 1; |
tknara | 0:6947b0547f9f | 16 | time = 0; |
tknara | 0:6947b0547f9f | 17 | wait_us(10); |
tknara | 0:6947b0547f9f | 18 | trig = 0; |
tknara | 0:6947b0547f9f | 19 | if (echo == 1) { |
tknara | 0:6947b0547f9f | 20 | t.start(); |
tknara | 0:6947b0547f9f | 21 | while(1){ |
tknara | 0:6947b0547f9f | 22 | if(echo == 0) { |
tknara | 0:6947b0547f9f | 23 | testled = 1; |
tknara | 0:6947b0547f9f | 24 | t.stop(); |
tknara | 0:6947b0547f9f | 25 | time = t.read(); |
tknara | 0:6947b0547f9f | 26 | time = time / 2.0 *sonic_spead; |
tknara | 0:6947b0547f9f | 27 | pc.printf("%lfcm\n\r",time); |
tknara | 0:6947b0547f9f | 28 | t.reset(); |
tknara | 0:6947b0547f9f | 29 | break; |
tknara | 0:6947b0547f9f | 30 | } |
tknara | 0:6947b0547f9f | 31 | } |
tknara | 0:6947b0547f9f | 32 | } |
tknara | 0:6947b0547f9f | 33 | } |
tknara | 0:6947b0547f9f | 34 | } |