Automatic Wall-Avoiding Robot

May 2025 | Completed in collaboration with Illia Siusiel


This project, called the Wall-Avoiding Robot (WAR) was created exclusively for the Jr. DEEP Saturdays Program, specifically the Tech Tinkerers program. The goal was to design a robot that could autonomously navigate around walls and obstacles, using sensors to detect its surroundings. It's final goal for the activity was to navigate it's way out of a maze using a preprogrammed algorithm. The robot is built using a Arduino Uno, an ultrasonic distance sensor, and a motor driver to control the movement of the wheels. The software is written in C++, utilizing the Arduino IDE. This project was made in collaboration with one of my fellow instructors, Illia Siusiel, who provided valuable insights and assistance throughout the development process.

Profile Picture
Our prototype is pictured here

Features

  • Uses an ultrasonic distance sensor to detect walls and obstacles
  • Utilizes a motor driver to control the movement of the wheels
  • Can navigate around walls and obstacles autonomously
  • Can be programmed to navigate through a maze using a preprogrammed algorithm
  • Uses a pair of electric DC motors to drive and a single ball bearing for stability

Code

Download
Loading code...

Requirements

Hardware

  • Arduino Uno board - This will be how the robot is controlled
  • Ultrasonic distance sensor (HC-SR04) - This will give the robot distance information
  • Motor driver (L298N) - This will control the motors
  • DC motors (x2) - These will drive the robot
  • Ball bearing (for stability) - This will help keep the robot balanced
  • Jumper wires - These will connect everything
  • Power source (batteries) - This will power the robot
  • Chassis (wood used, cardboard or plastic are good alternatives) - This will hold everything together
  • USB cable - This will be used to connect the Arduino to a computer for programming
  • Laptop - This will be used for programming the Arduino
  • Optional: Breadboard - This can be used for prototyping and testing connections

Software

  • Arduino IDE - This will be used to write and upload code to the Arduino