Object Avoidance Program

Dependencies:   4DGL-uLCD-SE Motordriver mbed

Committer:
rokash000
Date:
Tue Apr 29 21:20:28 2014 +0000
Revision:
1:ab45b552644b
Parent:
0:eb26279eeb24
Child:
2:d38a5f767527
Just Front Sensor Test

Who changed what in which revision?

UserRevisionLine numberNew 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 1:ab45b552644b 53 mA.stop(0.5);
rokash000 0:eb26279eeb24 54 mB.stop(0.5);
rokash000 0:eb26279eeb24 55 mA.speed(-.6);
rokash000 0:eb26279eeb24 56 mB.speed(-.8);
rokash000 0:eb26279eeb24 57 led_front = 1;
rokash000 0:eb26279eeb24 58 led_back = 0;
rokash000 0:eb26279eeb24 59 led_front = 0;
rokash000 0:eb26279eeb24 60 led_right = 0;
rokash000 1:ab45b552644b 61 mA.stop(0.5);
rokash000 1:ab45b552644b 62 mB.stop(0.5);
rokash000 1:ab45b552644b 63 }
rokash000 1:ab45b552644b 64 else{
rokash000 1:ab45b552644b 65 mA.speed(0.9);
rokash000 1:ab45b552644b 66 mB.speed(0.9);
rokash000 1:ab45b552644b 67 led_left = 1;
rokash000 1:ab45b552644b 68 led_back = 1;
rokash000 1:ab45b552644b 69 led_front = 1;
rokash000 1:ab45b552644b 70 led_right = 1;
rokash000 1:ab45b552644b 71 }
rokash000 1:ab45b552644b 72 }
rokash000 0:eb26279eeb24 73 }