Object Avoidance Program
Dependencies: 4DGL-uLCD-SE Motordriver mbed
main.cpp@3:8af20d0242b2, 2014-04-29 (annotated)
- Committer:
- rokash000
- Date:
- Tue Apr 29 22:06:35 2014 +0000
- Revision:
- 3:8af20d0242b2
- Parent:
- 2:d38a5f767527
- Child:
- 4:1c83cabcd6f8
Sensor testing with LEDS
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rokash000 | 0:eb26279eeb24 | 1 | |
rokash000 | 0:eb26279eeb24 | 2 | #include "mbed.h" |
rokash000 | 0:eb26279eeb24 | 3 | #include "motordriver.h" |
rokash000 | 0:eb26279eeb24 | 4 | //#include "SHARPIR.h" |
rokash000 | 0:eb26279eeb24 | 5 | #include "uLCD_4DGL.h" |
rokash000 | 0:eb26279eeb24 | 6 | |
rokash000 | 0:eb26279eeb24 | 7 | Motor mA(p22, p6, p5, 1); // pwm, fwd, rev |
rokash000 | 0:eb26279eeb24 | 8 | Motor mB(p23, p8, p7, 1); // pwm, fwd, rev |
rokash000 | 0:eb26279eeb24 | 9 | |
rokash000 | 0:eb26279eeb24 | 10 | |
rokash000 | 0:eb26279eeb24 | 11 | Serial pc(USBTX, USBRX); // tx, rx |
rokash000 | 0:eb26279eeb24 | 12 | DigitalOut led_back(p16); // test led for Back_sensor |
rokash000 | 0:eb26279eeb24 | 13 | DigitalOut led_left(p15); // test led for Back_sensor |
rokash000 | 0:eb26279eeb24 | 14 | DigitalOut led_right(p14); // test led for Back_sensor |
rokash000 | 0:eb26279eeb24 | 15 | DigitalOut led_front(p13); // test led for Back_sensor |
rokash000 | 0:eb26279eeb24 | 16 | |
rokash000 | 0:eb26279eeb24 | 17 | AnalogIn irBack_ain(p18); |
rokash000 | 0:eb26279eeb24 | 18 | AnalogIn irFront_ain(p17); |
rokash000 | 0:eb26279eeb24 | 19 | AnalogIn irLeft_ain(p20); |
rokash000 | 0:eb26279eeb24 | 20 | AnalogIn irRight_ain(p19); |
rokash000 | 0:eb26279eeb24 | 21 | |
rokash000 | 0:eb26279eeb24 | 22 | //SHARPIR sensor_back(p18); //the output of the sharpIR sensor is connected to the MBEDs pin 10. |
rokash000 | 0:eb26279eeb24 | 23 | |
rokash000 | 0:eb26279eeb24 | 24 | //uLCD_4DGL uLCD(p28, p27, p29); // create a global lcd object |
rokash000 | 0:eb26279eeb24 | 25 | |
rokash000 | 0:eb26279eeb24 | 26 | //speed => 1 = forward, -1 = reverse ... range from -1 to 1 |
rokash000 | 0:eb26279eeb24 | 27 | |
rokash000 | 0:eb26279eeb24 | 28 | int main() { |
rokash000 | 0:eb26279eeb24 | 29 | //uLCD.cls(); |
rokash000 | 0:eb26279eeb24 | 30 | float backsensor = 0.0; |
rokash000 | 0:eb26279eeb24 | 31 | float frontsensor = 0.0; |
rokash000 | 0:eb26279eeb24 | 32 | float leftsensor = 0.0; |
rokash000 | 0:eb26279eeb24 | 33 | float rightsensor = 0.0; |
rokash000 | 0:eb26279eeb24 | 34 | int sensor = 0; |
rokash000 | 0:eb26279eeb24 | 35 | while(1){ |
rokash000 | 0:eb26279eeb24 | 36 | |
rokash000 | 0:eb26279eeb24 | 37 | |
rokash000 | 0:eb26279eeb24 | 38 | |
rokash000 | 0:eb26279eeb24 | 39 | |
rokash000 | 0:eb26279eeb24 | 40 | |
rokash000 | 0:eb26279eeb24 | 41 | //float backsensor = sensor_back.cm(); |
rokash000 | 0:eb26279eeb24 | 42 | |
rokash000 | 0:eb26279eeb24 | 43 | backsensor = irBack_ain * 100; |
rokash000 | 0:eb26279eeb24 | 44 | // pc.printf("FRONT Sensor is: %f \n", backsensor); |
rokash000 | 0:eb26279eeb24 | 45 | frontsensor = irFront_ain * 100; |
rokash000 | 0:eb26279eeb24 | 46 | leftsensor = irLeft_ain * 100; |
rokash000 | 0:eb26279eeb24 | 47 | rightsensor = irRight_ain * 100; |
rokash000 | 0:eb26279eeb24 | 48 | //pc.printf("Front Sensor is: %f \n", frontsensor); |
rokash000 | 0:eb26279eeb24 | 49 | // pc.printf("Left Sensor is: %f \n", leftsensor); |
rokash000 | 0:eb26279eeb24 | 50 | // pc.printf("Right Sensor is: %f \n", rightsensor); |
rokash000 | 0:eb26279eeb24 | 51 | // |
rokash000 | 0:eb26279eeb24 | 52 | if((frontsensor > 52)&&(frontsensor < 100)){ |
rokash000 | 3:8af20d0242b2 | 53 | //mA.stop(0.5); |
rokash000 | 3:8af20d0242b2 | 54 | // mB.stop(0.5); |
rokash000 | 3:8af20d0242b2 | 55 | //mA.speed(-.6); |
rokash000 | 3:8af20d0242b2 | 56 | //mB.speed(-.8); |
rokash000 | 3:8af20d0242b2 | 57 | //led_front = 1; |
rokash000 | 3:8af20d0242b2 | 58 | // led_back = 0; |
rokash000 | 3:8af20d0242b2 | 59 | // led_left = 0; |
rokash000 | 3:8af20d0242b2 | 60 | // led_right = 0; |
rokash000 | 3:8af20d0242b2 | 61 | // mA.stop(0.5); |
rokash000 | 3:8af20d0242b2 | 62 | //mB.stop(0.5); |
rokash000 | 3:8af20d0242b2 | 63 | led_front = 1; |
rokash000 | 3:8af20d0242b2 | 64 | } |
rokash000 | 3:8af20d0242b2 | 65 | else {led_front= 0;} |
rokash000 | 3:8af20d0242b2 | 66 | |
rokash000 | 3:8af20d0242b2 | 67 | if((backsensor > 52)&&(backsensor < 100)){ |
rokash000 | 2:d38a5f767527 | 68 | led_back = 1;} |
rokash000 | 3:8af20d0242b2 | 69 | else {led_back = 0;} |
rokash000 | 3:8af20d0242b2 | 70 | |
rokash000 | 3:8af20d0242b2 | 71 | if((leftsensor > 52)&&(leftsensor < 100)){ |
rokash000 | 2:d38a5f767527 | 72 | led_left = 1;} |
rokash000 | 3:8af20d0242b2 | 73 | else {led_left = 0;} |
rokash000 | 3:8af20d0242b2 | 74 | |
rokash000 | 3:8af20d0242b2 | 75 | if((rightsensor > 52)&&(rightsensor < 100)){ |
rokash000 | 2:d38a5f767527 | 76 | led_right = 1;} |
rokash000 | 3:8af20d0242b2 | 77 | else {led_right = 0;} |
rokash000 | 3:8af20d0242b2 | 78 | |
rokash000 | 3:8af20d0242b2 | 79 | |
rokash000 | 3:8af20d0242b2 | 80 | |
rokash000 | 1:ab45b552644b | 81 | } |
rokash000 | 0:eb26279eeb24 | 82 | } |