Introduction: Fire Fighter Robot
This is a firefighter robot made to detect fire by means of flame sensors, going toward it and put the fire off by water. It can also avoid obstacles while going toward fire by means of Ultrasonic sensors. In addition, it sends an email to you when it puts the fire off.
Bruface Mechatronics Project Group 5
Sarah F. Ambrosecchia
Step 1: Shopping List
Arduino Mega 1X
9V DC motor 2X
Micro servo 9g 1X
Servo motor 442hs 1X
Water Pump 1X
Ultrasonic sonic sensor 2X
1way Flame sensor 4X
Wi-Fi module 1X
On/off Switch 1X
Mini breadboard 1X
9V battery 1X
9V battery plug 1X
LIPO 7.2Volt battery 1X
Rubber track set 2X
Motor mounting 2X
Spacer (M3 female-female 50mm) 8X
Water tank (300 ml) 1X
Water hose 1X
Step 2: Some Technical Hints on the Choice of Components
DC motors with encoder :
The advantage of encoder DC motor over a simple DC motor is the ability to compensate speeds when having more than one motor and the same speed for all of them is desired. Generally, when you have more than one motor with the same input (Voltage and current) and your target is to have them exactly with the same speed, what might happen is that some motors might slip which will cause a difference in speed between them which e.g. for our case (two motors as driving power) could cause a deviation to one side when the target was to go forward. what encoders do is to count the number of rotations for both motors and in case of having a difference, compensate them. However since when we have tested our robot, no difference was observed in the speed of the two motors, we did not use the encoders.
Servo motors :
For the water gun mechanism what we needed was to have motors that can provide relatively precise motion in a specific range. For what regards, there exist two choices : servo motor OR stepper motor
generally a stepper motor is cheaper than a servo motor.However, depend on the application, there are many other factors that should be taken into account. For our project we have considered the following factors:
1) The Power/mass ratio of servo motor is higher than steppers, which means for having the same amount of power the stepper is going to be heavier than the servo motor.
2) A servo motor consume less energy than a stepper which is due to the fact that servomotor consumes power as it rotates to the commanded position but then the servomotor rests. Stepper motors continue to consume power to lock in and hold the commanded position.
3) Servo motors are more capable of accelerating loads than steppers.
These reasons will lead to less consumption of energy which was important in our case since we used a Battery as the power supply for all motors.
In case that you are interested to know more about differences between servo and stepper check the following link :
What it does is to make you capable of controlling both direction and speed of your dc motors. In our case we just used them to control the direction of rotation for both DC motors (Connected to driving wheels).
In addition, another h-bridge is used as a simple on/off switch for the pump. (This can be also done by means of a transistor)
These are used for being able of avoiding obstacles. We have used 2 sensors, however you can increase the range of observable area by increasing the number of sensors. (Effective range of each ultrasonic sensor : 15 degrees)
Flame sensors :
Totally 4 flame sensors are used . 3 sensors under the chassis are connected to both analogue and digital pins of Arduino. The digital connections are used for detecting the fire for further actions while the analogue connections are used only to provide readings of the distance to fire for the user. The other sensor on the top is used digitally and it's function is to send the command for stopping the vehicle at a suitable distance from the fire, so in the moment that the sensor on the top which has an specific angle detect the fire, it will send the command for stopping the vehicle and starting the pump the water and running the water gun to put the fire off.
Arduino Mega :
The reason for choosing an arduino mega over an arduino UNO is as following :
1) Having a Wi-Fi module increase the number of lines in the code dramatically and needs a more powerful processor to avoid possible chance of crashing while running the code.
2) having higher number of pins in case of being interested to expand the design and add some more features.
Rubber tracks are used to avoid any problem or slippage in case of having a slippery floor or small objects in the way of moving.
Step 3: Manufacturing Parts
In the following, technical drawings of the parts which are produced either by 3D printer or by Laser cutter is provided. The appearance of your firefighter can be changed based on your interest, so you can change the shape of the body and the design in whatever way that suits you.
Main Body Laser cutted parts:
Chassis (Plexiglas 6mm) 1X
Roof Part (Plexiglas 6mm) 1X
Back Part (MDF 3mm) 1X
Side Part (MDF 3mm) 2X
3D printed parts:
Ultra-sonic holder 2X
Flame sensor holder 1X
Wheel bearing holder 4X
Water gun set-up 1X
Step 4: Laser Cutting(all Dimensions in Cm)
Step 5: Technical Drawings for 3D Printing: (all Dimensions in Cm)
Step 6: Experiments
This is a short video that shows some experiments for checking the functionality of different components.
Step 7: Servo Motors and Water Gun Assembly
Step 8: Final Assembly
Step 9: Wiring Components to Arduino
Step 10: Associated Pins to Arduino
Step 11: Program Flowchart
Step 12: Programming
Please Use the "Full_Code_WithoutWIFI.ino" as the main code for the robot.
If you are interested in the WIFI functionality, you have to add the join the Wifi code to the Full code.
Sorry to all people who didn't manage to run the code earlier.