Travis Montoya
/
SharpSensor
A test program for use with the Sharp distance sensors
main.cpp@0:84992ad0540c, 2011-01-13 (annotated)
- Committer:
- avrfr3ak
- Date:
- Thu Jan 13 08:45:52 2011 +0000
- Revision:
- 0:84992ad0540c
Who changed what in which revision?
User | Revision | Line number | New 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 | } |