Ligne 19 : | Ligne 19 : | ||
Pour utiliser le détecteur de mouvement il n'y a besoin d'aucunes bibliothèques car le capteur ne renvoie que deux état : | 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 haut (HIGH) lorsqu'il capte un mouvement. |
− | * Soit l'état bas (LOW) lorsqu'il ne capte rien . | + | *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.). | 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.). | ||
Ligne 55 : | Ligne 55 : | ||
=Exemple : = | =Exemple : = | ||
<syntaxhighlight lang="arduino" line="1" start="1"> | <syntaxhighlight lang="arduino" line="1" start="1"> | ||
− | #define | + | #define brocheCapteur 2 |
int val = LOW; | int val = LOW; | ||
− | bool | + | bool etatDetection = false; |
void setup() { | void setup() { | ||
Serial.begin(9600); | Serial.begin(9600); | ||
− | pinMode( | + | pinMode(brocheCapteur, INPUT); |
} | } | ||
void loop() { | void loop() { | ||
− | val = digitalRead( | + | // 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 (val == HIGH) { | ||
− | if ( | + | if (etatDetection == false) { |
Serial.println("Mouvement détecté !"); | Serial.println("Mouvement détecté !"); | ||
− | + | etatDetection = true; | |
} | } | ||
} else if (val == LOW) { | } else if (val == LOW) { | ||
− | if ( | + | if (etatDetection == true) { |
Serial.println("Mouvement non détecté !"); | Serial.println("Mouvement non détecté !"); | ||
− | + | etatDetection = false; | |
} | } | ||
} | } |
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 :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #