Comment utiliser le capteur de mouvement PIR HC-SR501 avec Arduino

How to Use the HC-SR501 PIR Motion Sensor with Arduino

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

  1. Module de capteur de mouvement PIR HC-SR501
  2. Board Arduino (par exemple, Uno, Mega, Nano)
  3. Fils de planche à pain et de cavalier
  4. 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

  1. Sensibilité: Ajustez la plage de détection (jusqu'à ~ 7 mètres).
  2. 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

  1. Connectez l'Arduino à votre ordinateur via USB.
  2. Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
  3. Téléchargez le code en cliquant Télécharger.
  4. Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur 9600.
  5. 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

  1. Éclairage activé par le mouvement
  2. Alarmes d'intrus
  3. Home-Automation intelligente
  4. 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!

Laissez un commentaire

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.