Group Members: Andrew McCoy, Byran Clingerman
In this project we had to design and build a robot that could navigate a left-hand or right-hand maze, if possible we could make it do both. Then the robot had to put a fire out at the end of the maze. The robot would traverse the maze using ultrasonic sensors, and stepper motors. The ultrasonic sensors would control the stepper motors that would drive the robot. The robot would use an inferred sensor to detect any source of flame and when the infrared light got to a certain value it would trigger the method your choice to put the fire out. The method could be using a fan, or using a servo and an arm to hit the fire till it goes out. We also had to design and print 2 wheels and a mount for a ping pong ball. For the project, you had to combine and code all of the things listed above into one working robot, and then run it through the maze.

Right-Hand Maze, with the robot in the maze.

Our group’s method of solving this problem was to stick to the right-hand maze and use both of our provided fans to blow the flame out. We also decided to use 2 Arduino boards to control our robot, one controlled the driving and steering while the other operated the fans and infrared sensors. Byran Clingermans Blog Post

The first design iteration we had was just the Ardunio controllers, the sensors, and the stepper motors on a square board, the wheels were not yet printed but we counted them as part of our design at this time. The second design iteration was us adding 2 sets of LEDs, one set red and one set white, to act as a form of customization to make the robot look like a fire truck. The third iteration was us cutting the corners off of the foam board after the corners of the robot got caught on the maze wall in testing. The third design also was the fix to our robot’s major problem which was a constant turning to the right and skipping the if statement. The issue was an internally broken wire, that resulted in the replacement of the ultrasonic sensor wires. This Robot also contains a rare 2 Ardunio control system.
Design Iteration One:

Design Iteration Two:

Design Iteration Three:

This project was a great experience in learning a C code language, and this project helped develop my growing skills in coding. In this project, we used the Arduino stepper.h library to allow us to control the stepper motors. We made our own void command library that allowed us to condense our code in the void loop. Our void commands consisted of the controls for going forward and turning right. The library also had the condensing of the movement code, which we inserted into a void loop, with the input from the infrared sensor that would turn the driving Arduino off. Our second Arduino had infrared sensor controls, fan controls, and the control for the lights. These were all combined into one if-else loop that turns the fans on and has the lights running all the time. During this project, we learned how to integrate separate boards that have different codes to help the robot do one thing.

During this project, we used our time wisely and this allowed us to flush out coding problems, and equipment problems like the broken wires. In this project, we learned many different ways to solve simple problems like the tires not having traction which was fixed by adding rubber bands to the tire. We had a problem where the tires would flair out, we fixed this by having a tension string on the motors to straighten them out. Also in this project, we took to the step to design the robot with 2 Arduino boards and integrate them to act as one. This allowed for the customization of the robot. This project has been a great learning experience for many different reasons. If we had more time on the robot, I am sure we could add more customization, ensure the robot had better fixes to the wheels bending the foam board, and make the robot look nicer with better wire management. We could also have improved the code to where the robot could solve any maze.

1st Test:

2nd Test:

Final Test: