tinhas ali várias chavetas em falta.. experimenta assim
# include <Servo.h>
Servo servo;
int servoPin =9;
int sensorPin =2; // pin onde o sensor Sharp esta ligado
int sensorValue=0; //variavel que vai conter o valor de leitura do sensor
int left,right,front,stop;//variaveis que vou conter os valores de leitura do sensor
// definir a distancia segura, valores abaixo significa que estao perto de um obstaculo
// varia consoante o sensor
int distanciaSegura =150;
int motor_front[]={
4,6};
int motor_back[]={
5,7};
int motor_left[]={
4,7};
int motor_right[]={
5,6};
int i;
//funcao qd arduino e chamado
void setup(){
Serial.begin(9600);
//declarar emque pino esta o servo
servo.attach(servoPin);
//setuo dos motores
for(i=0;i<2;i++){
pinMode(motor_front[i],OUTPUT);
pinMode(motor_stop[i],OUTPUT);
pinMode(motor_left[i],OUTPUT);
pinMode(motor_right[i],OUTPUT);
}
}
void loop(){
//mede distancia de X em X tempo
if(mede_distancia.check()==1){
olhaFrente();
}
//se a distancia em frente for menos do que a distancia segura previeamente definida
//decidir para onde ir
if(frente<front<distaciaSegura){
drive_forward();
}
else{
decidirDireccao();
}
}
//
void decidirDireccao(){
motor_stop();
olhaEsquerda();
delay(250);
motor_stop(),
olhaDireita();
delay(250);
if(left<right){
turn_left();
else
turn_right();
}
}
void olhaEsquerda(){
//olha p a esquerda e mede a distancia
servo.write(20);
delay(500);
readIR();
left=sensorValue;
}
void olhadireita(){
//olha p a esquerda e mede a distancia
servo.write(160);
delay(500);
readIR();
right=sensorValue;
}
void olhaFrente(){
//olha p a esquerda e mede a distancia
servo.write(90);
delay(500);
readIR();
front=sensorValue;
}
int readIR(){
return sensorValue=analogRead(4);
//Serial.println(sensorValue);
}