Le HC-SR501 est un module de capteur de mouvement infrarouge passif populaire (PIR) qui détecte le mouvement en mesurant les changements de rayonnement infrarouge dans son environnement. Il est couramment utilisé dans l'éclairage activé par un mouvement, les systèmes de sécurité et les projets IoT. Ce tutoriel vous guidera à travers la configuration et l'utilisation du HC-SR501 avec Arduino.
Ce dont vous aurez besoin
- Module de capteur de mouvement PIR HC-SR501
- Board Arduino (par exemple, Uno, Mega, Nano)
- Fils de planche à pain et de cavalier
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre le capteur HC-SR501
Le module HC-SR501 a des paramètres de sensibilité et de retard réglables, ce qui le rend polyvalent pour diverses applications de détection de mouvement. Il fonctionne sur une puissance 5V et produit un signal élevé lorsque le mouvement est détecté.
Pinout HC-SR501
Épingle | Fonction |
---|---|
VCC | Alimentation (5V) |
DEHORS | Signal de sortie numérique |
GND | Sol |
Paramètres réglables
- Sensibilité: Ajustez la plage de détection (jusqu'à ~ 7 mètres).
- Temps de retard: Ajustez la durée du signal élevé une fois le mouvement détecté (environ 5 secondes à 5 minutes).
Étape 2: Câblage du HC-SR501 à Arduino
Voici comment connecter le HC-SR501 à un Arduino Uno:
Pin HC-SR501 | Épingle arduino |
---|---|
VCC | 5V |
DEHORS | PIN 2 |
GND | GND |
Étape 3: Téléchargez le code
Voici un exemple de croquis pour la détection de mouvement du moniteur et afficher l'état du moniteur série:
const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
void setup() {
pinMode(pirPin, INPUT);
Serial.begin(9600);
Serial.println("HC-SR501 PIR Motion Sensor Test");
}
void loop() {
int motionStatus = digitalRead(pirPin); // Read the sensor output
if (motionStatus == HIGH) {
Serial.println("Motion detected!");
} else {
Serial.println("No motion detected.");
}
delay(500); // Update every 500ms
}
Étape 4: Testez la configuration
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code en cliquant Télécharger.
- Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur
9600
. - Déplacez-vous dans la plage du capteur et observez l'état de mouvement imprimé sur le moniteur série.
Facultatif: contrôler une LED avec mouvement
Vous pouvez modifier le code pour allumer une LED lorsque le mouvement est détecté:
Câblage de la LED
Broche | Épingle arduino |
---|---|
Anode (+) | PIN 13 |
Cathode (-) | GND |
Code modifié
const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
const int ledPin = 13; // Connect LED to pin 13
void setup() {
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
Serial.println("HC-SR501 PIR Motion Sensor Test");
}
void loop() {
int motionStatus = digitalRead(pirPin); // Read the sensor output
if (motionStatus == HIGH) {
digitalWrite(ledPin, HIGH); // Turn on LED
Serial.println("Motion detected!");
} else {
digitalWrite(ledPin, LOW); // Turn off LED
Serial.println("No motion detected.");
}
delay(500); // Update every 500ms
}
Applications du HC-SR501
- Éclairage activé par le mouvement
- Alarmes d'intrus
- Home-Automation intelligente
- Dispositifs IoT déclenchés par la proximité
Dépannage
- Aucun mouvement détecté: Assurez-vous que le capteur est correctement alimenté et que la sensibilité est ajustée de manière appropriée.
- Faux déclencheurs: Réduisez le bruit environnemental (par exemple, les sources de chaleur) et évitez l'exposition directe à la lumière du soleil.
- Lectures instables: Vérifiez la mise à la terre appropriée et l'alimentation stable.
Conclusion
Vous avez réussi à interfacer le capteur de mouvement PIR HC-SR501 avec Arduino. Ce capteur polyvalent est parfait pour la détection de mouvement dans divers projets. Expérimentez avec des fonctionnalités supplémentaires, telles que l'ajustement de la sensibilité ou l'intégrer à d'autres composants, pour créer des systèmes avancés basés sur un mouvement!