Item:Détecteur de Mouvement HC-SR501 : Différence entre versions

(Page créée avec « {{Item |Main_Picture=Item-Motion_Sensor_HC-SR501_motion_sensor_hc_sr-501.jpg |Description=Détecteur de mouvement PIR |Categories=Matériel, Parts |Cost=0.72 |Currency=EUR... »)
 
 
(5 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
{{Item
 
{{Item
 
|Main_Picture=Item-Motion_Sensor_HC-SR501_motion_sensor_hc_sr-501.jpg
 
|Main_Picture=Item-Motion_Sensor_HC-SR501_motion_sensor_hc_sr-501.jpg
|Description=Détecteur de mouvement PIR
+
|Description=Détecteur de mouvement PIR (Passive Infra Red)
 
|Categories=Matériel, Parts
 
|Categories=Matériel, Parts
 
|Cost=0.72
 
|Cost=0.72
Ligne 7 : Ligne 7 :
 
|ItemLongDescription={{Info|Il doit être alimenté en 5V}}
 
|ItemLongDescription={{Info|Il doit être alimenté en 5V}}
  
plus d'infos : https://pdf1.alldatasheet.fr/datasheet-pdf/view/1131987/ETC2/HC-SR501.html
+
plus d'infos sur [https://pdf1.alldatasheet.fr/datasheet-pdf/view/1131987/ETC2/HC-SR501.html la notice du composant.]
  
 
<br />
 
<br />
  
= Caractéristiques =
+
=Caractéristiques=
 
<br />
 
<br />
  
* alimentation maxi : 5V
+
*alimentation maxi : 5V
  
= Bibliothèque : =
+
=Bibliothèque : =
Pour utiliser le détecteur de mouvement il n'y a besoin d'aucunes bibliothèques
+
Pour utiliser le détecteur de mouvement il n'y a besoin d'aucunes bibliothèques car le capteur ne renvoie que deux état :
  
= Câblage : =
+
*soit l'état haut (HIGH) lorsqu'il capte un mouvement.
<br />
+
*Soit l'état bas (LOW) lorsqu'il ne capte rien .
 +
 
 +
Attention, la détection peut prendre du temps car il y a une temporisation (le capteur à besoin de chauffer d'une part et lorsqu'il capte un mouvement, il reste un certain temps en état haut d'autre part.).
 +
 
 +
=Câblage : =
 +
{{#annotatedImageLight:Fichier:Item Motion Sensor HC-SR501.png|0=509px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=Item Motion Sensor HC-SR501|align=center|src=https://www.wikidebrouillard.org/images/9/91/Item_Motion_Sensor_HC-SR501.png|href=./Fichier:Item Motion Sensor HC-SR501.png|resource=./Fichier:Item Motion Sensor HC-SR501.png|caption=|size=509px}}
 +
=Le code minimal : =
 +
{| class="wikitable" cellspacing="0" border="0"
 +
| height="17" bgcolor="#999999" align="left" |
 +
| valign="middle" bgcolor="#999999" align="center" |
 +
| bgcolor="#999999" align="center" |Motion Sensor HC SR-501
 +
|-
 +
| rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center" |Avant le Setup
 +
| valign="middle" bgcolor="#999999" align="center" |Importation de la bibliothèque
 +
| valign="middle" align="left" |Aucunes bibliothèques
 +
|-
 +
| valign="middle" bgcolor="#999999" align="center" |Création de l’objet
 +
| valign="middle" align="left" |#define pirPin <numéro de broche>; // je défini la broche
 +
int val = LOW;
 +
 
 +
bool motionState = false;
 +
|-
 +
| valign="middle" height="17" bgcolor="#999999" align="center" |Dans le Setup
 +
| valign="middle" bgcolor="#999999" align="center" |Démarrage de l’objet
 +
| valign="middle" align="left" |pinMode(pirPin, INPUT);
 +
|-
 +
| valign="middle" height="41" bgcolor="#999999" align="center" |Dans le Loop
 +
| valign="middle" bgcolor="#999999" align="center" |Utilisation
 +
| valign="middle" align="left" |val = digitalRead(pirPin);
 +
if (motionState == false)
 +
|}
 +
=Autres fonctionnalités=
 +
Aucune autres fonctionnalités
 +
=Exemple : =
 +
<syntaxhighlight lang="arduino" line="1" start="1">
 +
#define brocheCapteur 2
 +
int val = LOW;
 +
bool etatDetection = false;
 +
 
 +
void setup() {
 +
  Serial.begin(9600);
 +
  pinMode(brocheCapteur, INPUT);
 +
}
 +
 
 +
void loop() {
 +
// la variable etatDetection sert à éviter de "trop boucler".
 +
// cela permet de ne pas écrire en boucle les infos dans le moniteur série.
 +
// et au contraire de n'écrire que lorsqu'il y a un changement d'état de "détecté" à "non détecté"
 +
  val = digitalRead(brocheCapteur);
 +
  if (val == HIGH) {
 +
    if (etatDetection == false) {
 +
      Serial.println("Mouvement détecté !");
 +
      etatDetection = true;
 +
    }
 +
  } else if (val == LOW) {
 +
    if (etatDetection == true) {
 +
      Serial.println("Mouvement non détecté !");
 +
      etatDetection = false;
 +
    }
 +
  }
 +
}
 +
 
 +
</syntaxhighlight><br />
 
}}
 
}}
 
{{Tuto Status
 
{{Tuto Status
|Complete=Draft
+
|Complete=Published
 
}}
 
}}

Version actuelle datée du 10 mai 2023 à 11:21


Item-Motion Sensor HC-SR501 motion sensor hc sr-501.jpg

Détecteur de Mouvement HC-SR501

Détecteur de mouvement PIR (Passive Infra Red)

0.72EUR (€)


Description longue

Il doit être alimenté en 5V

plus d'infos sur la notice du composant.


Caractéristiques


  • alimentation maxi : 5V

Bibliothèque :

Pour utiliser le détecteur de mouvement il n'y a besoin d'aucunes bibliothèques car le capteur ne renvoie que deux état :

  • soit l'état haut (HIGH) lorsqu'il capte un mouvement.
  • Soit l'état bas (LOW) lorsqu'il ne capte rien .

Attention, la détection peut prendre du temps car il y a une temporisation (le capteur à besoin de chauffer d'une part et lorsqu'il capte un mouvement, il reste un certain temps en état haut d'autre part.).

Câblage :

Item Motion Sensor HC-SR501

Le code minimal :

Motion Sensor HC SR-501
Avant le Setup Importation de la bibliothèque Aucunes bibliothèques
Création de l’objet #define pirPin <numéro de broche>; // je défini la broche

int val = LOW;

bool motionState = false;

Dans le Setup Démarrage de l’objet pinMode(pirPin, INPUT);
Dans le Loop Utilisation val = digitalRead(pirPin);

if (motionState == false)

Autres fonctionnalités

Aucune autres fonctionnalités

Exemple :

#define brocheCapteur 2
int val = LOW; 
bool etatDetection = false;

void setup() {
  Serial.begin(9600);
  pinMode(brocheCapteur, INPUT);
}

void loop() {
// la variable etatDetection sert à éviter de "trop boucler".
// cela permet de ne pas écrire en boucle les infos dans le moniteur série.
// et au contraire de n'écrire que lorsqu'il y a un changement d'état de "détecté" à "non détecté"
  val = digitalRead(brocheCapteur);
  if (val == HIGH) {
    if (etatDetection == false) {
      Serial.println("Mouvement détecté !");
      etatDetection = true;
    }
  } else if (val == LOW) {
    if (etatDetection == true) {
      Serial.println("Mouvement non détecté !");
      etatDetection = false; 
    }
  }
}

Pages liées

Commentaires

Published