Professional Documents
Culture Documents
h>
int buttonState = 0;
char data = 0;
int driverState = 0;
#define trigD1 9
#define echoD1 8
#define trigD2 7
#define echoD2 6
#define trigD3 5
#define echoD3 4
#define trigD4 3
#define echoD4 10
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledpin, OUTPUT);
pinMode(trigD1, OUTPUT);
pinMode(echoD1, INPUT);
pinMode(trigD2, OUTPUT);
pinMode(echoD2, INPUT);
pinMode(trigD3, OUTPUT);
pinMode(echoD3, INPUT);
pinMode(trigD4, OUTPUT);
pinMode(echoD4, INPUT);
myesc.write(80);
myservo1.write(100);
Serial.begin(9600);
void loop() {
SonarSensor(trigD1, echoD1);
distance1 = distance;
SonarSensor(trigD2, echoD2);
distance2 = distance;
SonarSensor(trigD3, echoD3);
distance3 = distance;
SonarSensor(trigD4, echoD4);
distance4 = distance;
distance1 = 0;
distance2 = 0;
distance4 = 0;
difference = (distance1-distance2);
absDiff = abs(difference);
buttonState = digitalRead(buttonPin);
delay(1500);
driverState = 1;
}
data = Serial.read(); //Read the incoming data & store into data
Serial.print("\n");
if(data == '1')
driverState = 1;
if(data == '0')
{
driverState = 0;
if(driverState == 0)
myesc.write(80);
myservo1.write(100);
digitalWrite(ledpin, LOW);
if(driverState == 1)
myesc.write(94);
myservo1.write(65);
else
myesc.write(92);
myservo1.write(130);
}
else if((distance4 < 10 && distance4 != 0)&&(distance3 < 20 && distance3 != 0))
myesc.write(92);
myservo1.write(65);
else
myesc.write(91);
myservo1.write(95);
if((distance2 <= 35)&&(distance2 != 0))
myesc.write(92);
myservo1.write(70);
else
myesc.write(93);
myservo1.write(130);
else
{
myesc.write(91);
myservo1.write(130);
Serial.print(distance1);
Serial.print(distance2);
Serial.print(distance3);
//Serial.print(difference);
//Serial.print("\n \n \n");
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);