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.

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
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