aiuto nuovo software progetto lego tecnics

Ciao,
Sono nuovo del forum, mi servirebbe un aiuto su un progetto che sto realizzando.
Sto costruendo una macchina 4WD con la lego tecnics l'hardware è composto da arduino uno - BotBoarDuino - 1 sensore ultrasuoni - 4 motori in corrente continua e 2 sensori infrarossi per lettura linea nera su pavimento.
ho un listato che vorrei modificare inserendo la lettura degli infrarossi ma non so come fare. qualcuno mi puo aiutare ? posso inserire il listato ? se si come faccio copia incolla ?

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento: Regolamento

Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare.
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.

Ciao, grazie della risposta.
Spero di aver capito per il codice.
Devo modificarlo e inserire un controllo infrarossi già inserito in parte per avere una lettura nel monitor seriale.
vorrei che quando il valore della lettura e al di sotto di 10cm sia del sx che del dx la macchina torna indietro.

#include <AFMotor.h>
#include <Servo.h> 
#include <NewPing.h>


#define TRIG_PIN A4
#define ECHO_PIN A5 
#define MAX_DISTANCE 200
#define MAX_SPEED 180
#define MAX_SPEED_OFFSET 20 
#define COLL_DIST 10
#define TURN_DIST COLL_DIST+10
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor motor1(1, MOTOR12_1KHZ);
AF_DCMotor motor2(4, MOTOR12_1KHZ); 
AF_DCMotor motor3(2, MOTOR34_1KHZ);
AF_DCMotor motor4(3, MOTOR34_1KHZ);

Servo myservo; 

int pos = 0; 
  int maxDist = 0;
  int maxAngle = 0;
  int maxRight = 0;
  int maxLeft = 0;
  int maxFront = 0;
int course = 0;
int curDist = 0;
String motorSet = "";
int speedSet = 0;
[color=red]int IRpindx =A3;                     // SENSORE DESTRO[/color]
int IRpinsx =A2;                                     // SENSORE SINISTRO

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

  
  myservo.attach(9); 
  myservo.write(90);
  delay(2000); 
  checkPath(); 
  motorSet = "FORWARD";
  myservo.write(90);
  moveForward();
}
//----------------------------------------------------------------------------------------------------------------------

//---------------------------------------------MAIN LOOP ------------------------------------------------------------
void loop() {
  checkForward();
  checkPath();   

//*****************LETTURE SENSORI SU MONITOR SERIALE************************************  

  float voltsdx = analogRead(IRpindx)*0.0048828125;  
  float distancedx = 65*pow(voltsdx, -1.10);        
  Serial.println(distancedx);                       
  delay(100);
  float voltssx = analogRead(IRpinsx)*0.0048828125;  
  float distancesx = 65*pow(voltssx, -1.10);          
  Serial.println(distancesx);                       
  delay(100);

//********************************************************************************************

}
//-----------------------------------------------------------------------------------------------------------------------
void checkPath() {
  int curLeft = 0;
  int curFront = 0;
  int curRight = 0;
  int curDist = 0;
  myservo.write(144); 
  delay(120); 
  for(pos = 144; pos >= 36; pos-=18)    
  {
    myservo.write(pos); 
    delay(90);   
    checkForward(); 
    curDist = readPing(); 
    if (curDist < COLL_DIST) { 
      checkCourse();
      break; 
    }
    if (curDist < TURN_DIST) {
      changePath();
    }
    if (curDist > curDist) {maxAngle = pos;}
    if (pos > 90 && curDist > curLeft) { curLeft = curDist;}
    if (pos == 90 && curDist > curFront) {curFront = curDist;}
    if (pos < 90 && curDist > curRight) {curRight = curDist;}
  }
  maxLeft = curLeft;
  maxRight = curRight;
  maxFront = curFront;
}
//----------------------------------------------------------------------------------------------------------------------------
void setCourse() { 
    if (maxAngle < 90) {turnRight();}
    if (maxAngle > 90) {turnLeft();}
    maxLeft = 0;
    maxRight = 0;
    maxFront = 0;
}
//----------------------------------------------------------------------------------------------------------------------------
void checkCourse() {
  moveBackward();
  delay(500);
  moveStop();
  setCourse();
}
//----------------------------------------------------------------------------------------------------------------------------
void changePath() {
  if (pos < 90) {veerLeft();}
  if (pos > 90) {veerRight();} 
}
//----------------------------------------------------------------------------------------------------------------------------

int readPing() {
  delay(70);
  unsigned int uS = sonar.ping();
  int cm = uS/US_ROUNDTRIP_CM;
  return cm;
}
//----------------------------------------------------------------------------------------------------------------------------
void checkForward() { if (motorSet=="FORWARD") {motor1.run(FORWARD); motor2.run(FORWARD);motor3.run(FORWARD); motor4.run(FORWARD); } }     
//----------------------------------------------------------------------------------------------------------------------------
void checkBackward() { if (motorSet=="BACKWARD") {motor1.run(BACKWARD); motor2.run(BACKWARD);motor3.run(BACKWARD); motor4.run(BACKWARD); } } 
//----------------------------------------------------------------------------------------------------------------------------



//----------------------------------------------------------------------------------------------------------------------------
void moveStop() {motor1.run(RELEASE); motor2.run(RELEASE);motor3.run(RELEASE); motor4.run(RELEASE);} 
//----------------------------------------------------------------------------------------------------------------------------
void moveForward() {
    motorSet = "FORWARD";
    motor1.run(FORWARD);      
    motor2.run(FORWARD);     
    motor3.run(FORWARD);
    motor4.run(FORWARD); 
  for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2)
  {
    motor1.setSpeed(speedSet);
    motor3.setSpeed(speedSet);
    motor2.setSpeed(speedSet+MAX_SPEED_OFFSET);
    motor4.setSpeed(speedSet+MAX_SPEED_OFFSET);
    delay(5);
  }
}
//----------------------------------------------------------------------------------------------------------------------------
void moveBackward() {
    motorSet = "BACKWARD";
    motor1.run(BACKWARD);    
    motor2.run(BACKWARD);   
    motor3.run(BACKWARD);    
    motor4.run(BACKWARD);    
      
  for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2)
  {
    motor1.setSpeed(speedSet);
    motor3.setSpeed(speedSet);
    motor2.setSpeed(speedSet+MAX_SPEED_OFFSET);
    motor4.setSpeed(speedSet+MAX_SPEED_OFFSET);
    delay(5);
  }
}  
//-----------------------------------------------------------------------------------------------------------------------
void turnRight() {
  motorSet = "RIGHT";
  motor1.run(FORWARD);     
  motor3.run(BACKWARD);
  motor2.run(BACKWARD);     
  motor4.run(FORWARD);
  delay(400); 
  motorSet = "FORWARD";
  motor1.run(FORWARD);     
  motor2.run(FORWARD);
  motor3.run(FORWARD);
  motor4.run(FORWARD);
}  
//------------------------------------------------------------------------------------------------------------------------
void turnLeft() {
  motorSet = "LEFT";
  motor1.run(BACKWARD);     
  motor3.run(FORWARD);      
  motor4.run(BACKWARD);
  motor2.run(FORWARD);
  delay(400);
  motorSet = "FORWARD";
  motor1.run(FORWARD);     
  motor2.run(FORWARD);
  motor3.run(FORWARD);
  motor4.run(FORWARD);     
}  
//-------------------------------------------------------------------------------------------------------------------------
void veerRight() {motor2.run(BACKWARD); delay(400); motor2.run(FORWARD);motor4.run(BACKWARD); delay(400); motor4.run(FORWARD);}
//------------------------------------------------------------------------------------------------------------------------
void veerLeft() {motor1.run(BACKWARD); delay(400); motor1.run(FORWARD);motor3.run(BACKWARD); delay(400); motor3.run(FORWARD);}
//--------------------------------------------------------------------------------------------------------------------------

Nel software non so quale variabile contiene la distanza da te citata.
Comunque puoi usare un struttura condizionale if (condizione) { codice da eseguire se la condizione risulta vera }.

Nel tuo caso supponiamo che le variabili sia:maxDist

if (maxDist <= 10) {
    // scrivi qui il codice per fare tornare indietro l'auto
}

Ciao.

ok grazie provo
ciao