Utilisation d'un capteur de mouvement HC-SR501 avec un relais et du code Arduino

Utilisation d'un capteur de mouvement HC-SR501 avec un relais et du code Arduino

Dans ce tutoriel, nous allons explorer comment utiliser le capteur de mouvement HC-SR501 en conjonction avec un relais pour contrôler une ampoule AC ou un autre type de charge à l'aide d'un Arduino. Le HC-SR501 est un capteur de mouvement infrarouge qui peut détecter un mouvement jusqu'à 7 mètres de distance, ce qui le rend idéal pour diverses applications telles que les alarmes de sécurité ou les systèmes d'éclairage automatique. En utilisant ce capteur et un relais, vous pouvez créer un projet qui allume une lumière lorsque du mouvement est détecté.

Nous fournirons un guide étape par étape sur la configuration matérielle, les instructions de câblage et le code Arduino nécessaire pour réaliser cette fonctionnalité. Pour une compréhension plus claire du processus, assurez-vous de regarder la vidéo associée (dans la vidéo à 00:00).

Matériel expliqué

Les composants principaux de ce projet comprennent le capteur de mouvement HC-SR501, un module relais et une carte Arduino. Le capteur HC-SR501 a trois broches : VCC, GND et OUT. La broche VCC se connecte à une source d'alimentation (5V), la broche GND se connecte à la terre, et la broche OUT envoie un signal à l'Arduino lorsque le mouvement est détecté.

Le module de relais agit comme un interrupteur qui peut contrôler des appareils haute tension. Il a trois broches principales : COM (commun), NO (normalement ouvert) et NC (normalement fermé). Dans cette configuration, nous utiliserons la broche NO, qui se connecte à la charge lorsque le relais est activé. Cela permet à l'Arduino de contrôler le relais en fonction du signal reçu du capteur de mouvement.

Détails de la fiche technique

FabricantHC-SR501
Numéro de pièceHC-SR501
Tension logique/IO5 V
Tension d'alimentation5-20 V
Consommation d'énergie65 mA
Angle de détection120 degrés
Distance de détection3-7 m
Température de fonctionnement-15 à 70 °C
Type de sortieNumérique
ColisModule

  • Assurez une alimentation électrique adéquate (5-20 V) pour le capteur.
  • Ajustez le potentiomètre de sensibilité pour une portée de détection optimale.
  • Utilisez la broche NO du relais pour contrôler la charge efficacement.
  • Soyez prudent par rapport à l'évaluation du courant du relais (10 A max).
  • Testez la plage de détection du capteur de mouvement avant l'installation finale.
  • Considérez la dissipation de chaleur si vous utilisez le relais pour des charges élevées.

Instructions de câblage

Arduino wiring for HC-SR501 Motions sensor
Arduino wiring for HC-SR501 Motions sensor

Pour connecter le capteur de mouvement HC-SR501 et le relais avec l'Arduino, commencez par connecter la broche VCC du capteur de mouvement à la broche 5V de l'Arduino. Ensuite, connectez la broche GND du capteur à l'une des broches GND de l'Arduino. La broche OUT du capteur de mouvement doit être connectée à la broche numérique 2 de l'Arduino.

Pour le module relais, connectez la broche VCC à la broche 5V sur l'Arduino et la broche GND à la terre. La broche d'entrée (souvent étiquetée IN ou similaire) du relais doit être connectée à la broche numérique 4 sur l'Arduino. Assurez-vous de vérifier l'orientation du relais pour garantir qu'il est réglé sur normalement ouvert (NO) pour cette configuration. Enfin, connectez la charge (par exemple, une ampoule AC) au relais conformément aux spécifications du relais, en vous assurant que les connexions sont sécurisées.

Exemples de code et guide étape par étape

Dans le code Arduino, nous définissons des constantes pour les broches du capteur et du relais. La broche du capteur est réglée surSENSOR_PIN, qui est assigné à la broche numérique 2, et la broche de relais est réglée surRELAY_PIN, assigné au pin numérique 4. Cette configuration nous permet de lire la sortie du capteur et de contrôler le relais en conséquence.

const int SENSOR_PIN = 2; // the Arduino pin connected to the output of the sensor
const int RELAY_PIN = 4; // the Arduino pin which is connected to control the relay

Dans lesetup()fonction, nous initialisons le moniteur série pour le débogage et configurer les modes de broche pour les broches du capteur et du relais. Cela garantit que l'Arduino sait lesquelles des broches sont des entrées et des sorties.

void setup() {
  Serial.begin(9600); // setup Serial Monitor to display information
  pinMode(SENSOR_PIN, INPUT); // Define SENSOR_PIN as Input from sensor
  pinMode(RELAY_PIN, OUTPUT); // Define RELAY_PIN as OUTPUT for relay
}

Dans leloop()fonction, nous vérifions en continu l'état du capteur de mouvement. Si un mouvement est détecté, nous imprimons un message sur le moniteur série et activons le relais en le réglant sur bas. Si aucun mouvement n'est détecté, nous imprimons un message différent et désactivons le relais en le réglant sur haut.

void loop() {
  int motion = digitalRead(SENSOR_PIN); // read the sensor pin
  if (motion) {
    Serial.println("Motion detected");
    digitalWrite(RELAY_PIN, LOW); // Turn the relay ON
  } else {
    Serial.println("===Nothing moves");
    digitalWrite(RELAY_PIN, HIGH); // Turn the relay OFF
  }
  delay(500);
}

Démonstration / À quoi s'attendre

Lorsque le capteur de mouvement détecte un mouvement, le relais s'active, permettant au courant de circuler vers la charge connectée, comme une ampoule AC. Vous devriez voir l'ampoule s'allumer immédiatement dès que le mouvement est détecté. Si le capteur ne détecte aucun mouvement, l'ampoule restera éteinte. Soyez conscient que les réglages de sensibilité du capteur affecteront sa plage de détection, donc des ajustements peuvent être nécessaires pour des performances optimales (dans la vidéo à 05:00).

Les pièges courants incluent un câblage incorrect ou le dépassement des limites de courant du relais, ce qui peut entraîner un échec. Assurez-vous que toutes les connexions sont sécurisées et testez l'installation dans un environnement contrôlé avant l'utilisation finale.

Horodatages vidéo

  • 00:00 Début
  • 00:35 Matériel expliqué
  • 04:35 Puissance de relais
  • 06:00 Câblage expliqué
  • 07:53 Code Arduino expliqué
  • 09:48 Démonstration de ce projet

Images

HC-SR501 back
HC-SR501 back
HC-SR501 module
HC-SR501 module
Arduino wiring for HC-SR501 Motions sensor
Arduino wiring for HC-SR501 Motions sensor
141-Arduino source code for an HC-SR501 motion sensor to control an AC bulb or load
Langue: C++
Copié !

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Aucun fichier disponible.