Build a robot to navigate a maze, identify the candle and extinguish it. Teams of 2.
Course restrictions/ rules
This robot uses the class requirement of only 2 wall distance detector sensors, an ir detector for flame detection and a line detection input put through a PIC16f887 programmed using great cow basic to navigate a maze to find and extinguish a candle while being within 30cm of the flame.
How we built it
Firstly we designed the PCB's in eagle cad, we used a uv exposure method to etch custom pcb's from the cad drawing and then soldered in the through hole components. Secondly we designed and 3-D printed the entire bot base designed to use no nuts or bolts. Thirdly we put together our easy to assemble bot base and we programmed the bot using the pickit programmer, the mplab IPE and a finalized program made in great cow basic. We used a highly modular design where the frame is disassemble, there is an arduino shield like header board for the LCD, wall detection and flame detection, all boards are easily detachable from each other via jumper cables and from the bot base via custom board slider trays. Although a highly modular design it turned out to be quite robust and sturdy.
Challenges we ran into
Originally we did make programs in the mplab x IDE using C, although we had difficulty getting the LCD running in 4 bit mode.
Accomplishments that we're proud of
The final project really turned out to perform very well and looked just as good while performing well.
What we learned
Find an IDE/Compiler combo with good documentation even if it isn't the official one provided by the microcontroller manufacturer.
Later we realized that programming baremetal with C and the gcc compiler is a more standard approach as long as you can target your microcontroller.
What's next for Firefighter maze navigating bot
The firefighter bot 2.0 will have hardware PWM for motor controller. Also I have further refined the placements of the sensors for ideal precision based on the range the wall detectors work in.
Log in or sign up for Devpost to join the conversation.