Goal

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.

Built With

Share this project:

Updates