project

Dependencies:   MbedJSONValue DISCO_L475VG_IOT01A_wifi mbed-http

Committer:
Eason0505
Date:
Mon Jan 07 11:19:49 2019 +0000
Revision:
0:8bcd728684c5
IoT Project code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Eason0505 0:8bcd728684c5 1 #include "US100.h"
Eason0505 0:8bcd728684c5 2 #include "mbed.h"
Eason0505 0:8bcd728684c5 3 US100::US100(PinName t, PinName e) : trig(t), echo(e) {}
Eason0505 0:8bcd728684c5 4 // Trigger Echo
Eason0505 0:8bcd728684c5 5 // ______ _____________,,,,,,,,,
Eason0505 0:8bcd728684c5 6 // ____| 10us |_________| 150us-25ms, or 38ms if no obstacle
Eason0505 0:8bcd728684c5 7 //
Eason0505 0:8bcd728684c5 8 //return echo duration in us (refer to digram above)
Eason0505 0:8bcd728684c5 9 int US100::echo_duration()
Eason0505 0:8bcd728684c5 10 {
Eason0505 0:8bcd728684c5 11 timer.reset();
Eason0505 0:8bcd728684c5 12 trig = 0;
Eason0505 0:8bcd728684c5 13 wait_us(10);
Eason0505 0:8bcd728684c5 14 trig = 1;
Eason0505 0:8bcd728684c5 15 wait_us(10);
Eason0505 0:8bcd728684c5 16 trig = 0;
Eason0505 0:8bcd728684c5 17 while(echo == 0);
Eason0505 0:8bcd728684c5 18 timer.start();
Eason0505 0:8bcd728684c5 19 while(echo == 1);
Eason0505 0:8bcd728684c5 20 timer.stop();
Eason0505 0:8bcd728684c5 21 return timer.read_us();
Eason0505 0:8bcd728684c5 22 }
Eason0505 0:8bcd728684c5 23
Eason0505 0:8bcd728684c5 24 int US100::distance()
Eason0505 0:8bcd728684c5 25 {
Eason0505 0:8bcd728684c5 26 int duration = echo_duration();
Eason0505 0:8bcd728684c5 27 int distacne_mm = duration*0.34/2/10;
Eason0505 0:8bcd728684c5 28 return distacne_mm;
Eason0505 0:8bcd728684c5 29 }