This is an image processing based fire detection and extinguisher system using Arduino. It is basically the system is divided into two parts:
- Fire detection
2. Fire alert and extinguisher
In the first part, fire detects using image processing. Here in this project I’m using open CV and python for fire detection. I created a HAAR Cascade Classifier for fire detection using Open CV. It has trainer and detector for train our own cascade classifier, HAAR Cascade is used to detect object for which it has been trained. Lots of positive and negative image samples are need to train classifier. Training of cascade classifier is complex and time consuming process, so to make it easy I find a cascade training software on web name is “cascade trainer GUI”.
For training cascade classifier, download and install this trainer EXE from the above link. Create a folder with name fire (you can create folder with any name as my target object is fire, so I created folder “fire”) now create two folders inside of fire folder with name “n” and “p”, n folder is for negative image samples and p for positive image samples. Positive image contains the object which we want to detect, in our case we want to detect fire so collect the image samples which contains fire and put them inside of p folder. For negative samples collect large numbers of images which do not contains fire even partially. Now follow the steps on above page for making your cascade classifier file, or you can download pre-made cascade classifier for fire detection and source code from the link (source code)
Comes toward the python, to run this project you need to install following modules and libraries to your python setup.
• Pyserial (click here to download numpy, scipy and pyserial)
After installation of all modules open python code with name fire detection,arduino.py if you get some errors while running, don’t get panic, we just done first part.
Let’s move towards hardware, here I’m using Arduino UNO as controller since I need to control pump, buzzer and red LED’s.
- Arduino uno
- 16x2 LCD
- 5volt buzzer
- 5volt relay
- Bc547 transistor
- Resistors 470r, 1k, 220r, 10k preset
- Capacitors 1000uf/25volt, 470uf/16 volt
- Diode 1N4007
- Webcam (optional, you can use your laptop camera also)
- Arduino cable
- Mini submersible pump
Connect all the components as per the circuit diagram below, connect arduino to your computer using USB cable and find out the com port on which Arduino is connected, now open the Arduino code, select com port and correct board from tool menu of Arduino and upload the code.
Open the python code with name fire detection, arduino.py check com port write in code is correct or not in line 13, if not change it with your Arduino com port number. Click on run tab then click run module or press F5.
If all connections are ok, camera preview will show on screen. Now show fire to it, fire get detected and pump start as well as buzzer starts beep sound.
Source code: click here
Python modules: click here
Cascade trainer GUI: click here