Obstacle Avoiding Robot

This will serve as a brief description of your project. Limit this to three sentences because it can become overly long at that point. This copy should draw the user in and make she/him want to read more.


Matthew Rodriguez

Area of Interest



Regis High School


Incoming Junior

Final Milestone

In the past few weeks, I’ve made attempts to add a Playstation controller component to my robot. My goal was to be able to control the robot manually and when it reached an obstacle, it could stop on its own, turn back, and I could continue to control it. However, over time my instructor and a few fellow classmates came to the conclusion that the equipment was defective. We tried everything from stripping down the receiver and soldering the wires directly to the chip, adding different types of code, and even adding new batteries to the controller and robot every 10 minutes. Unfortunately, after all of these attempts the controller refused to correctly pair with my robot, so I was left in the same place as I was in my second milestone video. However, through my time at BlueStamp I’ve learned a lot about engineering and I understand that you will hit a lot of road blocks while working on a project. In the end, I am very proud of all the work I’ve done and all the things I learned about engineering, as a result.

Second Milestone

With the sensor attached, my robot could stop and change course based off what the sensor reads. The first step was getting the sensor to work and measure distances. I had to plug my sensor into the breadboard and connect the breadboard to the Arduino via wires. A breadboard is a constructing base for connecting wires without needing to solder. Once I correctly wired the sensor, I needed to input the code for the sensor to correctly measure distance, so on my laptop I looked through the Arduino library for the necessary distance-measure code for the correct sensor. I found it, input the code, and then opened the serial monitor to read values. The sensor was now able to measure distance in cm and I tested this by putting my hand different distances away from the sensor. After the sensor was able to measure distances, all I needed to do was change the code in order for the robot to move around and avoid obstacles. I input the code and the robot was able to go different directions in order to avoid 0bstacles in front of it.

First Milestone

My robot is now able to move around with the code that I plug into the Arduino. When I began to build, I started out with just the base of the robot, the chassis. I mounted the motors on the chassis. Then, I screwed in the front wheel to the chassis and plugged in the big wheels to the motors. The robot could now stand on its own. I screwed in the battery pack holder on to the top of the chassis and wrapped the wires for the battery holder around in the holes of the chassis, so that they weren’t in the way of anything. The battery pack provides power to the motors. Next came the motor drive. The motor drive is meant to control all aspects of the motor including direction and speed based off the code that is plugged into the Arduino. First, I connected the motors to the motor drive. I had to wrap two wires around the filaments on each motor and connected two wires to the openings on the right and left side of the motor drive, respectively. I then had to connect the battery pack (the power source) to the motor drive. The voltage on the battery pack is 6V, so I could not place the positively charged red wire into the 5V slot, but rather had to place it into the 12V slot of the motor drive. Then, I connected the ground black wire into the Ground slot of the motor drive. Then came the more difficult part. In order to get the motors to run through the motor drive, the motor drive had to be connected and told information by the Arduino. In order to do this, I needed to wire the Arduino to the motor drive. I connected the 5V slot and the Ground slot of the Arduino the the 5V slot and the Ground slot of the motor drive. I already had the ground wire from the battery pack in the ground slot of the motor drive, so I had to make both of these wires fit, which was difficult since I broke a few wires during this process. However, I was finally able to fit both and then had to move on to the actual commands to give to the motor drive. The motor drive has 6 command slots labeled in the following order: ENA, IN1, IN2, IN3, IN4, ENB. These command slots connected to pins of the Arduino. ENA connected to 9, IN1 connected to 7, IN2 connected to 6, IN3 connected to 5, IN4 connected to 4, and ENB connected to 3. Then, I simply plugged in the code I wanted to make the Arduino be able to run seemingly autonomously, and the robot was able to move around.

Obstacle Avoiding Robot

Leave a Comment

Start typing and press Enter to search

Bluestamp Engineering