Tutoriel ESP32 21/55 - Détection des humains avec le capteur de mouvement PIR | Kit d'apprentissage IoT ESP32 de SunFounder
Dans ce tutoriel, nous apprendrons à utiliser un capteur de mouvement PIR avec l'ESP32 pour détecter la présence humaine. L'ESP32 est un microcontrôleur puissant qui offre à la fois des fonctionnalités Wi-Fi et Bluetooth, le rendant idéal pour les projets IoT. En intégrant un capteur PIR, nous pouvons créer un système qui active une LED ou un buzzer chaque fois qu'un mouvement est détecté, offrant ainsi une manière simple mais efficace de surveiller l'activité humaine.
Le capteur PIR (infrarouge passif) détecte le mouvement en détectant le rayonnement infrarouge émis par des objets, en particulier ceux à corps chaud comme les humains. Lorsqu'un mouvement est détecté, le capteur envoie un signal à l'ESP32, qui peut ensuite déclencher une sortie, comme allumer une LED ou faire sonner un buzzer. Ce tutoriel vous guidera à travers la configuration matérielle, le câblage et le code nécessaires pour faire fonctionner le système correctement (dans la vidéo à 00:45).
Matériel expliqué
Ce projet implique plusieurs composants clés. Le microcontrôleur ESP32 sert de cerveau à l'opération, gérant les données des capteurs et contrôlant les sorties. Le capteur de mouvement PIR détecte le mouvement en mesurant les variations de radiation infrarouge. La LED ou le buzzer fournit une alerte visuelle ou sonore lorsqu'un mouvement est détecté.
L'ESP32 est équipé du Wi-Fi et du Bluetooth, permettant des fonctionnalités étendues telles que la connectivité cloud. Le capteur PIR contient une lentille qui concentre la lumière infrarouge sur un capteur piézoélectrique, qui génère un signal de tension lorsqu'il détecte des variations de niveaux infrarouges, indiquant un mouvement.
Détails de la fiche technique
| Fabricant | SunFounder |
|---|---|
| Numéro de pièce | Module de capteur PIR |
| Tension logique/IO | 3,3 V |
| Tension d'alimentation | 3,3 V |
| Courant de sortie (par canal) | 20 mA max |
| Courant de crête (par canal) | 50 mA max |
| Directives sur la fréquence PWM | N/A |
| Seuils logiques d'entrée | 0,3 V (bas), 2,0 V (haut) |
| Chute de tension / RDS(on)/ saturation | N/A |
| Limites thermiques | 0 à 70 °C |
| Colis | Module |
| Notes / variantes | Sensibilité et délai réglables |
- Assurez une alimentation adéquate (3,3 V) pour éviter d'endommager.
- Utilisez une résistance pour la LED afin de limiter le courant.
- Maintenez un câblage adéquat pour prévenir les courts-circuits.
- Ajustez les boutons du capteur PIR pour la sensibilité et le délai selon les besoins.
- Testez le capteur dans différents environnements pour des performances optimales.
Instructions de câblage

Pour câbler le capteur de mouvement PIR et la LED à l'ESP32, commencez par connecter la broche VCC du capteur PIR à la sortie 3,3 V de l'ESP32. Ensuite, connectez la broche de masse du capteur PIR à une broche de masse sur l'ESP32. La broche du signal (souvent étiquetée commeSLe) du capteur PIR doit être connecté à la broche GPIO 14 sur l'ESP32.
Pour la LED, connectez la jambe la plus longue (anode) à la broche GPIO 26 à travers une résistance de 220 Ohm, et connectez la jambe la plus courte (cathode) à la terre. Assurez-vous que toutes les connexions sont sécurisées pour garantir un bon fonctionnement. Si vous utilisez un buzzer à la place d'une LED, connectez une broche du buzzer à la broche GPIO 26 et l'autre à la terre, remplaçant ainsi le montage de la LED.
Exemples de code et guide étape par étape
Dans le code, nous définissons les numéros de broche pour le capteur PIR et la LED. Nous utilisonsconst int pirPin = 14;pour définir la broche PIR etconst int ledPin = 26;pour la broche LED. Ces constantes garantissent que les numéros de broche restent inchangés tout au long de l'exécution du programme.
const int pirPin = 14; // the number of the pir pin
const int ledPin = 26; // LED pinCe snippet initialise les broches que nous utiliserons. Dans lesetup()Nous configurons la broche PIR en tant qu'entrée et la broche LED en tant que sortie. Cette configuration est cruciale pour lire l'état du capteur et contrôler la LED.
void setup() {
Serial.begin(115200);
pinMode(pirPin, INPUT); // initialize the pir pin as an input
pinMode(ledPin, OUTPUT); // initialize the LED pin as an output
}Dans leloop()fonction, nous lisons en continu l'état du capteur PIR en utilisantdigitalRead(pirPin);Si le capteur détecte un mouvement (indiqué par un état HAUT), nous allumons la LED en utilisantdigitalWrite(ledPin, HIGH);Sinon, nous éteignons la LED.
if (pirState == HIGH) {
digitalWrite(ledPin, HIGH); // turn LED on
} else {
digitalWrite(ledPin, LOW); // turn LED off
}Cette logique permet à la LED de réagir au mouvement détecté par le capteur PIR. Assurez-vous de télécharger l'intégralité du code fourni sous l'article pour un fonctionnement complet.
Démonstration / À quoi s'attendre
Une fois que tout est configuré et que le code est téléchargé, la LED s'allumera lorsque le mouvement sera détecté par le capteur PIR. Vous pouvez tester le capteur en vous déplaçant devant lui ; la LED devrait s'allumer immédiatement. Si le capteur est réglé sur un délai, il restera allumé pendant le temps spécifié avant de s'éteindre à nouveau (dans la vidéo à 12:15).
Les pièges courants incluent un câblage incorrect, ce qui peut empêcher le capteur de fonctionner. Assurez-vous que le capteur PIR est correctement alimenté et que la broche de signal est connectée à la bonne broche GPIO sur l'ESP32. Ajuster les boutons de sensibilité et de délai sur le capteur PIR peut également aider à optimiser les performances en fonction de votre environnement.
Horodatages vidéo
- 00:00 Début
- 1:54 Introduction au capteur PIR
- 6:38 Explication du câblage
- 10:21 Code Arduino expliqué
- 12:45 Sélection du tableau ESP32 et du port COM dans l'IDE Arduino
- 14:27 Démonstration et étalonnage du capteur PIR
Common Course Links
Common Course Files
Ressources et références
Aucune ressource pour le moment.
Fichiers📁
Fiche technique (pdf)
-
Fiche technique du capteur de mouvement RE200B_PRI
RE200B_PRI_datasheet.pdf0.02 MB -
BISS0001 fiche technique du capteur de mouvement
BISS0001_datasheet.pdf0.16 MB
Autres fichiers
-
Manuel de l'utilisateur du capteur de mouvement HC-SR501
robojax-HC-SR501-motion-manual.pdf