
US
Revision 0:053532f8d137, committed 2016-08-10
- Comitter:
- Amber77
- Date:
- Wed Aug 10 03:03:16 2016 +0000
- Commit message:
- Amber_US
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HC-SR04.lib Wed Aug 10 03:03:16 2016 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/Nestordp/code/HC-SR04/#12d6d751f4fc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Aug 10 03:03:16 2016 +0000 @@ -0,0 +1,139 @@ +#include "mbed.h" +#include "HCSR04.h" +// https://developer.mbed.org/users/Nestordp/code/HC-SR04/ + +Serial pc(USBTX, USBRX); +Ticker Ultrasonic; // Ultrasonic Sensor https://developer.mbed.org/handbook/Ticker +HCSR04 us(D12, D13); //SRF05(PinName trigger, PinName echo) +DigitalOut selectB(D6); +DigitalOut selectA(D5); +DigitalOut selectb(D4); +DigitalOut selecta(D3); +#define d1 5 +#define d2 20 +#define d3 35 +#define d4 50 +int range[12] = {0}; +float dis = 0; + +void US() +{ + int i = 0; + for( i = 0; i <= 11; i++) + { + switch(i) + { + case 0: // b=0 a=0 B=0 A=0 Board1 + selectb = 0; + selecta = 0; + selectB = 0; + selectA = 0; + break; + case 1: // b=0 a=0 B=0 A=1 Board1 + selectb = 0; + selecta = 0; + selectB = 0; + selectA = 1; + break; + case 2: // b=0 a=0 B=1 A=0 Board1 + selectb = 0; + selecta = 0; + selectB = 1; + selectA = 0; + break; + case 3: // b=0 a=0 B=1 A=1 Board1 + selectb = 0; + selecta = 0; + selectB = 1; + selectA = 1; + break; + case 4: // b=0 a=1 B=0 A=0 Board2 + selectb = 0; + selecta = 1; + selectB = 0; + selectA = 0; + break; + case 5: // b=0 a=1 B=0 A=1 Board2 + selectb = 0; + selecta = 1; + selectB = 0; + selectA = 1; + break; + case 6: // b=0 a=1 B=1 A=0 Board2 + selectb = 0; + selecta = 1; + selectB = 1; + selectA = 0; + break; + case 7: // b=0 a=1 B=1 A=1 Board2 + selectb = 0; + selecta = 1; + selectB = 1; + selectA = 1; + break; + case 8: // b=1 a=0 B=0 A=0 Board3 + selectb = 1; + selecta = 0; + selectB = 0; + selectA = 0; + break; + case 9: // b=1 a=0 B=0 A=1 Board3 + selectb = 1; + selecta = 0; + selectB = 0; + selectA = 1; + break; + case 10: // b=1 a=0 B=1 A=0 Board3 + selectb = 1; + selecta = 0; + selectB = 1; + selectA = 0; + break; + case 11: // b=1 a=0 B=1 A=1 Board3 + selectb = 1; + selecta = 0; + selectB = 1; + selectA = 1; + break; + } + dis = us.getCm(); + if ( dis >= 0 && dis < d1) + { + range[i] = 0; + } + else if ( dis >= d1 && dis < d2) + { + range[i] = 1; + } + else if ( dis >= d2 && dis < d3) + { + range[i] = 2; + } + else if ( dis >= d3 && dis <= d4) + { + range[i] = 3; + } + else + { + range[i] = 4; + } + } + //printf(" %d | %d | %d | %d --- %d | %d | %d | %d --- %d | %d | %d | %d \n", range[0], range[1], range[2], range[3], range[4], range[5], range[6], range[7], range[8], range[9], range[10], range[11]); +} + +int main() +{ + pc.baud(115200); + Ultrasonic.attach(&US, 0.5); // the address of the function to be attached (US) and the interval (0.4 seconds) + while(1) + { + printf(" %d | %d | %d | %d --- %d | %d | %d | %d --- %d | %d | %d | %d \n", range[0], range[1], range[2], range[3], range[4], range[5], range[6], range[7], range[8], range[9], range[10], range[11]); + wait(2); + } +} + + + + + + \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Aug 10 03:03:16 2016 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/f9eeca106725 \ No newline at end of file