🎃 Introduction
À l’approche d’Halloween, pourquoi ne pas donner vie à vos créations en leur ajoutant une vraie dimension interactive ? Dans ce tutoriel pas-à-pas, je vous propose de transformer une citrouille traditionnelle en un objet connecté autonome, capable de surprendre les passants dès qu’ils s’en approchent.
🎯 Le Concept
L’objectif est simple et efficace :
- Détecter l’approche d’une personne grâce à un capteur de présence discret.
- Déclencher immédiatement une mélodie inquiétante (format RTTTL via buzzer piézoélectrique).
- Faire clignoter de façon synchronisée les yeux et la bouche illuminés par des LEDs haute intensité.
- Réaliser ce montage rapidement en moins d’une journée, pour un budget inférieur à 25 €.
🛠️ Matériel nécessaire
Pour concevoir cette citrouille connectée, nous nous appuyons sur des composants simples et très accessibles :
| Composant | Rôle & Utilité | Estimation |
|---|---|---|
| 🎃 Citrouille naturelle | Support évidé et sculpté pour abriter l’électronique | Récup / Jardin |
| 👁️ Capteur PIR / HC-SR04 | Détection de proximité et de mouvement en approche | ~1 € |
| 🧠 Wemos D1 Mini (ESP8266) | Cerveau WiFi du système exécutant le firmware ESPHome | ~2 € |
| 🔊 Buzzer piézoélectrique (PWM) | Restitution sonore des mélodies 8-bit au format RTTTL | ~2 € |
| 💡 LEDs / Bandes de LEDs | Illumination orange ou rouge des yeux et du sourire | ~4 € |
| ⚡ Module relais pour Wemos | Commutation de puissance pour l’éclairage | ~1 € |
| 🔌 Alimentation 5V / 12V | Bloc secteur ou batterie 5V avec câblage Dupont | ~10 € |
📸 Galerie des composants
🔌 Schéma de Câblage
Le câblage reste minimaliste. Le capteur PIR est raccordé sur une broche d’interruption numérique (D4), le buzzer sur une sortie PWM (D2), et le relais sur la broche de commande (D1) :
- D4 (GPIO2) : Entrée capteur de mouvement (PIR Sensor).
- D2 (GPIO4) : Sortie PWM vers le buzzer pour la restitution RTTTL.
- D1 (GPIO5) : Sortie TOR vers le relais commandant les LEDs.
💻 Configuration ESPHome
La programmation se fait intégralement sous ESPHome. Aucun code C++ complexe n’est requis : l’intégration native de la bibliothèque rtttl permet de jouer des mélodies directement via des services Home Assistant.
Pour découvrir comment flasher un microcontrôleur ESPHome pour la première fois, consultez le guide dédié : Flasher ESPHome pas-à-pas.
esphome:
name: buzzer_halloween
platform: ESP8266
board: d1_mini
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
logger:
api:
services:
- service: play_rtttl
variables:
song_str: string
then:
- rtttl.play:
rtttl: !lambda 'return song_str;'
ota:
platform: esphome
output:
- platform: esp8266_pwm
pin: D2
id: rtttl_out
inverted: true
rtttl:
output: rtttl_out
on_finished_playback:
- logger.log: 'Fin de lecture de la mélodie'
binary_sensor:
- platform: gpio
pin: D4
name: "PIR Sensor Citrouille"
device_class: motion
switch:
- platform: gpio
pin: D1
id: relay
name: "HALLOWEEN_SMILE"
icon: "mdi:lightbulb-alert"
🏠 Orchestration dans Home Assistant
Une fois le nœud ESPHome reconnu dans Home Assistant, nous configurons les entités de pilotage, le clignotement des yeux et l’automatisation de déclenchement.
1. Variables de contrôle (configuration.yaml)
input_boolean:
citrouille_blink:
name: "Clignotement Citrouille"
icon: mdi:halloween
input_number:
timer_halloween:
name: "Temporisation Halloween (sec)"
icon: mdi:timer
initial: 1
min: 1
max: 320
step: 1
2. Script de clignotement stroboscopique (scripts.yaml)
citrouille_blink:
alias: "Animation Clignotement Citrouille"
sequence:
- repeat:
while:
- condition: state
entity_id: input_boolean.citrouille_blink
state: 'on'
sequence:
- service: homeassistant.turn_off
data:
entity_id: switch.halloween_smile
- delay:
milliseconds: 800
- service: homeassistant.turn_on
data:
entity_id: switch.halloween_smile
- delay:
milliseconds: 800
mode: single
3. Automatisation de détection (automations.yaml)
Dès qu’une présence est détectée par le capteur PIR, Home Assistant active la sonnerie d’ambiance type manoir hanté et lance l’animation lumineuse :
- id: citrouille_detection_presence
alias: "Halloween : Détection & Animation Citrouille"
trigger:
- type: motion
platform: device
device_id: fb80f6aa96c0e489b3831cb4e1ad69f9
entity_id: binary_sensor.pir_sensor_citrouille
domain: binary_sensor
action:
# 1. Envoi de la sonnerie RTTTL vers le buzzer ESPHome
- service: esphome.buzzer_halloween_play_rtttl
data:
song_str: >-
HauntHouse:d=4,o=5,b=108:2a4,2e,2d#,2b4,2a4,2c,2d,2a#4,2e.,e,1f4,1a4,1d#,2e.,d,2c.,b4,1a4,1p,2a4,2e,2d#,2b4,2a4,2c,2d,2a#4,2e.,e,1f4,1a4,1d#,2e.,d,2c.,b4,1a4
# 2. Activation du clignotement des yeux
- service: input_boolean.turn_on
entity_id: input_boolean.citrouille_blink
- service: script.turn_on
entity_id: script.citrouille_blink
mode: single
💡 Astuce sonneries : Vous trouverez des centaines de mélodies prêtes à l’emploi au format RTTTL sur les archives en ligne (notamment Picaxe RTTTL Ringtones).
🎯 Conclusion & REX
En intégrant discrètement le capteur de présence dans la bouche ou sous la tige de la citrouille, l’effet de surprise est total : la citrouille s’éveille et joue sa ritournelle exactement au passage des visiteurs.
Ce projet DIY est à la fois peu coûteux, très ludique à réaliser et constitue une excellente introduction pratique à l’écosystème ESPHome couplé à Home Assistant.
Retrouvez l’ensemble de mes projets domotiques et automatisations sur mon espace GitHub : github.com/ravindrajob.
