A test program for use with the Sharp distance sensors

Dependencies:   mbed

Committer:
avrfr3ak
Date:
Thu Jan 13 08:45:52 2011 +0000
Revision:
0:84992ad0540c

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
avrfr3ak 0:84992ad0540c 1 /* Sharp Sensor Test
avrfr3ak 0:84992ad0540c 2 * Connections:
avrfr3ak 0:84992ad0540c 3 * PIN15 (White) Signal
avrfr3ak 0:84992ad0540c 4 * 5.0V USB Out Sensor Power (+)
avrfr3ak 0:84992ad0540c 5 * GND Sensor Gnd (-)
avrfr3ak 0:84992ad0540c 6 * Place a 10uf cap close the the sensor between VCC nad GND
avrfr3ak 0:84992ad0540c 7 */
avrfr3ak 0:84992ad0540c 8 #include "mbed.h"
avrfr3ak 0:84992ad0540c 9
avrfr3ak 0:84992ad0540c 10 /* Standard LED's on the mbed */
avrfr3ak 0:84992ad0540c 11 DigitalOut led1(LED1);
avrfr3ak 0:84992ad0540c 12 DigitalOut led2(LED2);
avrfr3ak 0:84992ad0540c 13 DigitalOut led3(LED3);
avrfr3ak 0:84992ad0540c 14 DigitalOut led4(LED4);
avrfr3ak 0:84992ad0540c 15
avrfr3ak 0:84992ad0540c 16 /* Our signal line is PIN15 */
avrfr3ak 0:84992ad0540c 17 AnalogIn Sensor(p15);
avrfr3ak 0:84992ad0540c 18
avrfr3ak 0:84992ad0540c 19 int main() {
avrfr3ak 0:84992ad0540c 20 while (1) {
avrfr3ak 0:84992ad0540c 21 /*
avrfr3ak 0:84992ad0540c 22 * Efficient way as the object gets closer to the
avrfr3ak 0:84992ad0540c 23 * sensor the LED's will turn on, as the object
avrfr3ak 0:84992ad0540c 24 * moves away they count back down. Original by Dan Ros
avrfr3ak 0:84992ad0540c 25 */
avrfr3ak 0:84992ad0540c 26 led1 = (Sensor > 0.2) ? 1 : 0;
avrfr3ak 0:84992ad0540c 27 led2 = (Sensor > 0.4) ? 1 : 0;
avrfr3ak 0:84992ad0540c 28 led3 = (Sensor > 0.6) ? 1 : 0;
avrfr3ak 0:84992ad0540c 29 led4 = (Sensor > 0.8) ? 1 : 0;
avrfr3ak 0:84992ad0540c 30
avrfr3ak 0:84992ad0540c 31 /*
avrfr3ak 0:84992ad0540c 32 * A cool effect when the full range of the sensor
avrfr3ak 0:84992ad0540c 33 * has been reached, all LED's flash
avrfr3ak 0:84992ad0540c 34 */
avrfr3ak 0:84992ad0540c 35 if (Sensor >= 0.9) {
avrfr3ak 0:84992ad0540c 36 led1 = led2 = led3 = led4 = 1;
avrfr3ak 0:84992ad0540c 37 wait(0.02);
avrfr3ak 0:84992ad0540c 38 led1 = led2 = led3 = led4 = 0;
avrfr3ak 0:84992ad0540c 39 wait(0.02);
avrfr3ak 0:84992ad0540c 40 }
avrfr3ak 0:84992ad0540c 41
avrfr3ak 0:84992ad0540c 42 wait(0.02);
avrfr3ak 0:84992ad0540c 43
avrfr3ak 0:84992ad0540c 44 }
avrfr3ak 0:84992ad0540c 45 }