Aucun résumé des modifications |
Aucun résumé des modifications |
||
| 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
#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;
}
}
}
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 :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #