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.
Ranger.cpp
00001 #include "Ranger.h" 00002 00003 00004 00005 // IO bits for the rangefinder 00006 DigitalOut trig(PTD7); 00007 DigitalIn echo(PTD6); 00008 // timer to handle rangefinder 00009 Timer t; 00010 00011 int range(){ 00012 int rangecm=0,rtime=0; 00013 00014 // reset thetimer to zero 00015 t.reset(); 00016 00017 00018 //send a trigger pulse 00019 trig=1; 00020 wait_us(12); 00021 trig=0; 00022 wait_us(12); 00023 trig=1; // thing starts on trigger going high NB - this is buffered with an npn and is connected to its base. high on this pin 00024 // sets the actual trigger pin to low and low on this pin sets it to high - this is becausethe ranger needs 5V for high 00025 // wait for echo to go high 00026 while(echo==0); 00027 t.start(); 00028 while(echo==1 && t.read_us()<58*300); // wait for echo to go low again or for about 3m of range 00029 t.stop(); 00030 rtime=t.read_us(); 00031 t.reset(); 00032 rangecm=rtime/58; // convert time in us to range in cm 00033 return rangecm; // return range in cm 00034 00035 00036 }
Generated on Tue Jul 19 2022 03:06:11 by
1.7.2