m (Djbrown a déplacé la page Item:Motion Sensor HC-SR501 vers Item:Détecteur de Mouvement HC-SR501) |
|||
| (2 révisions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 7 : | Ligne 7 : | ||
|ItemLongDescription={{Info|Il doit être alimenté en 5V}} | |ItemLongDescription={{Info|Il doit être alimenté en 5V}} | ||
| − | plus d'infos | + | plus d'infos sur [https://pdf1.alldatasheet.fr/datasheet-pdf/view/1131987/ETC2/HC-SR501.html la notice du composant.] |
<br /> | <br /> | ||
| Ligne 17 : | Ligne 17 : | ||
=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 : |
| + | |||
| + | *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 : = | =Câblage : = | ||
| Ligne 50 : | 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 :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #