Fire Extinguisher Robot (Flame Detection + Thermal Navigation)
29 Views, 0 Favorites, 0 Comments
Fire Extinguisher Robot (Flame Detection + Thermal Navigation)
A fire detection and response robot built using Arduino and developed in PlatformIO environment. The system uses flame sensors to detect fire direction and an MLX90614 infrared temperature sensor for safety-based decision making.
The robot is built on a 4-motor chassis configured as a differential drive system, allowing stable directional movement.
Supplies
- Arduino Uno
- L298N Motor Driver Module
- 4 × DC Motors
- MLX90614 Infrared Temperature Sensor
- 3 × Flame Sensors
- Robot Chassis
- Wheels
- Battery Pack
- Jumper Wires
Hardware Setup
The robot is built on a 4-wheel platform where both left motors and right motors are controlled together as a differential drive system.
Motor Driver Connections (L298N)
- ENA → D9 (Left motors speed control)
- ENB → D10 (Right motors speed control)
- IN1 → D5
- IN2 → D6
- IN3 → D7
- IN4 → D8
Flame Sensor Connections
- Left Flame Sensor → D2
- Center Flame Sensor → D3
- Right Flame Sensor → D4
MLX90614 Temperature Sensor (I2C)
- VCC → 5V
- GND → GND
- SDA → A4
- SCL → A5
Power Supply
- Battery pack powers motor driver
- Arduino powered through motor driver's 5V supply
Software Setup (PlatformIO)
This project was developed using PlatformIO (VS Code environment) instead of the Arduino IDE.
PlatformIO was used for:
- Better project structure
- Library management (Adafruit MLX90614)
- Faster compilation and debugging
Working
The robot continuously reads inputs from flame sensors to detect fire direction.
It then:
- Moves toward detected flame (left / center / right)
- Uses differential drive system for turning and movement
- Uses MLX90614 sensor to monitor temperature
- Stops immediately if temperature crosses safety limit
Code
The following code runs on Arduino (PlatformIO compatible):
If you are using PlatformIO, use the code as it is.
also this were my platformio.ini configurations
and If you are using Arduino IDE, simply remove the Arduino.h header and then upload the code.