Curriculum
Course: Arduino Car moving
Login
Text lesson

Human Avoidance Arduino ide coding with ena and enb

// IR Sensor Pins
int leftIR = 2;
int rightIR = 3;

// Motor Driver Pins
int ENA = 5;
int IN1 = 8;
int IN2 = 9;

int ENB = 6;
int IN3 = 10;
int IN4 = 11;

void setup()
{
  pinMode(leftIR, INPUT);
  pinMode(rightIR, INPUT);

  pinMode(ENA, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);

  pinMode(ENB, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);

  // Set initial motor speed
  analogWrite(ENA, 100);
  analogWrite(ENB, 100);
}

void loop()
{
  int leftSensor = digitalRead(leftIR);
  int rightSensor = digitalRead(rightIR);

  // Both sensors detect object -> Reverse Straight
  if (leftSensor == LOW && rightSensor == LOW)
  {
    analogWrite(ENA, 100);
    analogWrite(ENB, 100);

    digitalWrite(IN1, LOW);
    digitalWrite(IN2, HIGH);

    digitalWrite(IN3, LOW);
    digitalWrite(IN4, HIGH);
  }

  // Left sensor detects object -> Reverse Right
  else if (leftSensor == LOW && rightSensor == HIGH)
  {
    analogWrite(ENA, 100);
    analogWrite(ENB, 100);

    // Left motor reverse
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, HIGH);

    // Right motor stop
    digitalWrite(IN3, LOW);
    digitalWrite(IN4, LOW);
  }

  // Right sensor detects object -> Reverse Left
  else if (leftSensor == HIGH && rightSensor == LOW)
  {
    analogWrite(ENA, 100);
    analogWrite(ENB, 100);

    // Left motor stop
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, LOW);

    // Right motor reverse
    digitalWrite(IN3, LOW);
    digitalWrite(IN4, HIGH);
  }

  // No object detected -> Stop
  else
  {
    analogWrite(ENA, 0);
    analogWrite(ENB, 0);

    digitalWrite(IN1, LOW);
    digitalWrite(IN2, LOW);

    digitalWrite(IN3, LOW);
    digitalWrite(IN4, LOW);
  }
}
×
×

Cart