Quai 10 · Patrick
Matériel, câblage, algorithme de détection et procédure de mise à jour du firmware.
| Composant | Référence | Rôle |
|---|---|---|
| Microcontrôleur | ESP32-C6 (mini) | WiFi, calcul FFT, pilotage servo/buzzer/LED |
| Micro | INMP441 (I2S) | Capture audio continue |
| Servo | MZ996 (180°) | Actionne le bouton d'ouverture existant |
| Buzzer | Actif bas, 2 fils | Bips de confirmation (démarrage, erreurs réseau) |
| Alimentation | Câble USB, 5V | Alimente la carte en continu |
| Signal | Broche | Détail |
|---|---|---|
| Micro — SCK (BCLK) | GPIO4 | Horloge I2S |
| Micro — WS (LRCL) | GPIO5 | Word select I2S |
| Micro — SD (DOUT) | GPIO6 | Données audio |
| Servo — signal (fil jaune) | GPIO18 | PWM, plage 500–2400 µs |
| LED d'état | GPIO8 | LED intégrée de la carte |
| Buzzer — signal | GPIO20 | Actif bas : LOW = sonne, HIGH = silence |
Le servo et l'ESP32 partagent la même alimentation USB.
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ètre | Valeur | Détail |
|---|---|---|
| Échantillonnage | 16 kHz | Fréquence de capture du micro |
| Fenêtre FFT | 1024 points | Réduit de 2048 : le calcul complet dépassait le budget CPU du C6 |
| Fréquence de vérification | toutes les 64 ms | Un calcul FFT complet par cycle |
| Quorum de détection | 4 raies sur 6 | Nombre de fréquences qui doivent matcher simultanément |
| Persistance minimale | ~0,19 s | Durée continue requise avant de valider la détection |
| Stabilité (coefficient de variation) | < 0,5 | Filtre les signaux trop instables |
| Durée d'ouverture | 1,5 s | Maintien du bras avant retour au repos |
| Bip de confirmation | 150 ms | Durée du bip à l'ouverture |
| Garde anti-rebond | 500 ms | Délai après ouverture avant de réécouter |
| Fenêtre de maintenance | 3 min | Temps éveillé au réveil hors créneau pour permettre les réglages |
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.
sonnette_auto_esp32c6.ino dans l'IDE Arduino, avec les bibliothèques arduinoFFT et ESP32Servo installées.
secrets.h (à côté du sketch) — à modifier si le réseau du coworking change.