Ultrasonic
Dependents: 2014_Ensoul_Capstone Thrower_KRAI ECE4180Finalproject 4180Lab3Part2
Ultrasonic.cpp@0:4a3021604777, 2014-01-09 (annotated)
- Committer:
- leejong87
- Date:
- Thu Jan 09 07:10:03 2014 +0000
- Revision:
- 0:4a3021604777
- Child:
- 1:d8a93321fc01
Ultrasonic
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
leejong87 | 0:4a3021604777 | 1 | #include "Ultrasonic.h" |
leejong87 | 0:4a3021604777 | 2 | #include "mbed.h" |
leejong87 | 0:4a3021604777 | 3 | |
leejong87 | 0:4a3021604777 | 4 | Ultrasonic::Ultrasonic(PinName tx, PinName rx) : _tx(tx),_rx(rx) |
leejong87 | 0:4a3021604777 | 5 | { |
leejong87 | 0:4a3021604777 | 6 | _tx.input(); |
leejong87 | 0:4a3021604777 | 7 | t.reset(); |
leejong87 | 0:4a3021604777 | 8 | triger.attach(this, &Ultrasonic::triger_func, 0.1); |
leejong87 | 0:4a3021604777 | 9 | _rx.rise(this, &Ultrasonic::start_func); |
leejong87 | 0:4a3021604777 | 10 | _rx.fall(this, &Ultrasonic::end_func); |
leejong87 | 0:4a3021604777 | 11 | } |
leejong87 | 0:4a3021604777 | 12 | |
leejong87 | 0:4a3021604777 | 13 | void Ultrasonic::triger_func() |
leejong87 | 0:4a3021604777 | 14 | { |
leejong87 | 0:4a3021604777 | 15 | _tx.output(); |
leejong87 | 0:4a3021604777 | 16 | _tx = 1; |
leejong87 | 0:4a3021604777 | 17 | wait_us(10); |
leejong87 | 0:4a3021604777 | 18 | _tx = 0; |
leejong87 | 0:4a3021604777 | 19 | _tx.input(); |
leejong87 | 0:4a3021604777 | 20 | |
leejong87 | 0:4a3021604777 | 21 | } |
leejong87 | 0:4a3021604777 | 22 | |
leejong87 | 0:4a3021604777 | 23 | void Ultrasonic::start_func() |
leejong87 | 0:4a3021604777 | 24 | { |
leejong87 | 0:4a3021604777 | 25 | t.reset(); |
leejong87 | 0:4a3021604777 | 26 | t.start(); |
leejong87 | 0:4a3021604777 | 27 | } |
leejong87 | 0:4a3021604777 | 28 | |
leejong87 | 0:4a3021604777 | 29 | void Ultrasonic::end_func() |
leejong87 | 0:4a3021604777 | 30 | { |
leejong87 | 0:4a3021604777 | 31 | t.stop(); |
leejong87 | 0:4a3021604777 | 32 | if (( t > 0.00012 ) & ( t < 0.0187)) { |
leejong87 | 0:4a3021604777 | 33 | eco = 331.5*(t/2.0)*1000; // 30mm ~ 3000mm |
leejong87 | 0:4a3021604777 | 34 | } |
leejong87 | 0:4a3021604777 | 35 | } |
leejong87 | 0:4a3021604777 | 36 | |
leejong87 | 0:4a3021604777 | 37 | float Ultrasonic::read() |
leejong87 | 0:4a3021604777 | 38 | { |
leejong87 | 0:4a3021604777 | 39 | return eco; |
leejong87 | 0:4a3021604777 | 40 | } |