plus d'infos sur la notice du composant.
Pour utiliser le détecteur de mouvement il n'y a besoin d'aucunes bibliothèques car le capteur ne renvoie que deux état :
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.).
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) |
Aucune autres fonctionnalités
1 #define brocheCapteur 2
2 int val = LOW;
3 bool etatDetection = false;
4
5 void setup() {
6 Serial.begin(9600);
7 pinMode(brocheCapteur, INPUT);
8 }
9
10 void loop() {
11 // la variable etatDetection sert à éviter de "trop boucler".
12 // cela permet de ne pas écrire en boucle les infos dans le moniteur série.
13 // et au contraire de n'écrire que lorsqu'il y a un changement d'état de "détecté" à "non détecté"
14 val = digitalRead(brocheCapteur);
15 if (val == HIGH) {
16 if (etatDetection == false) {
17 Serial.println("Mouvement détecté !");
18 etatDetection = true;
19 }
20 } else if (val == LOW) {
21 if (etatDetection == true) {
22 Serial.println("Mouvement non détecté !");
23 etatDetection = false;
24 }
25 }
26 }
Item-Motion_Sensor_HC-SR501_motion_sensor_hc_sr-501.jpg Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #