Farce Halloween Arduino : Détecteur PIR, LED et Son MP3
Composants et fournitures
| Composant | Quantité | Notes |
|---|---|---|
| Arduino UNO | 1 | |
| Capteur PIR (détection mouvement) | 1 | |
| Module MP3 générique | 1 | Soudure de fils sur boutons |
| LED rouge 5mm (yeux) | 2 | |
| LED blanche froide (éclair) | 1 | |
| Module 2 relais | 1 | Commande module MP3 |
À propos du projet
Une farce d'Halloween réagissant au mouvement : grognements menaçants, yeux rouges clignotants, éclairs blancs. Effet garanti – mes enfants ont été terrifiés en rentrant du « trick-or-treat » ! 🎃
Partie 1 : Capteur PIR et LED
Le PIR s'interface très simplement avec Arduino. Sketch basique monté dans un masque pour yeux lumineux et éclairs.
Partie 2 : Son MP3
Au lieu d'un shield MP3 coûteux, un lecteur MP3 générique (~3€ sur eBay) piloté par deux relais agissant comme interrupteurs sur ses boutons. Parfait pour un son unique.
Code
// Halloween Arduino Scare Box
// PIR + LED + Son MP3 via relais
// Vidéos : Part 1 https://youtu.be/ZAUXMoygVOU | Part 2 https://youtu.be/uR_UTPioQYc
int pirSensor = 2;
int previousPin = 3; // Relais « précédent » (sur module MP3)
int pausePin = 4; // Relais « pause » (sur module MP3)
int statusLed = 10; // LED clignotante (indicateur)
int led = 9; // LED yeux (PWM pour fondu)
void setup() {
pinMode(pirSensor, INPUT);
pinMode(statusLed, OUTPUT);
pinMode(previousPin, OUTPUT);
pinMode(pausePin, OUTPUT);
pinMode(led, OUTPUT);
}
void loop() {
if (digitalRead(pirSensor) == HIGH) {
// --- SON ---
digitalWrite(pausePin, HIGH); delay(100);
digitalWrite(previousPin, LOW); delay(100);
digitalWrite(previousPin, HIGH); delay(2000); // Joue le son
// --- YEUX ROUGES (fondu) ---
digitalWrite(statusLed, LOW); delay(100);
digitalWrite(statusLed, HIGH);
analogWrite(led, 0);
for (int i = 0; i < 255; i++) { analogWrite(led, i); delay(5); } // Allumage progressif
digitalWrite(statusLed, LOW); delay(100);
digitalWrite(statusLed, HIGH); delay(100);
digitalWrite(statusLed, LOW); delay(100);
digitalWrite(statusLed, HIGH); delay(100);
digitalWrite(statusLed, LOW); delay(100);
digitalWrite(statusLed, HIGH); delay(100);
digitalWrite(statusLed, LOW); delay(2000);
for (int i = 255; i >= 0; i--) { analogWrite(led, i); delay(5); } // Extinction progressive
digitalWrite(statusLed, HIGH);
analogWrite(led, 0);
// --- FIN YEUX ---
// Fin son
delay(2000);
digitalWrite(previousPin, HIGH); delay(100);
digitalWrite(pausePin, LOW); delay(100);
digitalWrite(pausePin, HIGH); delay(1000);
} else {
digitalWrite(statusLed, HIGH);
analogWrite(led, 0);
}
}
Schéma
Bien expliqué dans les vidéos.

Processus de fabrication
- Comment fonctionnent les circuits de capteur PIR : conception, fonctionnement et applications réelles
- Isorg lance un capteur d'empreintes digitales multi-doigts plein écran 6 pouces
- Créer une API robuste de température et capteurs sur Raspberry Pi avec le module GY‑91
- Construire un moniteur de température domestique avec Raspberry Pi, MCP9808, InfluxDB et Grafana
- Maîtriser le GPIO Raspberry Pi : Interfacer un capteur PIR de mouvement sur B+/Modèle 2
- Système de sécurité domestique Raspberry Pi : Détection de mouvement PIR + Alertes par e-mail avec caméra
- Comment connecter, calibrer et programmer le capteur de mouvement PIR HC‑SR501 avec un Raspberry Pi
- Capteur d'émotion & EEG : Matériel low-cost pour détection d'émotion en temps réel
- UnifiedWater v1 – Kit complet de capteur de qualité d'eau Arduino