Libreria para usar sensor MaxSonar EZ01 con PulseWidth
MaxSonar.cpp@0:de1c628c1495, 2014-03-27 (annotated)
- 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?
User | Revision | Line number | New 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 | } |