Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino UNO-Based Battery-Powered Line Following and Obstacle Avoidance Robot

View and Edit Project In Cirkit DesignerImage of Arduino UNO-Based Battery-Powered Line Following and Obstacle Avoidance Robot

Circuit Documentation

Summary

This document provides a detailed overview of a circuit that includes an Arduino UNO microcontroller, an L298N DC motor driver, an HC-SR04 Ultrasonic Sensor, a 5-channel IR sensor, two DC Mini Metal Gear Motors, and a pair of 18650 Li-ion batteries. The circuit is designed to control the motors and sensors using the Arduino UNO, with power supplied by the Li-ion batteries.

Component List

  1. Arduino UNO

    • Description: A microcontroller board based on the ATmega328P.
    • Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0
  2. L298N DC Motor Driver

    • Description: A dual H-Bridge motor driver that allows control of two DC motors.
    • Pins: OUT1, OUT2, 12V, GND, 5V, OUT3, OUT4, 5V-ENA-JMP-I, 5V-ENA-JMP-O, +5V-J1, +5V-J2, ENA, IN1, IN2, IN3, IN4, ENB
  3. HC-SR04 Ultrasonic Sensor

    • Description: A sensor used for measuring distance using ultrasonic waves.
    • Pins: VCC, TRIG, ECHO, GND
  4. 5-channel IR Sensor

    • Description: A sensor module with 5 IR sensors used for line tracking and obstacle detection.
    • Pins: VCC, GND, S1, S2, S3, S4, S5, CLP, Near
  5. DC Mini Metal Gear Motor

    • Description: A small DC motor with metal gears for increased durability.
    • Pins: IN1, IN2
  6. 18650 Li-ion Battery x 2

    • Description: Rechargeable lithium-ion batteries.
    • Pins: +, -

Wiring Details

Arduino UNO

L298N DC Motor Driver

HC-SR04 Ultrasonic Sensor

5-channel IR Sensor

DC Mini Metal Gear Motor (1)

DC Mini Metal Gear Motor (2)

18650 Li-ion Battery x 2

Documented Code

Arduino UNO Code (sketch.ino)

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Additional Documentation (documentation.txt)