Damian Herman / Mbed 2 deprecated NetrunnerMain

Dependencies:   mbed

Committer:
overkiller
Date:
Sat Aug 15 11:47:53 2015 +0000
Revision:
6:9eb153e1d472
Parent:
5:1afe17a20a5b
bugfix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
overkiller 5:1afe17a20a5b 1 #ifndef SR04_H
overkiller 5:1afe17a20a5b 2 #define SR04_H
overkiller 5:1afe17a20a5b 3 DigitalOut pinTrigg(PC_10);
overkiller 5:1afe17a20a5b 4 DigitalIn pinEcho(PC_12);
overkiller 5:1afe17a20a5b 5 const char* distMsg = "Actual distance: %g \n\r";
overkiller 6:9eb153e1d472 6 float actualDistance = 0;
overkiller 5:1afe17a20a5b 7 float pulseIn(DigitalIn pin)
overkiller 5:1afe17a20a5b 8 {
overkiller 5:1afe17a20a5b 9 Timer durationTimer;
overkiller 5:1afe17a20a5b 10 float tempDuration = 0;
overkiller 5:1afe17a20a5b 11 while(!pin); //wait for high
overkiller 5:1afe17a20a5b 12 durationTimer.start();
overkiller 5:1afe17a20a5b 13 while(pin); //wait for low
overkiller 5:1afe17a20a5b 14 tempDuration = durationTimer.read_us();
overkiller 5:1afe17a20a5b 15 return tempDuration;
overkiller 5:1afe17a20a5b 16 }
overkiller 5:1afe17a20a5b 17 float getDistance(int sensorID)
overkiller 5:1afe17a20a5b 18 {
overkiller 5:1afe17a20a5b 19 if(sensorID == 0)
overkiller 5:1afe17a20a5b 20 {
overkiller 5:1afe17a20a5b 21 float duration = 0;
overkiller 5:1afe17a20a5b 22 pinTrigg = 0;
overkiller 5:1afe17a20a5b 23 wait_us(2);
overkiller 5:1afe17a20a5b 24 pinTrigg = 1;
overkiller 5:1afe17a20a5b 25 wait_us(10);
overkiller 5:1afe17a20a5b 26 pinTrigg = 0;
overkiller 5:1afe17a20a5b 27 duration = pulseIn(pinEcho);
overkiller 5:1afe17a20a5b 28 duration /= 58; //datasheet!
overkiller 5:1afe17a20a5b 29 return duration;
overkiller 5:1afe17a20a5b 30 }
overkiller 5:1afe17a20a5b 31 return 0;
overkiller 5:1afe17a20a5b 32 }
overkiller 5:1afe17a20a5b 33 #endif //SR04_H