Code Arduino et vidéo pour le capteur de mouvement HC-SR501
Dans ce tutoriel, nous allons explorer le capteur de mouvement HC-SR501, conçu pour détecter les mouvements grâce à la technologie infrarouge. Le capteur peut déclencher une sortie, vous permettant de contrôler des dispositifs tels que des LEDs ou des alarmes en fonction de la détection de mouvement. À la fin de ce tutoriel, vous aurez une compréhension claire de la façon de câbler le capteur et d'implémenter le code Arduino pour le faire fonctionner efficacement. (dans la vidéo à 00:45)

Le matériel expliqué
Le détecteur de mouvement HC-SR501 est un module compact mesurant 32 par 24 millimètres, capable de fonctionner dans une plage de tension de 5 à 20 volts. Au cœur se trouve le capteur infrarouge LHI 778, qui détecte les mouvements en percevant les variations du rayonnement infrarouge. Cela le rend adapté à diverses applications, notamment les systèmes de sécurité et les projets robotiques.
Ce module comporte trois broches principales :VCCpour la puissance,GNDpour le sol, etOUTpour le signal de sortie. Lorsqu'un mouvement est détecté, leOUTLa broche envoie un signal haut (3,3 volts TTL), pouvant déclencher des alarmes ou d'autres dispositifs. Le capteur intègre également des réglages de sensibilité et de temporisation ajustables, vous permettant de personnaliser son fonctionnement en fonction de vos besoins spécifiques.
Détails de la fiche technique
| Fabricant | HC-SR501 |
|---|---|
| Numéro de pièce | HC-SR501 |
| Tension logique / E/S | 3,3 V |
| Tension d'alimentation | 5-20 V |
| Courant de sortie (par canal) | ≤ 20 mA |
| Courant de crête (par canal) | ≤ 50 mA |
| Directives sur la fréquence PWM | Sans objet |
| Seuils logiques d'entrée | 0.8 V (BAS), 2.0 V (HAUT) |
| Chute de tension / RDS(on)/ saturation | 0,1 V |
| Limites thermiques | de 0 °C à 70 °C |
| Paquet | Module |
| Notes / variantes | Sensibilité et délai réglables |
- Assurez-vous que la tension d'alimentation est correcte (5–20 V).
- Utilisez une résistance en série avec les LED pour limiter le courant.
- Ajustez le potentiomètre de sensibilité pour régler la portée de détection.
- Réglez le délai pour contrôler la durée pendant laquelle la sortie reste à l'état haut.
- Faites attention aux entrées flottantes ; utilisez des résistances pull-up ou pull-down selon les besoins.
Instructions de câblage

Pour câbler le capteur de mouvement HC-SR501, commencez par connecter leVCCBranchez la broche sur la sortie 5V de l'Arduino. Ensuite, connectezGNDbroche vers la masse (GND) de l'Arduino. LeOUTLa broche doit être connectée à la broche numérique 2 de l'Arduino, qui lira le signal de détection de mouvement.
Si vous utilisez une LED pour un retour visuel, connectez l'anode (broche longue) de la LED à la broche numérique 8 de l'Arduino. La cathode (broche courte) doit être reliée à une borne d'une résistance de 680 ohms, l'autre borne de la résistance allant à la masse. Cette configuration permet à l'Arduino de contrôler la LED en fonction de la détection de mouvement.
Exemples de code et guide pas à pas
Le code Arduino pour cette configuration initialise le moniteur série et configure les broches d'entrée et de sortie. Les identifiants clés dans le code comprennentmotion, qui stocke l'état du capteur de mouvement, et les broches numériques utilisées pour lire les entrées et contrôler la LED.
void setup() {
Serial.begin(9600);// setup Serial Monitor to display information
pinMode(2, INPUT);// Input from sensor
pinMode(8, OUTPUT);// OUTPUT to alarm or LED
}Dans cet extrait, lesetup()La fonction initialise la communication série et configure les modes des broches pour le capteur et la LED. La broche 2 est configurée en entrée pour lire la sortie du capteur de mouvement, tandis que la broche 8 est configurée en sortie pour contrôler la LED.
void loop() {
int motion = digitalRead(2);
if(motion){
Serial.println("Motion detected");
digitalWrite(8, HIGH);
}else{
Serial.println("===nothing moves");
digitalWrite(8, LOW);
}
delay(500);
}Ce fragment de code représente la boucle principale où le programme vérifie en continu l'état du capteur de mouvement. Si un mouvement est détecté, il affiche Mouvement détecté sur le moniteur série et allume la LED. Si aucun mouvement n'est détecté, il affiche ===rien ne bouge et éteint la LED.
Démonstration / À quoi s'attendre
Une fois l'installation terminée et le code téléversé sur l'Arduino, vous devriez constater que la LED s'allume lorsque le capteur HC-SR501 détecte un mouvement. De plus, le moniteur série affichera des messages indiquant si un mouvement est détecté ou non. Si vous ajustez les réglages de sensibilité et de délai du capteur, vous pourrez remarquer des changements dans la rapidité de sa réponse au mouvement (dans la vidéo à 05:30).
Les pièges courants incluent un câblage incorrect, comme l'inversion des connexions pourVCCetGND, ce qui pourrait endommager le capteur. Assurez-vous que la broche de sortie du capteur est correctement connectée à la broche d'entrée désignée sur l'Arduino pour éviter les entrées flottantes.
Horodatages vidéo
- 00:00Introduction
- 00:45Aperçu du matériel
- 02:30Instructions de câblage
- 04:00Explication du code
- 05:30Démonstration
Ressources et références
Aucune ressource pour le moment.
Fichiers📁
Aucun fichier disponible.