The objective of the final project was to utilize the machines we learned about all semester to create a robot that would drive itself through a maze and then detect and extinguish a flame. The maze consisted of two left or right turns shaped like a U with a dead end. Students were expected to use two stepper motors, an ultrasonic sensor, a temperature sensor, and a fan with a relay to make a functional robot. A basic design of the robot, the program flow, and mounting components (stepper, Hub, Pong ball wheel) were provided for us, our challenge was to make everything work together.

 

 

 

 

 

 

My groups approach to problem solving consisted of mostly brain storming and trial and error.

We went through a few basic iterations of basic designs ideas mostly regarding the wheels and hubs. The hubs had multiple iterations because they took some fine tuning before they would fit properly. Then the wheels took a few iterations to figure out sizing and the contact surface. Beyond some of these basic things we decided to mount our fan and stepper motors below our robot and our bread board sideways ways across the front. This helped us keep our wiring sorted because we pulled big chunks through the poster board to keep it in place.

This robot was my first experience coding something and it was quite the challenge. We used a standard arduino libraries for stepper motors, <stepper.h> . We created a library of functions consisting of actions to, drive forward, turn left, turn right, read ultrasonic sensor, and read the flame sensor to turn on the fan. I don’t know that I entered with any misconceptions about coding, part of the challenge for me was having no conceptions at all of what the code was supposed to look like. Having a flow chart of the program was very helpful in conceptualizing all of the instructions I was typing into the Arduino software.

I learned a lot about trouble shooting, using Serial.print to see what the arduino was doing proved to be very helpful. We could see exact moments where our program began to fail and then use that information to debug things. Another thing I learned about was a while loop. I thought “if” statements were very self explanatory, but the while loop was a very interesting tool and I wish I had more time to expand upon all the capabilities of c++ to understand what’s possible with it and what makes computers work. I guess I had one misconception but it was implied that students new to coding would have a misconception about it, that was running the two stepper motors simultaneously. I anticipated that we would sent out a simultaneous signal to both motors but they operate by sending alternating signals one at a time to each motor. I think that overall I found coding the robot to be the most fascinating and frustrating part of the project. The most important take away from this for myself was not in the knowledge of the details of what we did with our code but this project definitely opened a mental door for me to a lot of possibilities of things I could accomplish with computers and machines as my knowledge expands and my toolbox grows.

Final Working Product:https://www.youtube.com/watch?v=YuoyrUBTbeQ