Libreria para usar sensor MaxSonar EZ01 con PulseWidth

Dependents:   sensorPulse

Committer:
migool
Date:
Thu Mar 27 23:29:50 2014 +0000
Revision:
0:de1c628c1495
Libreria para usar Sensor MaxSonar EZ01 con PulseWidth

Who changed what in which revision?

UserRevisionLine numberNew contents of line
migool 0:de1c628c1495 1 #include "MaxSonar.h"
migool 0:de1c628c1495 2 #include "mbed.h"
migool 0:de1c628c1495 3 Timer us;
migool 0:de1c628c1495 4
migool 0:de1c628c1495 5 MaxSonar::MaxSonar(PinName pin):_pin(pin){
migool 0:de1c628c1495 6 }
migool 0:de1c628c1495 7
migool 0:de1c628c1495 8 void MaxSonar::up(){
migool 0:de1c628c1495 9 us.start();
migool 0:de1c628c1495 10 }
migool 0:de1c628c1495 11 void MaxSonar::down(){
migool 0:de1c628c1495 12 us.stop();
migool 0:de1c628c1495 13 }
migool 0:de1c628c1495 14 float MaxSonar::pulse(){
migool 0:de1c628c1495 15 _pin.rise(this,&MaxSonar::up);
migool 0:de1c628c1495 16 _pin.fall(this,&MaxSonar::down);
migool 0:de1c628c1495 17 float time=us.read();
migool 0:de1c628c1495 18 return time;
migool 0:de1c628c1495 19 }
migool 0:de1c628c1495 20 float MaxSonar::getinches(){
migool 0:de1c628c1495 21 float in=MaxSonar::pulse()/0.0058;
migool 0:de1c628c1495 22 us.reset();
migool 0:de1c628c1495 23 return in;
migool 0:de1c628c1495 24 }
migool 0:de1c628c1495 25 float MaxSonar::getcm(){
migool 0:de1c628c1495 26 float cm=MaxSonar::pulse()/0.0058*2.54;
migool 0:de1c628c1495 27 us.reset();
migool 0:de1c628c1495 28 return cm;
migool 0:de1c628c1495 29 }