Line follower with 4 sensors

Hi,

I have been tryin for days now to get my arduino line follower robot to work. But for some reason i can't seem to get it right?

Could someone help me out PLZ?

Allong with this message i have my arduino code.

sketch_apr19a_SMart.ino (2.46 KB)

The code was small enough to post inline.

#define LS  A2      // left sensor
#define MLS A3      //middle left sensor
#define MRS  A4      // middle right sensor
#define RS  A5      // right sensor

/*-------Outputs------*/
#define LM1 7       // left motor
#define LM2 8       // left motor
#define LM3 6       // left motor Enable pin for controlling speed

#define RM1 4       // right motor
#define RM2 5       // right motor
#define RM3 3       // right motor Enable pin for controlling speed


void setup()
{
  pinMode(LS, INPUT);
  pinMode(MLS, INPUT);
  pinMode(MRS, INPUT);
  pinMode(RS, INPUT);
  pinMode(LM1, OUTPUT);
  pinMode(LM2, OUTPUT);
  pinMode(LM3, OUTPUT);
  pinMode(RM1, OUTPUT);
  pinMode(RM2, OUTPUT);
  pinMode(RM3, OUTPUT);
}

void loop()
{
  if(!(digitalRead(LS) && !(digitalRead(MLS) && !(digitalRead(MRS) && !(digitalRead(RS))))))    // Move Forward (0000)
  {
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,250);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,250);
  }
  
  if(!(digitalRead(LS) && !(digitalRead(MLS) && (digitalRead(MRS) && !(digitalRead(RS))))))     // Turn medium right (0010)
  {
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,230);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,80);
  }
  
  if(!(digitalRead(LS) && (digitalRead(MLS) && !(digitalRead(MRS) && !(digitalRead(RS))))))     // turn medium left (0100)
  {
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,80);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,230);
  }
  
  if(digitalRead(LS) && (digitalRead(MLS) && (digitalRead(MRS) && (digitalRead(RS)))))     // stop (1111   )
  {
    digitalWrite(LM1, LOW);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,0);
    digitalWrite(RM1, LOW);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,0);

  }
  if((digitalRead(LS) && (digitalRead(MLS) && !(digitalRead(MRS) && !(digitalRead(RS))))))     // Turn Sharp left 90 degree (1100)
  
  {
    digitalWrite(LM1, LOW);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,0);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,250);
  }
  if(!(digitalRead(RS) && !(digitalRead(MRS) && (digitalRead(MLS) && (digitalRead(LS))) )))    // Turn Sharp Right 90 degree (0011)
  {
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,250);
    digitalWrite(RM1, LOW);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,0);
  }

}

The code does something. You forgot to tell us what it does.

You expect the code to do something. You forgot to tell us what you expect.

But for some reason i can't seem to get it right?

Is that a question or a statement!