Story
???? System Overview
OmniFire is a smart autonomous robot combining two powerful microcontrollers:
-
Arduino Uno for real-time sensor acquisition.
-
Raspberry Pi 4 for decision-making, communication, and actuation.
Both are connected via serial UART, forming a master-slave system. The Arduino reads 12 ultrasonic sensors and 2 IR sensors, sending structured data packets to the Raspberry Pi.
The Pi interprets these readings to control movement and the fire suppression system.
⚙️ System Architecture
-
Arduino → Handles low-level sensor data (12 ultrasonic + 2 IR).
-
Raspberry Pi → Processes incoming data, determines movement, and controls:
-
Two Cytron MD10C motor drivers (for four Mecanum wheel motors).
-
Relay module controlling the pump and dual solenoid valves.
-
-
Communication: Serial (9600 bps).
-
Power supply: 12 V battery + 5 V regulator for logic.
???? Mecanum Wheel Control
The robot’s Mecanum drive enables full 360° motion — forward, backward, lateral, and diagonal — without rotating the body.
This allows OmniFire to precisely approach a flame from any angle.
Each wheel’s rotation and speed are controlled through the Cytron drivers using PWM signals from the Raspberry Pi.
???? Sensor Layout
-
12 Ultrasonic Sensors — 3 on each side (front, back, left, right).
They create a full 360° obstacle detection map. -
2 Infrared Flame Sensors — Mounted front-left and front-right for directional fire detection.
(Refer to the included schematic diagram showing this layout.)
???? Fire Extinguishing System
-
A 10 L water/foam tank feeds two fire extinguishers mounted on the front.
-
Each extinguisher connects to a 12 V solenoid valve, which is relay-controlled by the Raspberry Pi.
-
When fire is detected and the robot reaches proximity, the Pi triggers:
-
The solenoid valves to open.
-
The pump relay to maintain pressure.
-
After 3 seconds of spray, both are deactivated.
-
The dual extinguishers provide a wide-angle spray pattern for effective coverage.
???? Operation Flow
-
Scan: Arduino gathers ultrasonic and IR sensor readings.
-
Communicate: Sends serial data packet like:
-
Decision: Raspberry Pi interprets data, finds fire direction.
-
Navigate: Mecanum motion adjusts position using distance mapping.
-
Extinguish: Relays activate pump and solenoids.
-
Resume Patrol: Robot resets and continues scanning.
???? Example Arduino Code (Excerpt)
???? Example Raspberry Pi (Python) Code (Excerpt)
???? Applications
-
Fire safety demonstration robot.
-
Research prototype for industrial firefighting automation.
-
Mechatronics and robotics university projects.
-
Smart surveillance and safety systems.
???? Key Features
-
Dual-controller (Arduino + Raspberry Pi) hybrid intelligence.
-
12-sensor 360° obstacle awareness.
-
Omnidirectional Mecanum motion.
-
Real fire suppression with dual nozzles.
-
Modular design for scalability.