Caméra ESP32 S3 - Enregistrer une photo sur carte SD lors d'une détection de mouvement
Ce tutoriel vous explique comment construire une petite caméra de sécurité avec l'ESP32 S3. Un capteur de mouvement PIR surveille la pièce. Quand quelqu'un marche devant lui, l'ESP32 S3 prend une photo et l'enregistre sur une carte microSD. La carte fonctionne seule. Elle n'a pas besoin de WiFi, et elle n'a pas besoin d'ordinateur.

Ce que vous allez construire :
- Une caméra ESP32 S3 avec un capteur de mouvement PIR
- Une photo enregistrée sur la carte microSD chaque fois que le capteur voit un mouvement
- Un temps calme, pour qu'une personne qui marche ne remplisse pas votre carte de 50 photos
- Une caméra qui fonctionne sans internet
Matériel requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
※ Note:
La carte caméra ESP32 S3 a 40 broches, mais le bornier à vis et la carte d'extension ont 44 broches. Elles fonctionnent quand même ensemble. Placez la carte caméra au centre de la carte à 44 broches, afin que 2 broches restent libres à gauche et 2 broches restent libres à droite.
Le bornier à vis vous permet de connecter des fils avec un tournevis, sans soudure. La carte d'extension vous donne des broches faciles à utiliser pour une plaque d'essai.
À propos du capteur de mouvement PIR
Un capteur de mouvement PIR voit la chaleur d'un corps humain. PIR signifie « Passive InfraRed » (infrarouge passif). Le capteur n'envoie rien. Il écoute seulement la lumière infrarouge (la chaleur) autour de lui. Quand un corps chaud bouge devant lui, la répartition de chaleur change, et le capteur le signale à l'ESP32 S3.

Pour plus de détails sur le capteur de mouvement, consultez le tutoriel ESP32 S3 - Capteur de mouvement.
Spécifications clés
| Élément | Valeur |
|---|---|
| Alimentation | 5V |
| Sortie | 3,3V HIGH quand il voit un mouvement, LOW quand il ne voit rien |
| Distance | 3 à 7 mètres (vous pouvez la changer) |
| Angle | environ 110° |
| Temps de préchauffage | 30 à 60 secondes après la mise sous tension |
※ Note:
La sortie du HC-SR501 est en 3,3V, donc vous pouvez le connecter directement à une broche de l'ESP32 S3. C'est sûr.
Brochage du capteur de mouvement PIR
Le capteur a 3 broches :
- Broche VCC : connectez cette broche au 5V
- Broche GND : connectez cette broche au GND
- Broche OUT : passe à HIGH quand le capteur voit un mouvement

Les deux vis orange
Le HC-SR501 a deux petites vis orange. Tournez-les avec un petit tournevis :
| Vis | Ce qu'elle change | Tourner à droite (sens horaire) |
|---|---|---|
| Sensibilité | À quelle distance le capteur voit | Voit plus loin (jusqu'à 7 m) |
| Délai | Combien de temps la sortie reste HIGH | Reste HIGH plus longtemps (jusqu'à 5 minutes) |
※ Note:
Pour ce projet, tournez la vis délai complètement vers la gauche. La sortie reste alors HIGH pendant environ 3 secondes seulement, afin que le capteur soit à nouveau prêt rapidement.
Le cavalier à deux positions
À côté des broches, il y a un petit cavalier :
| Position | Nom | Ce qui se passe |
|---|---|---|
| H | Répétition | La sortie reste HIGH tant que le mouvement continue |
| L | Simple | La sortie passe à HIGH une fois, puis à LOW |
Les deux positions fonctionnent avec ce code. H est le choix habituel.
Comment fonctionne le projet
Le code surveille la broche OUT en permanence. Il ne cherche pas « la broche est à HIGH ». Il cherche le moment où la broche passe de LOW à HIGH :
C'est important. Si le code cherchait seulement HIGH, il prendrait une nouvelle photo des centaines de fois par seconde pendant qu'une personne se tient devant la caméra.
Schéma de câblage entre le capteur de mouvement PIR et l'ESP32 S3
Connectez le capteur de mouvement PIR à votre ESP32 S3 avec trois fils de raccordement.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche du capteur PIR | Broche ESP32 S3 |
|---|---|
| VCC | 5V |
| GND | GND |
| OUT | GPIO21 |
Ensuite, insérez la carte microSD dans la fente de la carte.
Notes de sécurité
Le capteur PIR a besoin de 5V sur sa broche VCC, pas de 3,3V. Avec 3,3V, il semble fonctionner, mais il donne des signaux erronés. Sa broche OUT donne 3,3V, ce qui est correct pour l'ESP32 S3.
N'utilisez pas une broche de caméra pour le capteur. La caméra utilise déjà les GPIO4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17 et 18. La fente de carte utilise les GPIO38, 39 et 40. GPIO21 est libre, donc nous l'utilisons.
Paramètres de l'Arduino IDE pour la caméra ESP32 S3
La caméra ne fonctionne pas avec les paramètres par défaut de l'Arduino IDE. Vous devez changer certains éléments dans le menu Tools avant de téléverser le code.
| Élément du menu Tools | Sélectionnez ceci |
|---|---|
| Board | ESP32S3 Dev Module |
| Flash Size | 16MB (128Mb) |
| PSRAM | OPI PSRAM |
| Partition Scheme | Huge APP (3MB No OTA/1MB SPIFFS) |
| CPU Frequency | 240MHz (WiFi) |
| USB Mode | Hardware CDC and JTAG |
| Upload Mode | UART0 / Hardware CDC |
| Upload Speed | 921600 |
| USB CDC On Boot | Enabled |
※ Note:
PSRAM doit être OPI PSRAM, et Partition Scheme doit être Huge APP. Changez d'abord Flash Size, car la liste des options de Partition Scheme change ensuite.
Comment programmer la caméra à détection de mouvement
- Configurez la broche du capteur en entrée.
- Attendez le capteur après avoir démarré la carte. Un capteur PIR a besoin de 30 à 60 secondes pour apprendre la chaleur de la pièce. Avant cela, il donne de fausses alertes.
- Cherchez le moment où la broche passe de LOW à HIGH.
- Ajoutez un temps calme. Sans cela, une personne qui marche lentement fait dix photos.
- Enregistrez la photo sur la carte. Cette partie est la même que dans le tutoriel Caméra ESP32 S3 - Enregistrer une Photo sur Carte SD Toutes les Quelques Secondes.
Code ESP32 S3
Le code suivant enregistre une photo nommée motion_00001.jpg, motion_00002.jpg, et ainsi de suite, chaque fois que le capteur voit un mouvement. Le temps calme est de 5 secondes. Pour le changer, modifiez la ligne #define QUIET_TIME 5000.
Étapes rapides
- Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Formatez votre carte microSD en FAT32 sur votre ordinateur.
- Débranchez le câble USB. Insérez la carte dans la fente, et câblez le capteur PIR comme dans le tableau ci-dessus.
- Tournez la vis délai du capteur complètement vers la gauche.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Changez les paramètres dans le menu Tools. Voir le tableau ci-dessus.
- Compilez et téléversez le code vers la carte ESP32 S3 en cliquant sur le bouton Upload dans Arduino IDE.

- Ouvrez le Serial Monitor dans Arduino IDE.

- Appuyez une fois sur le bouton RESET, puis quittez la pièce pendant 30 secondes. Le capteur préchauffe.
- Revenez et marchez devant la caméra.
- Regardez le Serial Monitor. Vous voyez Motion detected! et le nom de la photo.
- Astuce pro : Pointez le capteur loin des fenêtres, des chauffages et des climatiseurs. L'air chaud en mouvement provoque de fausses alertes.
Moniteur série
Les relevés suivants ont été capturés en 2026 :
Dépannage
Le capteur voit un mouvement en permanence, même dans une pièce vide.
Essayez ceci, un par un :
- Attendez une minute complète après avoir démarré la carte. Le capteur préchauffe encore.
- Tournez la vis sensibilité un peu vers la gauche.
- Pointez le capteur loin des fenêtres, chauffages, climatiseurs et lampes.
- Vérifiez que VCC est sur 5V, pas sur 3,3V. C'est l'erreur la plus courante.
Le capteur ne voit jamais rien.
- Vérifiez le fil sur la broche OUT. Il doit aller à GPIO21.
- Tournez la vis sensibilité un peu vers la droite.
- Marchez en travers devant le capteur, pas droit vers lui. Un capteur PIR voit bien mieux le mouvement latéral.
Une personne fait cinq ou six photos.
Augmentez QUIET_TIME de 5000 à 15000 (15 secondes).
Le Serial Monitor affiche SD card not found.
Formatez la carte en FAT32, utilisez une carte de 32 Go ou moins, et réinsérez la carte.
La photo est sombre.
Un capteur PIR fonctionne aussi dans le noir, mais pas la caméra. Ajoutez une lumière, ou une lampe qui s'allume avec le mouvement.
Le Serial Monitor n'affiche rien après les messages de démarrage.
Si votre câble USB est dans le port nommé UART, réglez USB CDC On Boot sur Disabled. S'il est dans le port nommé USB, réglez-le sur Enabled.
Applications
Cette caméra garde tout sur la carte microSD, donc elle fonctionne sans WiFi, sans internet et sans abonnement mensuel. Voici des projets pratiques que vous pouvez construire avec ce code :
- Caméra de sécurité hors ligne : Voyez qui est entré dans votre pièce pendant votre absence, sans aucune connexion internet.
- Caméra de livraison de colis : Prenez une photo quand le livreur arrive à votre porte.
- Caméra de faune et de sentier : Photographiez des chats, oiseaux, renards ou cerfs dans votre jardin ou en forêt la nuit.
- Enregistrement d'alarme de magasin : Gardez une photo de chaque personne qui entre après l'heure de fermeture.
- Surveillance de garage et de vélo : Surveillez votre vélo, votre voiture ou votre moto dans un garage sans WiFi.
- Caméra de maison de vacances : Laissez-la dans une maison vide pendant des semaines, et lisez la carte à votre retour.
- Caméra de chantier : Gardez une photo de tous ceux qui entrent sur le site en dehors des heures de travail.
- Caméra de ferme et de champ : Surveillez un portail ou une grange loin de tout routeur.
- Projet scientifique de classe : Montrez aux élèves comment un capteur, une caméra et une carte mémoire fonctionnent ensemble.
- Sauvegarde pour une caméra WiFi : Gardez des photos sur la carte même quand internet est en panne.
Vidéo
Regardez la démonstration vidéo étape par étape de ce projet ESP32 S3 ci-dessous.
Défis
- Débutant : Ajoutez une LED qui s'allume pendant deux secondes chaque fois qu'une photo est enregistrée.
- Intermédiaire : Enregistrez trois photos d'affilée à chaque mouvement, afin de voir la direction de la personne.
- Avancé : Écrivez un fichier texte sur la carte avec une ligne par événement, par exemple le nom de la photo et le temps écoulé depuis le démarrage de la carte.