Range Finder (Version 1) - Indicator LEDs at 50cm and 70cm

Dependencies:   mbed

Fork of MaxSonar_EZ1_Analog by Michael Shimniok

Committer:
wadh4587
Date:
Tue Jun 14 11:12:17 2016 +0000
Revision:
1:b3590ab2a8ae
Parent:
0:9dfac5da16a9
Version 1 LV-MaxSonar-EZ1 range finder with indicators at 50cm and 70cm

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wadh4587 1:b3590ab2a8ae 1 /* Arthur Spencer 14/06/16
wadh4587 1:b3590ab2a8ae 2 LV-MaxSonar-EZ1 Range Finder
wadh4587 1:b3590ab2a8ae 3 Indicator LED at D0 (always on), Range indicators that come on at 70cm and 50cm
wadh4587 1:b3590ab2a8ae 4
wadh4587 1:b3590ab2a8ae 5 */
shimniok 0:9dfac5da16a9 6 #include "mbed.h"
shimniok 0:9dfac5da16a9 7
wadh4587 1:b3590ab2a8ae 8 AnalogIn ain(A0); //Receives analogue signal from range finder
wadh4587 1:b3590ab2a8ae 9 //Serial pc(USBTX, USBRX);
shimniok 0:9dfac5da16a9 10
wadh4587 1:b3590ab2a8ae 11 DigitalOut far(D0);
wadh4587 1:b3590ab2a8ae 12 DigitalOut mid(D1);
wadh4587 1:b3590ab2a8ae 13 DigitalOut near(D2);
wadh4587 1:b3590ab2a8ae 14
wadh4587 1:b3590ab2a8ae 15 int main()
wadh4587 1:b3590ab2a8ae 16 {
wadh4587 1:b3590ab2a8ae 17 float volts, distance;
shimniok 0:9dfac5da16a9 18
wadh4587 1:b3590ab2a8ae 19 while (1) {
wadh4587 1:b3590ab2a8ae 20 volts = ain.read();
wadh4587 1:b3590ab2a8ae 21 distance = volts*600; //cm
wadh4587 1:b3590ab2a8ae 22 // pc.printf("V = %f Distance = %f\n\n", volts, distance); //Prints voltage and distance
wadh4587 1:b3590ab2a8ae 23 // wait(0.5);
wadh4587 1:b3590ab2a8ae 24 if (distance<30) {
wadh4587 1:b3590ab2a8ae 25 near = 1, mid = 1, far = 1;
wadh4587 1:b3590ab2a8ae 26 } else {
wadh4587 1:b3590ab2a8ae 27 if (distance<50) {
wadh4587 1:b3590ab2a8ae 28 near = 0, mid = 1, far = 1;
wadh4587 1:b3590ab2a8ae 29 } else {
wadh4587 1:b3590ab2a8ae 30 near = 0, mid = 0, far = 1;
wadh4587 1:b3590ab2a8ae 31 }
shimniok 0:9dfac5da16a9 32 }
shimniok 0:9dfac5da16a9 33 }
wadh4587 1:b3590ab2a8ae 34 }