Me and my partner were tasked with designing a robot that can complete a left turn and right turn maze, to put out a lighter at the end of the maze. To do this we were each given an Arduino kit and accomplished assignments throughout the year which led up to completing this project. The flame sensor and fan post, as well as the controlling a servo using ultrasonic sensor post, demonstrate how we learned to use different components that make up our robot. The motor mount and wheel posts show the design process that went into making 3D printed parts for the robot.
Our approach to the problem was to work with what we know and get more familiar with certain functions that would be needed to get the robot working. Things like IF statements, void functions, and long functions are essential to make the robot a success. We knew the first step would be getting all of the components working together, then making adjustments to that code.
Link to partners blog post: https://portfolio.wcu.edu/edwhite5/final-project-blog/
We went with a compact design to ensure that our robot would be able to make the necessary turns to complete the maze. Each wheel we designed individually had a unique pattern and a 90mm diameter. When designing the wheel, we also had to use trial and error to get a hub that printed to the dimensions of the stepper motors. Two unique designs we added to the robot were a 3D printed fire sensor mount, and a tail skid. The tail skid takes the place of the Ping-Pong ball and holder at the rear of the robot.
This project helped me to increase my understanding of code in C++. When putting many parts together, the code can become more complicated to read or understand, it also became easier to make small mistakes. Once I created successful forward, right turn, and left turn functions, the vision of how to solve the maze became more apparent to me. I heard many groups talking about using multiple if statements by imbedding them within each other, but I couldn’t figure this out on my own. I came up with a way to solve the maze using dimensions, just two sensor readings, and only one if and else statement. I also better understand how to use function calls and organize my code in a more efficient manner.
Overall, I’m very happy with how our robot turned out considering it completely met the requirements of the project. Going into the last week it felt like we weren’t making much progress, but on Tuesday night we had a lightbulb moment and completed the maze both ways using the same code. If I could do the project again, I would probably change the wheel design to be thicker or use a design that didn’t need rubber bands. The coding was a good test for my coding abilities, because that is what I worked most on. I feel this project pushed my problem solving skills in a challenging but satisfying way once our robot was complete.
Recent Comments