Zelfrijdende auto

Kan iemand ons helpen met ons profielwerkstuk? Wij hebben een Arduino Mega 2560 waarop wij 4 motoren hebben aangesloten via een motor board, dit motor board kan maar 2 motoren aan dus hebben wij het de linker en rechter 2 motoren samengevoegd. Hier ging het nog goed maar hij hebben 2 sensoren aangesloten op de arduino om het voertuig zelfrijdend te maken, maar dit werkt niet. Wij zijn hier al meerdere maanden mee bezig(dit is ons eerste Arduino project dus wij wisten niet hoe dit werkte), maar onE code werkt niet zoals wij het willen. Zou iemand zo aardig kunnen zijn om onze code voor ons aan te passen? Wij hebben namelijk tot vanavond om deze auto werkend te hebben. Met voorbaat dank.

// Ping sensor 1
int trigPinR = 13; // rechts
int echoPinR = 12; // rechts
  
//Ping sensor 2
int trigPinL = 11;  // links
int echoPinL = 10; //  links
  
//Motoren
int E1 = 4; // Motor Rechts
int M1 = 5; // Motor Rechts
int E2 = 7; // Motor Links
int M2 = 6; // Motor Links
  
void setup() {
  Serial.begin (9600);
  pinMode(trigPinR, OUTPUT);
  pinMode(echoPinR, INPUT);
  pinMode(trigPinL, OUTPUT);
  pinMode(echoPinL, INPUT);
  pinMode(M1, OUTPUT);
  pinMode(M2, OUTPUT);
  pinMode(E1, OUTPUT);
  pinMode(E2, OUTPUT);
  
}
  
void loop() {
  int valueR=243;
  int valueL=243;
  long durationR, distanceR;
  long durationL, distanceL;
    
    
  digitalWrite(trigPinR, LOW);
delayMicroseconds(2);
digitalWrite(trigPinR, HIGH);
delayMicroseconds(10);
digitalWrite(trigPinR, LOW);
durationR = pulseIn(echoPinR, HIGH);
 
digitalWrite(trigPinL, LOW);
delayMicroseconds(2);
digitalWrite(trigPinL, HIGH);
delayMicroseconds(10);
digitalWrite(trigPinL, LOW);
durationL = pulseIn(echoPinL, HIGH);
 
 
distanceR = (durationR / 2) / 29.1; 
distanceL = (durationL / 2) / 29.1;
    
    
  
  if (distanceR >= 30 || distanceR <= 0) 
  {
     
      digitalWrite(E2, HIGH);    
      analogWrite(M2, valueR);  
 
  }
  else
  {
      digitalWrite(E2, LOW);
      analogWrite(M2, valueR);  
 
  
  
  }
  
  if (distanceL >= 30 || distanceL <= 0)
  {
      digitalWrite(E1, HIGH);
      analogWrite(M1, valueL);
    
  }
  else
  {
      digitalWrite(E1, LOW);
      analogWrite(M1, valueL);  
  }
  
  delay(500);
}

delay(500);
Dat betekend dat je maar om de halve second iets doet.
Verder is de code onleesbaar zonder te weten wat je wil.
Met vriendelijke groet.
Jan

Ze hebben al gecapituleerd.... zie: Het Nederlandstalig Arduino forum - Bekijk onderwerp - Hulp met ons Profielwerkstuk

kom jongens het moet wel rijden he.