test

Dependencies:   MbedJSONValue DISCO_L475VG_IOT01A_wifi mbed-http

Committer:
Eason0505
Date:
Tue Jan 01 11:48:52 2019 +0000
Revision:
0:065178c282bd
test

Who changed what in which revision?

UserRevisionLine numberNew 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 }