Building Your First Robot

Project: Obstacle-Avoiding Robot

Let's build a complete robot that can navigate and avoid obstacles!

Components Needed

  • Arduino Uno
  • L298N Motor Driver
  • 2× DC Motors with wheels
  • HC-SR04 Ultrasonic Sensor
  • Chassis (can be DIY cardboard)
  • 9V or 11.1V battery
  • Jumper wires

Complete Code


// Ultrasonic sensor pins
const int trigPin = 12;
const int echoPin = 11;

// Motor A (Right)
const int enA = 9;
const int in1 = 8;
const int in2 = 7;

// Motor B (Left)
const int enB = 3;
const int in3 = 5;
const int in4 = 4;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  pinMode(enA, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);

  pinMode(enB, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);

  Serial.begin(9600);
}

void loop() {
  float distance = measureDistance();
  Serial.print("Distance: ");
  Serial.println(distance);

  if (distance > 20) {
    moveForward();
  } else {
    stopRobot();
    delay(500);
    turnRight();
    delay(700);
  }
}

float measureDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  long duration = pulseIn(echoPin, HIGH);
  float distance = duration * 0.034 / 2;
  return distance;
}

void moveForward() {
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  analogWrite(enA, 200);
  analogWrite(enB, 200);
}

void stopRobot() {
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
}

void turnRight() {
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  analogWrite(enA, 200);
  analogWrite(enB, 200);
}
      

Assembly Steps

  1. Mount motors on chassis
  2. Attach wheels to motors
  3. Mount Arduino and motor driver on chassis
  4. Connect motors to motor driver
  5. Connect motor driver to Arduino
  6. Mount ultrasonic sensor at front
  7. Connect battery to motor driver
  8. Upload code and test!

✅ Success: Congratulations! You've built your first autonomous robot!