problema con il mio codice

ciao, posso chiedervi una mano per sistemare il mio codice? il 3 luglio ho la tesina e non riesco proprio a farlo funzionare!
grazie mille in anticipo. vi allego qui sotto lo sketch

// --------------------------------------------------------------------------- Motors
int sensor_left[] = {3};
int sensor_right[] = {4};
int motor_left[] = {2}; 
int motor_right[] = {7}; 


// --------------------------------------------------------------------------- Setup
void setup() {
Serial.begin(9600);

// Setup motors
int i;
for(i = 0; i < 2; i++)
{

pinMode(sensor_left[i], INPUT);
pinMode(sensor_right[i], INPUT);
pinMode(motor_left[i], OUTPUT);
pinMode(motor_right[i], OUTPUT);
}

}

// --------------------------------------------------------------------------- Loop
void loop() { 

drive_forward();
delay(10000);
motor_stop();
Serial.println("1");

drive_backward();
delay(10000);
motor_stop();
Serial.println("2");

turn_left();
delay(10);
motor_stop();
Serial.println("3");

turn_right();
delay(10000);
motor_stop();
Serial.println("4"); 

motor_stop();
delay(10000);
motor_stop();
Serial.println("5");
}

// --------------------------------------------------------------------------- Drive

void motor_stop() {
digitalWrite(motor_left[0], LOW); 

digitalWrite(motor_right[0], LOW); 
delay(25);
}

void drive_forward(){
digitalWrite(motor_left[1], HIGH); 

digitalWrite(motor_right[1], HIGH);  
}

void drive_backward(){
digitalWrite(motor_left[0], LOW); 

digitalWrite(motor_right[0], LOW); 
}

void turn_left(){
digitalWrite(motor_left[0], LOW); 

digitalWrite(motor_right[0], HIGH); 
}

void turn_right(){
digitalWrite(motor_left[0], HIGH); 

digitalWrite(motor_right[0], LOW);  

}

// if on the line drive left and right at the same speed (left is CCW / right is CW)

  
      motor_left = -SPEED; 
      motor_right = SPEED;

  // if the line is under the right sensor, adjust relative speeds to turn to the right
  
 
      leftSpeed = -(SPEED + 50);
      rightSpeed = SPEED - 50;
  }

  // if the line is under the left sensor, adjust relative speeds to turn to the left

  
      leftSpeed = -(SPEED - 50);
      rightSpeed = SPEED + 50;
  }

  // if all sensors are on black or up in the air, stop the motors.
  // otherwise, run motors given the control speeds above.

  
      motors.stop();
  }
  else
  {
      motors.leftMotor(leftSpeed);
      motors.rightMotor(rightSpeed);

  }
  delay(0);  // add a delay to decrease sensitivity.
}

ciao...presentati nell'apposita sezione QUI ...modifica il tuo post includendo lo sketch tra i tag code (pulsante </> sopra le faccine) e poi mi sa che è meglio se ti guardi come funzionano le array di arduino QUI

va bene grazie...

ciao...adesso che guardo meglio il tuo codice oltre ad un po' di confusione con le array hai scritto delle righe di codice, che non sono funzioni, fuori dall loop()...quelle alla fine de tuo programma...per intenderi queste:

// if on the line drive left and right at the same speed (left is CCW / right is CW)


motor_left = -SPEED;
motor_right = SPEED;

// if the line is under the right sensor, adjust relative speeds to turn to the right


leftSpeed = -(SPEED + 50);
rightSpeed = SPEED - 50;
}

// if the line is under the left sensor, adjust relative speeds to turn to the left


leftSpeed = -(SPEED - 50);
rightSpeed = SPEED + 50;
}

// if all sensors are on black or up in the air, stop the motors.
// otherwise, run motors given the control speeds above.


motors.stop();
}
else
{
  motors.leftMotor(leftSpeed);
  motors.rightMotor(rightSpeed);

}
delay(0);  // add a delay to decrease sensitivity.
}

non si fa...e te lo dice anche il compilatore...

okay quindi sarebbe da rifare daccapo?

dipende da te...ci sono un bel po' di cose da sistemare...tipo, appunto, l'uso delle array...

ireneirene:
ciao, posso chiedervi una mano per sistemare il mio codice?

Benvenuto. Essendo il tuo primo post, nel rispetto del regolamento, ti chiediamo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO... Grazie.
Qui una serie di link utili, non inerenti al tuo problema:

Per il codice: infatti questo: int sensor_left[] = {3};
dichiari un array/vettore di 1 UN solo elemento, poi però cerchi di utilizzare l'elemento 0 (okay quello c'e') e l'elemento 1 che NON c'e'. quei vettori hanno solo l'elemento 0, se fai int sensor_left[] = {3,8}; allora ci sono 2 elementi con indice 0 e 1

adesso mi cazziano, dato che lo so che non ti sei ancora presentata e stai anche cross-postando

ma io una domanda te la faccio lo stesso, rispondimi dopo la presentazione

lo schema? senza è difficile capire a cosa corrispondono i numeri che hai messo

>ireneirene: in conformità al REGOLAMENTO, punto 13, il cross-posting è proibito (anche tra lingue diverse) e tu hai già posto la stessa domanda QUI.

Questo tuo thread viene quindi chiuso e ti prego di continuare nell'altra sezione. Grazie.

Guglielmo