ayuda proyecto robot android sensor ultrasonico

he intentado hacer eso, pero nada... cuando le digo de tirar para delante no funciona, y si conecto el servo y el lcd al circuito nada sucede... estoy bastante desesperado, alguien podría solucionarme la papeleta?

gracias y un saludo!

sixto

#include <Servo.h>
#include <LiquidCrystal.h>
Servo servoloco;  // create servo object to control a servo 
char puertoserie; // variable to receive data from the serial port


int motor_izquierda[] = {3, 5};
int motor_derecha[] = {6, 9};
int val = 0;       // variable to store the value coming from the sensor


#define echoPin 36             // the SRF05's echo pin
#define initPin 37             // the SRF05's init pin
unsigned long pulseTime = 0;  // variable for reading the pulse
LiquidCrystal lcd(22, 24, 26, 28, 30, 32);

void setup() { 
  servoloco.attach(11);  // attaches the servo on pin 11 to the servo object v
  Serial.begin(9600);       // start serial communication at 9600bps

int i;
for(i = 0; i < 2; i++){
pinMode(motor_izquierda[i], OUTPUT);
pinMode(motor_derecha[i], OUTPUT);

 lcd.begin(16, 2);
 pinMode(initPin, OUTPUT);
 pinMode(echoPin, INPUT);
}
}


void loop() {
  if( Serial.available() )       // if data is available to read
  {
    puertoserie = Serial.read();         // read it and store it in 'val'
  }
  if( puertoserie == 'w'  )
//do
  {
    go_forward_both_motors_on(); 
  }
  
  //if (pulseTime<=15);
  //{
  //stop_motors_both_motors_off2(); 
  //}
     //while  (initPin >=15);
      //{
       // stop_motors_both_motors_off2();      
     // }
   if( puertoserie == 's' )               
  {
   
    go_forward_both_motors_on(); 
  } 
   if( puertoserie == 'd' )               
  {
    go_right();  
  } 
   if( puertoserie == 'a' )              
  {
    go_left();  
  } 
  if( puertoserie == 'q' )              
  {
    stop_motors_both_motors_off(); 
  } 
  if ( puertoserie == 'o' ) 
  {
  } 
 if ( puertoserie == 'z' ) 
 {
  stop_motors_both_motors_off();
 } 


{ 
  servoloco.write(10);                  // sets the servo position according to the scaled value 
  delay(600);                           // waits for the servo to get there 
  servoloco.write(170);                  // sets the servo position according to the scaled value 
  delay(600);                           // waits for the servo to get there 
} 
{
digitalWrite(initPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(initPin, LOW);
 pulseTime = pulseIn(echoPin, HIGH);
 lcd.setCursor(0,0);
 lcd.print(pulseTime / 58, DEC);
 //lcd.clear();
 lcd.print("cm");
 delay(100);
 //lcd.clear();
}
}
void stop_motors_both_motors_off(){
digitalWrite(motor_izquierda[0], LOW);
digitalWrite(motor_izquierda[1], LOW);

digitalWrite(motor_derecha[0], LOW);
digitalWrite(motor_derecha[1], LOW);
}

void go_left(){
digitalWrite(motor_izquierda[0], HIGH);
digitalWrite(motor_izquierda[1], LOW);

digitalWrite(motor_derecha[0], HIGH);
digitalWrite(motor_derecha[1], LOW);
}

void go_right(){
digitalWrite(motor_izquierda[0], LOW);
digitalWrite(motor_izquierda[1], HIGH);

digitalWrite(motor_derecha[0], LOW);
digitalWrite(motor_derecha[1], HIGH);
}

void go_forward_both_motors_on(){
digitalWrite(motor_izquierda[0], LOW);
digitalWrite(motor_izquierda[1], HIGH);

digitalWrite(motor_derecha[0], HIGH);
digitalWrite(motor_derecha[1], LOW);
}

void go_backwards_both_motors_on(){
digitalWrite(motor_izquierda[0], HIGH);
digitalWrite(motor_izquierda[1], LOW);

digitalWrite(motor_derecha[0], LOW);
digitalWrite(motor_derecha[1], HIGH);
}

void stop_motors_both_motors_off2(){
digitalWrite(motor_izquierda[0], LOW);
digitalWrite(motor_izquierda[1], LOW);

digitalWrite(motor_derecha[0], LOW);
digitalWrite(motor_derecha[1], LOW);
}