Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 0:47ec319db65c, committed 2019-11-15
- Comitter:
- mlosa010
- Date:
- Fri Nov 15 18:26:05 2019 +0000
- Commit message:
- working Distance sensor;
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HCSR04.lib Fri Nov 15 18:26:05 2019 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/grantphillips/code/HCSR04/#8286d0de19ce
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Fri Nov 15 18:26:05 2019 +0000
@@ -0,0 +1,57 @@
+#define LENOFBOT 2.5
+#define LENOFSENSOR 0.394
+HCSR04 mySensor(p26,p13);
+Serial pc(USBTX, USBRX);
+PwmOut trigger(p24);
+PwmOut trigger_b(p23);
+InterruptIn echoStart(p13,PullDown);
+InterruptIn echoStop(p14,PullDown);
+Timer timer;
+Timer timer_b;
+volatile float front_reading;
+volatile float back_sensor;
+void start(void){
+ timer.start();
+ }
+void stop (void){
+ timer.stop();
+ front_reading = (float)timer.read()*13504;
+ timer.reset();
+ }
+void start_back(void){
+ timer_b.start();
+
+ }
+void stop_back (void){
+ timer_b.stop();
+ back_sensor = (float)timer_b.read()*13480;
+ timer_b.reset();
+ }
+int main() {
+ echoStart.rise(&start);
+ echoStart.fall(&stop);
+ echoStop.rise(&start_back);
+ echoStop.fall(&stop_back);
+ trigger.period(0.06);
+ int pi[]= {3,1,4,2};
+ int currentdigit =0;
+ int front_distance;
+ int back_distance;
+ while(1) {
+ trigger.pulsewidth_us(10);
+ front_distance = (3*pi[currentdigit])+9;
+ back_distance= 27-front_distance;
+
+ if((front_reading/2)+LENOFBOT+LENOFSENSOR>front_distance){
+ pc.printf("moving back distance read: %.3f digit: %d\n\r",(front_reading/2)+LENOFBOT+LENOFSENSOR,pi[1]);
+ if(((back_sensor/2)+LENOFBOT+LENOFSENSOR <= back_distance-0.1||(back_sensor/2)+LENOFBOT+LENOFSENSOR <= back_distance+0.1))
+ int r =1;
+ //currentdigit++;
+ }else if((front_reading/2)+LENOFBOT+LENOFSENSOR<=front_distance){
+ pc.printf("moving forward distance read: %.3f should be %d\n\r",(front_reading/2)+LENOFBOT+LENOFSENSOR, pi[0]);
+ if((back_sensor/2)+LENOFBOT+LENOFSENSOR <= back_distance-0.1||(back_sensor/2)+LENOFBOT+LENOFSENSOR <= back_distance+0.1)
+ int i=1;
+ //currentdigit++;
+ }
+ }
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Nov 15 18:26:05 2019 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file