Interface class for the Max Botix ultrasonic range finder model 1210. It includes input methods for PWM, Analog, and Serial. A PwmIn class was created to allow the PWM input to be read. Now includes automatic range update via interrupts.

Dependencies:   mbed

Committer:
Blaze513
Date:
Sun Aug 22 21:18:20 2010 +0000
Revision:
0:3d969e0b4ca0
Child:
1:b533b95e807a

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Blaze513 0:3d969e0b4ca0 1 #include "mbed.h"
Blaze513 0:3d969e0b4ca0 2 #include "MB1210.h"
Blaze513 0:3d969e0b4ca0 3
Blaze513 0:3d969e0b4ca0 4 DigitalOut debugled(LED1);
Blaze513 0:3d969e0b4ca0 5 Serial Computer(USBTX, USBRX);
Blaze513 0:3d969e0b4ca0 6
Blaze513 0:3d969e0b4ca0 7 MB1210 RangeFinder(p12, p15, p13, p14);
Blaze513 0:3d969e0b4ca0 8
Blaze513 0:3d969e0b4ca0 9 int main()
Blaze513 0:3d969e0b4ca0 10 {
Blaze513 0:3d969e0b4ca0 11 Computer.baud(9600);
Blaze513 0:3d969e0b4ca0 12 debugled = 0;
Blaze513 0:3d969e0b4ca0 13 RangeFinder.Unit(39.370);//change units to inches
Blaze513 0:3d969e0b4ca0 14 RangeFinder.Voltage(5);
Blaze513 0:3d969e0b4ca0 15 while(1)
Blaze513 0:3d969e0b4ca0 16 {
Blaze513 0:3d969e0b4ca0 17 debugled = !debugled;
Blaze513 0:3d969e0b4ca0 18 RangeFinder.RequestSyncRead();//request a range reading
Blaze513 0:3d969e0b4ca0 19 wait_ms(100);//wait for reading to be prepared
Blaze513 0:3d969e0b4ca0 20 RangeFinder.Mode(0);//switch to PWM mode
Blaze513 0:3d969e0b4ca0 21 Computer.printf("PWM reading: %f in | ", RangeFinder.Read());
Blaze513 0:3d969e0b4ca0 22 RangeFinder.Mode(1);//switch to Analog mode
Blaze513 0:3d969e0b4ca0 23 Computer.printf("Analog reading: %f in | ", RangeFinder.Read());
Blaze513 0:3d969e0b4ca0 24 RangeFinder.Mode(2);//switch to serial mode
Blaze513 0:3d969e0b4ca0 25 Computer.printf("Serial reading: %f in | ", RangeFinder.Read());
Blaze513 0:3d969e0b4ca0 26 wait(0.9);
Blaze513 0:3d969e0b4ca0 27 }
Blaze513 0:3d969e0b4ca0 28 }