Capteur de mouvement avec Arduino Uno

Nous allons voir comment connecter le capteur PIR (HC-SR501) à l’Arduino (capteur de mouvement infrarouge pyroélectrique) et envisager un programma pour allumer automatiquement la lumière LED qui s’allumera lorsqu’un mouvement est détecté dans la pièce. Nous examinerons également la fonction Arduino millis en C++, qui est souvent nécessaire dans les programmes pour créer un microcontrôleur Arduino Uno multitâche.


Pour cette activité, nous aurons besoin:

  • Arduino Uno / Arduino Nano / Arduino Mega;
  • capteur de présence PIR (HC-SR501)
  • LEDs et résistances
  • breadboard
  • fils de connexion

Matériel supplémentaire sur ce sujet:

  1. Contrôle de lampe par capteur à ultrasons HC-SR04
  2. Branchement capteur d’obstacle avec Arduino
  3. Branchement capteur de distance HC-SR04 Arduino

Fonctionnement du capteur mouvement Arduino

Dans cet article, nous allons considérer le dispositif d’un capteur de mouvement, son schéma de connexion à Arduino UNO et nous allons assembler un interrupteur automatique de lumière basé sur celui-ci. Le module avec capteur PIR se compose d’un élément pyroélectrique sous une lentille de Fresnel en plastique – partie cylindrique avec un cristal rectangulaire au centre, qui capte le niveau de rayonnement infrarouge et le transmet à travers lui-même.

Capteur de mouvement Arduino PIR (HC-SR501)
Capteur de mouvement Arduino PIR (HC-SR501)

Caractéristiques detecteur de presence HC-SR501

  • Alimentation: 5 – 20 V
  • Courant de fonctionnement: 55 µA
  • Niveau du signal de sortie: 3,3 V
  • Réglage de la sensibilité: oui
  • Angle de réponse: 120°
  • Distance de détection: 7 mètres
  • Temps de retard: réglable de 0,3 sec à 60 sec

Les détecteurs de mouvement PIR sont de conception presque identique. La plage de sensibilité des capteurs PIR pour Arduino va jusqu’à 6 mètres et l’angle de vue est de 110° x 70°. L’alimentation est de 5 volts et le signal de sortie numérique a une valeur de 0 lorsqu’il n’y a pas de mouvement et une valeur de 1 lorsqu’il y a un mouvement. Les éléments de détection sont installés dans un boîtier étanche, qui les protège de l’humidité et de température.

Comment brancher capteur de présence Arduino Uno

Connecter le capteur de mouvement Arduino
Comment connecter detecteur de presence à l’Arduino

L’affectation des broches des détecteurs de mouvement peut varier d’un fabricant à l’autre, mais il existe une étiquette à côté des broches. Par conséquent, étudiez attentivement le module avant de le connecter. Une sortie va à GND, la deuxième à l’alimentation de 5 volts (VCC) et la troisième sortie (OUT) sort le signal numérique du capteur de présence. Assemblez le circuit comme sur la photo ci-dessus, connectez la LED et chargez le code.

Programme Arduino pour le capteur de présence

#define PIR 2
#define LED 13

void setup() {
  pinMode(PIR, INPUT);
  pinMode(LED, OUTPUT);
}

void loop() {
   int pirVal = digitalRead(PIR);

   if (pirVal == HIGH) {
      digitalWrite(LED, HIGH);
      delay(1000);
   }

   else {
      digitalWrite(LED,LOW);
      delay(1000);
   }

}

Explication du code pour le capteur de présence PIR:

  1. en utilisant la directive #define pour les ports 2 et 13 nous avons assigné les noms correspondants à PIR et LED dans le programme;
  2. l’égalité double si (pirVal == HIGH), qui est un opérateur de comparaison, est utilisée dans l’opérateur if dans le langage de programmation Arduino.

Branchement la LED et detecteur de mouvement Arduino

Luminaire avec détecteur de mouvement PIR Arduino
Luminaire avec détecteur de mouvement PIR (HC-SR501) Arduino

Dans les exemples présentés, en utilisant la directive define pour les ports 2 et 12, nous avons attribué les noms PIR et LED pour faciliter la manipulation du code. Dans le premier exemple, la LED s’éteindrait immédiatement après le signal LOW du capteur de mouvement, mais avec la fonction millis, nous commençons à compter le temps (pendant ce temps, l’Arduino peut exécuter d’autres commandes) et après 1 minute sans mouvement, la LED s’éteindra.

Programme Arduino pour luminaire avec capteur de présence

#define PIR  2
#define LED  12

unsigned long counttime;

void setup() {
   pinMode(PIR, INPUT);
   pinMode(LED, OUTPUT);
}

void loop() {
   if (digitalRead(PIR) == HIGH) {
      digitalWrite(LED, HIGH);
      counttime = millis();
   }

   if (digitalRead(PIR) == LOW && millis() - counttime > 60000) {
      digitalWrite(LED, LOW);
   }
}

Explication du code luminaire avec capteur de présence:

  1. avec la fonction counttime = millis(); nous commençons à compter le temps, pendant que le microcontrôleur continue à effectuer d’autres calculs dans le code;
  2. dans le premier croquis, la LED était éteinte immédiatement après le signal LOW du capteur PIR, mais maintenant nous comptons 1 minute jusqu’à ce que la lumière s’éteigne.

Conclusion. Aujourd’hui, personne ne s’étonne de l’allumage automatique de l’éclairage dans les entrées des immeubles d’habitation, qui se déclenche lorsqu’une personne apparaît. La plupart des dispositifs d’éclairage sont équipés de capteurs de mouvement passifs (PIR). Dans cet article, nous avons considéré le dispositif du capteur de mouvement, son schéma de connexion à Arduino UNO et assemblé un interrupteur automatique de lumière.





19 Replies to “Branchement сapteur de mouvement Arduino HC-SR501”

  1. Bonjour’
    Plutôt que de commander l’allumage d’une ampoule je souhaiterais faire fonctionner un Servo.
    Comment réaliser le montage et le programme?

  2. Bonjour je veut réaliser un détecteur de présence et une fois une présence détecté un interrupteur se ferme aide moi a faire une réalisation SVP

  3. Bonjour,
    je pense qu’il y a une erreur de représentation des connexions d’alimentation sur le croquis « Comment connecter le capteur de mouvement à l’Arduino ».
    Si on se ré-ferre à la photo « Capteur de mouvement Arduino PIR (HC-SR501) » , le +V est sur la pin de droite et le GND est sur la pin de gauche. Sur le croquis « Comment connecter le capteur de mouvement à l’Arduino » ces 2 pins sont inversées.
    Cordialement

  4. bonjour, comment pourrais-je ajouter un buzzer lors du mvt svp? je veux le realiser comme un mini système de securité. merci

    1. tu mets le + et le – directement sur le déclanchement du capteur, sur un module de temporisation (mise en place d’un délai de fonctionnement) et un buzzer derrière, soit un buzzer derrière le capteur directement mais en mettant un bouton de coupure d’alimentation entre la batterie et le capteur . Le tout (enfin, je suis nul donc je le fais souvent …) mettre des fusibles :). Je suis en train d’en monter un avec le temporisateur .

  5. bonjours !
    je voudrais connaitre comment on règle ce capteurs
    si vous pouvez nous donnez un branchage ou un réglage de base ?
    merci d’avance

  6. Bonjour Gérard.
    A ce que je sache le Servo a aussi 3 broches(o2 d’alimentation et une de commande). La broche de commande du Servo doit être déclaré à l’aide de la fonction attach .
    Du coup tu tu peux faire tes rotation en cas de mouvement avec la fonction write.

  7. Bonjour, j’aimerais utliser ce montage pour l’eclairage de ma cage d’escalier.
    Je voudrais faire varier la puissance d’eclairage en fonction de l’heure de la journée/nuit.
    Est ce possible ?
    merci d’avance

  8. Bonjour j aimerai connecter 3 détecteurs de mouvement. quand le premier détecte un mouvement puis le deuxième aussi et enfin le troisième ( dans cet ordre précis) alors une alarme retenti.

    est ce possible ou je rêve let je risque de passer ma vie a chercher le graal lol ?

  9. Bonjour,
    Dans la note des caractéristiques du module PIR, il est indiqué que l’on peut ajouter une fonction jour/nuit à ‘aide d’une photo-cellule. Comment procéder?

  10. Bonjour, je voudrais que la LED s’éteigne immédiatement lorsque la présence sera détecter car dans l’explication ont nous dit que la lumière s’éteindra après une minute. serait-il possible de m’apporter de l’aide dans ce problème ?

    Ce serai pour un projet dans mon lycée

    Cordialement.

    1. Utilisez le premier croquis pour cette tâche. Vous devez seulement changer l’état de la broche de HIGH à LOW.

  11. Bonjour,
    Je souhaiterais que la détection de mouvement provoque la lecture d’un son ou d’une parole préalablement enregistrée. Est ce possible ? Puis-je connecter un micro avec mémoire (carte sd ? ) à la place de la led ?
    Merci beaucoup 🙂

  12. Bonjour,

    Je teste le suivi de personne avec des capteurs PIR distant entre eux de 16 cm. La zone de captage des PIR est de 120°. Peut-on réduire cet angle car j’ai l’impression que les 2 captent ma présence. Je limite la zone entre 50 et 110 cm. Lorsque je suis à gauche de mon robot je souhaite qu’il tourne légèrement à gauche idem pour la droite. En fait, je voudrais qu’il me suive.

    Merci à vous

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.