Projet Arduino : GreenScan - Détection de Feux de Brousse
Objectif :
Développer un système de détection automatique d'incendies en zone rurale ou forestière grâce à
plusieurs capteurs (fumée, flamme, température, luminosité), avec alertes en temps réel via SMS et
alimentation autonome par énergie solaire.
Pourquoi ce projet :
- Problématique environnementale majeure
- Allie Arduino, IoT, appli mobile, énergie verte
- Déployable en zone sans WiFi via GSM
- Solution concrète pour protection écologique
Matériel nécessaire :
- Arduino Uno ou ESP32
- Capteur de fumée MQ-2 ou MQ-9
- Capteur de température DHT22
- Capteur de flamme IR Flame Sensor
- Capteur de luminosité (LDR)
- Module GSM SIM800L ou LoRa
- Batterie + panneau solaire
- Buzzer + LED rouge
- Appli mobile / tableau de bord web
Fonctionnalités :
- Analyse croisée des capteurs pour éviter fausses alertes
- Alertes SMS / notification mobile avec position GPS
- Affichage des zones critiques sur carte
- Historique des données avec stockage cloud
- Surveillance multi-modules possible
Code Arduino :
#include <SoftwareSerial.h>
#include <DHT.h>
// --- Capteurs
#define MQ2_PIN A0
#define FLAME_PIN 2
#define DHT_PIN 3
#define DHT_TYPE DHT22
// --- Alerte
#define BUZZER_PIN 9
#define LED_PIN 10
// --- GSM
SoftwareSerial sim800(7, 8); // (TX, RX)
String phoneNumber = "+261XXXXXXXXX"; // Remplace par ton numéro
// --- Objets
DHT dht(DHT_PIN, DHT_TYPE);
void setup() {
[Link](9600);
[Link](9600);
[Link]();
pinMode(FLAME_PIN, INPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(LED_PIN, LOW);
delay(2000); // Laisse le temps au SIM800L de démarrer
sendSMS("GreenScan prêt. Surveillance activée.");
}
void loop() {
int smokeLevel = analogRead(MQ2_PIN);
int flameState = digitalRead(FLAME_PIN);
float temp = [Link]();
[Link]("Fumée : "); [Link](smokeLevel);
[Link](" | Flamme : "); [Link](flameState);
[Link](" | Température : "); [Link](temp);
bool feuDetecte = false;
if (smokeLevel > 300 || flameState == LOW || temp > 45) {
feuDetecte = true;
}
if (feuDetecte) {
digitalWrite(LED_PIN, HIGH);
digitalWrite(BUZZER_PIN, HIGH);
sendSMS("Alerte Incendie ! Fumée ou chaleur détectée !");
delay(30000); // Attente pour éviter spam
} else {
digitalWrite(LED_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
}
delay(2000); // Pause entre chaque lecture
}
void sendSMS(String message) {
[Link]("AT+CMGF=1"); // Mode texte
delay(1000);
[Link]("AT+CMGS="");
[Link](phoneNumber);
[Link](""");
delay(1000);
[Link](message);
delay(500);
[Link](26); // Envoi (Ctrl+Z)
delay(5000);
}
Suggestions pour aller plus loin :
- Ajouter un capteur GPS pour localiser précisément l'incendie
- Intégrer une base de données Firebase pour stockage cloud et historique
- Créer une application mobile ou tableau de bord web pour visualisation et alertes
- Améliorer la logique anti-spam pour éviter envois trop fréquents
- Ajouter un panneau solaire pour alimentation autonome en extérieur
- Implémenter un système multi-capteurs pour une couverture étendue
Ce projet montre ta capacité à concevoir un système complet mêlant hardware, software,
communication réseau et impact environnemental réel.