Farid Izar / Mbed 2 deprecated Sonic

Dependencies:   SonicD mbed

Committer:
Faridzaher
Date:
Sat Mar 29 04:15:35 2014 +0000
Revision:
0:d3f1f650e365
First Version;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Faridzaher 0:d3f1f650e365 1 #include "mbed.h"
Faridzaher 0:d3f1f650e365 2 #include "SonicD.h"
Faridzaher 0:d3f1f650e365 3
Faridzaher 0:d3f1f650e365 4 /*class SonicD{
Faridzaher 0:d3f1f650e365 5 public:
Faridzaher 0:d3f1f650e365 6 InterruptIn nombre;//(sonicPW);
Faridzaher 0:d3f1f650e365 7 Timer t;
Faridzaher 0:d3f1f650e365 8 SonicD(PinName sonicPW) : nombre(sonicPW){
Faridzaher 0:d3f1f650e365 9 nombre.rise(this, &SonicD::rise_int);
Faridzaher 0:d3f1f650e365 10 nombre.fall(this, &SonicD::get_uS);
Faridzaher 0:d3f1f650e365 11 }
Faridzaher 0:d3f1f650e365 12
Faridzaher 0:d3f1f650e365 13 volatile float dcm;
Faridzaher 0:d3f1f650e365 14 volatile float din;
Faridzaher 0:d3f1f650e365 15
Faridzaher 0:d3f1f650e365 16 float getIn(){
Faridzaher 0:d3f1f650e365 17 din = uS/147.0;
Faridzaher 0:d3f1f650e365 18 return din;
Faridzaher 0:d3f1f650e365 19 }
Faridzaher 0:d3f1f650e365 20 float getCm(){
Faridzaher 0:d3f1f650e365 21 dcm = (uS/147.0)*2.54;
Faridzaher 0:d3f1f650e365 22 return dcm;
Faridzaher 0:d3f1f650e365 23 }
Faridzaher 0:d3f1f650e365 24 void rise_int(){
Faridzaher 0:d3f1f650e365 25 t.start();
Faridzaher 0:d3f1f650e365 26 }
Faridzaher 0:d3f1f650e365 27 void get_uS(){
Faridzaher 0:d3f1f650e365 28 uS = t.read_us();
Faridzaher 0:d3f1f650e365 29 t.reset();
Faridzaher 0:d3f1f650e365 30 }
Faridzaher 0:d3f1f650e365 31
Faridzaher 0:d3f1f650e365 32 private:
Faridzaher 0:d3f1f650e365 33 volatile int uS;
Faridzaher 0:d3f1f650e365 34 };
Faridzaher 0:d3f1f650e365 35 */
Faridzaher 0:d3f1f650e365 36 //---------------------------------------------------------------------
Faridzaher 0:d3f1f650e365 37
Faridzaher 0:d3f1f650e365 38 Serial pc(USBTX, USBRX);
Faridzaher 0:d3f1f650e365 39 SonicD sensor(PTA12);
Faridzaher 0:d3f1f650e365 40
Faridzaher 0:d3f1f650e365 41 int main() {
Faridzaher 0:d3f1f650e365 42 while(1){
Faridzaher 0:d3f1f650e365 43 wait(0.2);
Faridzaher 0:d3f1f650e365 44 int x = sensor.getIn();
Faridzaher 0:d3f1f650e365 45 int y = sensor.getCm();
Faridzaher 0:d3f1f650e365 46 pc.printf("%i in\t%i cm\n", x, y);
Faridzaher 0:d3f1f650e365 47 }
Faridzaher 0:d3f1f650e365 48 }