← Retour à la présentation

Quai 10 · Patrick

Documentation technique

Matériel, câblage, algorithme de détection et procédure de mise à jour du firmware.

Matériel

ComposantRéférenceRôle
MicrocontrôleurESP32-C6 (mini)WiFi, calcul FFT, pilotage servo/buzzer/LED
MicroINMP441 (I2S)Capture audio continue
ServoMZ996 (180°)Actionne le bouton d'ouverture existant
BuzzerActif bas, 2 filsBips de confirmation (démarrage, erreurs réseau)
AlimentationCâble USB, 5VAlimente la carte en continu

Câblage (broches ESP32-C6 mini)

SignalBrocheDétail
Micro — SCK (BCLK)GPIO4Horloge I2S
Micro — WS (LRCL)GPIO5Word select I2S
Micro — SD (DOUT)GPIO6Données audio
Servo — signal (fil jaune)GPIO18PWM, plage 500–2400 µs
LED d'étatGPIO8LED intégrée de la carte
Buzzer — signalGPIO20Actif bas : LOW = sonne, HIGH = silence
Alimentation servo

Le servo et l'ESP32 partagent la même alimentation USB.

Détection de la sonnette

FFT sur 1024 échantillons (16 kHz), calcul répété toutes les 64 ms. Le son est reconnu quand au moins 4 des 6 fréquences ci-dessous sont présentes simultanément, avec un contraste suffisant par rapport au bruit ambiant, pendant au moins ~0,19 s continu.

Fréquences surveillées : 1400 / 2600 / 2800 / 3297 / 4600 / 4297 Hz
Quorum : 4 raies qualifiées sur 6
Persistance minimale : ~0,19 s continu

Paramètres réglés

ParamètreValeurDétail
Échantillonnage16 kHzFréquence de capture du micro
Fenêtre FFT1024 pointsRéduit de 2048 : le calcul complet dépassait le budget CPU du C6
Fréquence de vérificationtoutes les 64 msUn calcul FFT complet par cycle
Quorum de détection4 raies sur 6Nombre de fréquences qui doivent matcher simultanément
Persistance minimale~0,19 sDurée continue requise avant de valider la détection
Stabilité (coefficient de variation)< 0,5Filtre les signaux trop instables
Durée d'ouverture1,5 sMaintien du bras avant retour au repos
Bip de confirmation150 msDurée du bip à l'ouverture
Garde anti-rebond500 msDélai après ouverture avant de réécouter
Fenêtre de maintenance3 minTemps éveillé au réveil hors créneau pour permettre les réglages

Code source

Sketch Arduino unique, 1282 lignes de C++ : détection audio, WiFi/NTP, serveur web de réglage, pilotage servo/buzzer/LED, horaires et jours fériés, statistiques, calibration.

Voir le code source complet →

Mettre à jour le firmware

  1. 1 Ouvrir le sketchFichier sonnette_auto_esp32c6.ino dans l'IDE Arduino, avec les bibliothèques arduinoFFT et ESP32Servo installées.
  2. 2 Régler le WiFi si besoinIdentifiants dans secrets.h (à côté du sketch) — à modifier si le réseau du coworking change.
  3. 3 FlasherUpload classique depuis l'IDE. Les réglages (horaires, statistiques, calibration) survivent à un flash normal, stockés en mémoire flash séparée.