Range Finder (Version 1) - Indicator LEDs at 50cm and 70cm
Dependencies: mbed
Fork of MaxSonar_EZ1_Analog by
Diff: main.cpp
- Revision:
- 0:9dfac5da16a9
- Child:
- 1:b3590ab2a8ae
diff -r 000000000000 -r 9dfac5da16a9 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Jan 25 00:05:16 2011 +0000 @@ -0,0 +1,38 @@ +#include "mbed.h" + +// MaxSonar EZ1 test program +// by Michael Shimniok http://www.bot-thoughts.com/ +// +// Based on datasheet here: http://www.maxbotix.com/uploads/LV-MaxSonar-EZ1-Datasheet.pdf +// Reads from AN (analog) pin connected to mbed p20, assumes 3.3V supply to EZ1 module. +// +// mbed -> EZ1 +// ----------- +// VOUT -> +5 +// GND -> GND +// p20 -> AN +// + +AnalogIn ain(p20); +Serial pc(USBTX, USBRX); // tx, rx + +int main() { + float adc, volts, inches; + int feet, in; + + pc.baud(115200); + + while (1){ + adc = ain.read(); // read analog as a float + volts = adc * 3.3; // convert to volts + inches = volts / 0.0064; // 3.3V supply: 6.4mV per inch + feet = (int) inches / 12; // inches to feet (trunc) + in = (int) inches % 12; // remainder -> in(ches) + + pc.printf("%8.2f adc %8.2fV %8.2f in %d'%d\"\n", adc, volts, inches, feet, in); + + wait(0.05); // 20Hz update rate ; note we aren't truly synchronized to the device or anything... + } +} + +