(4 versions intermédiaires masquées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | {{avertissement}} | ||
+ | {{vidéo|numérovidéo = <videoflash type="mediaspip" num = 1>http://mediaspip.ptitdeb.infini.fr/IMG/flv/Capteur_Presence1-encoded.flv|400|300</videoflash>}} | ||
+ | |||
+ | |||
+ | |||
=='''Présentation de l'expérience'''== | =='''Présentation de l'expérience'''== | ||
+ | On me voit, on ne me voit plus... Lorsque je suis ici, je suis peut-être là, mais lorsque je ne suis pas là, je ne suis probablement plus ici. | ||
- | + | Au passage d'un mouvement devant un capteur, un signal retentit mais sans aucun mouvement devant le capteur, aucun signal ne retentit. | |
- | Au passage d'un mouvement devant un capteur un signal | + | |
== '''Matériel''' == | == '''Matériel''' == | ||
- | * [[Image:ordinateur.jpg|50px]] | + | * [[Image:ordinateur.jpg|50px]] Un [[ordinateur]] |
- | * [[Image:arduino.jpg|50px]] | + | * [[Image:arduino.jpg|50px]] Un [[Arduino]] et son logiciel (arduino 1.0.3) |
* [[Image:597px-Stranded_lamp_wire.jpg|50px]] Du [[Fil électrique]] | * [[Image:597px-Stranded_lamp_wire.jpg|50px]] Du [[Fil électrique]] | ||
- | * [[Image:buzzer.jpg|50px]] | + | * [[Image:buzzer.jpg|50px]] Un [[Buzzer]] |
- | * | + | * Un [[Capteur infrarouge]] |
== '''L'expérience''' == | == '''L'expérience''' == | ||
Ligne 24 : | Ligne 29 : | ||
==='''La manipulation'''=== | ==='''La manipulation'''=== | ||
- | + | * Réaliser le montage présenté ci-dessus. | |
- | + | * Créer un nouveau projet dans le logiciel Arduino 1.0.3. | |
- | + | * Dans le projet, entrer le code fourni ci-dessous. | |
- | + | == CODE == | |
- | + | ||
- | == CODE | + | |
Ligne 38 : | Ligne 41 : | ||
int sonPin = 12; | int sonPin = 12; | ||
- | int inputPin = 2; // Pin d'entrée choisie pour | + | int inputPin = 2; // Pin d'entrée choisie pour surveiller le senseur PIR |
- | int pirMotionState = LOW; // Pour commencer, nous considérons qu'il n'y a pas de nouvement | + | int pirMotionState = LOW; // Pour commencer, nous considérons qu'il n'y a pas de nouvement |
int val = 0; // Variable utilisée pour lire l'entrée Pin 2 (valeur du PIR) | int val = 0; // Variable utilisée pour lire l'entrée Pin 2 (valeur du PIR) | ||
void setup() { | void setup() { | ||
- | pinMode(sonPin, OUTPUT); // déclarer son comme sortie | + | pinMode(sonPin, OUTPUT); // déclarer le son comme sortie |
- | pinMode(inputPin, INPUT); // déclarer le | + | pinMode(inputPin, INPUT); // déclarer le senseur comme entrée |
Serial.begin(9600); | Serial.begin(9600); | ||
Ligne 54 : | Ligne 57 : | ||
val = digitalRead(inputPin); // Lire la valeur d'entrée | val = digitalRead(inputPin); // Lire la valeur d'entrée | ||
if (val == HIGH) { // Vérifier si l'entrée est HIGH | if (val == HIGH) { // Vérifier si l'entrée est HIGH | ||
- | tone(12,440);// Allumer | + | tone(12,440);// Allumer le son (activité PIR) |
if (pirMotionState == LOW) { | if (pirMotionState == LOW) { | ||
// Si l'état du PIR est LOW, comme nous venons de détecter un mouvement | // Si l'état du PIR est LOW, comme nous venons de détecter un mouvement | ||
Ligne 66 : | Ligne 69 : | ||
if (pirMotionState == HIGH){ | if (pirMotionState == HIGH){ | ||
// Si l'état PIR est HIGH (mouvement détecté) et que la sortie du PIR | // Si l'état PIR est HIGH (mouvement détecté) et que la sortie du PIR | ||
- | // passe à LOW, c'est que le mouvement | + | // passe à LOW, c'est que le mouvement a cessé ! |
Serial.println("Mouvement terminé!"); | Serial.println("Mouvement terminé!"); | ||
// Nous affichons le message que pour le changement d'état (détection mouvement) | // Nous affichons le message que pour le changement d'état (détection mouvement) | ||
Ligne 75 : | Ligne 78 : | ||
</pre> | </pre> | ||
- | ==='''Que voit-on ?=== | + | ==='''Que voit-on ?'''=== |
On entend un signal lorsqu’un mouvement s’effectue devant le capteur. | On entend un signal lorsqu’un mouvement s’effectue devant le capteur. | ||
Ligne 82 : | Ligne 85 : | ||
De manière simple, le capteur envoie un signal électrique par son fil jaune si jamais il détecte un mouvement. L’arduino capte ce signal et l’interprète grâce au code. | De manière simple, le capteur envoie un signal électrique par son fil jaune si jamais il détecte un mouvement. L’arduino capte ce signal et l’interprète grâce au code. | ||
- | L’arduino envoie ensuite un signal spécifique au | + | L’arduino envoie ensuite un signal spécifique au buzzer pour que celui-ci sonne. |
=== '''Allons plus loin dans l'explication''' === | === '''Allons plus loin dans l'explication''' === | ||
Ligne 88 : | Ligne 91 : | ||
Allons plus loin : | Allons plus loin : | ||
- | La ligne de code qui capte le signal | + | La ligne de code qui capte le signal envoyé par le capteur est celle-ci |
if (val == HIGH) { | if (val == HIGH) { | ||
- | Le « if », « si » en français, ce qu’on appelle une boucle débute si la condition dans les parenthèses, en l’occurrence, « val » est | + | Le « if », « si » en français, ce qu’on appelle une boucle débute si la condition dans les parenthèses, en l’occurrence, « val » est égale à « HIGH », est vraie alors on rentre dans les guillemets, dans la boucle. Cela se traduit en français par : |
- | Si le signal délivré par le capteur (val) est envoyé alors on entre dans la boucle. | + | Si le signal délivré par le capteur (val) est envoyé, alors on entre dans la boucle. |
Ligne 102 : | Ligne 105 : | ||
== '''Lieux propices à sa réalisation''' == | == '''Lieux propices à sa réalisation''' == | ||
- | A l'intérieur sur une table pour pouvoir étaler son matériel. | + | A l'intérieur, sur une table pour pouvoir étaler son matériel. |
=='''Catégories'''== | =='''Catégories'''== | ||
- | + | ||
[[Catégorie:Contenus à développer]] | [[Catégorie:Contenus à développer]] | ||
[[Catégorie:expérience]] | [[Catégorie:expérience]] | ||
Ligne 113 : | Ligne 116 : | ||
[[Catégorie:technique]] | [[Catégorie:technique]] | ||
[[Catégorie:informatique]] | [[Catégorie:informatique]] | ||
+ | [[Catégorie:électrokids]] |
Sommaire |
On me voit, on ne me voit plus... Lorsque je suis ici, je suis peut-être là, mais lorsque je ne suis pas là, je ne suis probablement plus ici.
Au passage d'un mouvement devant un capteur, un signal retentit mais sans aucun mouvement devant le capteur, aucun signal ne retentit.
int sonPin = 12; int inputPin = 2; // Pin d'entrée choisie pour surveiller le senseur PIR int pirMotionState = LOW; // Pour commencer, nous considérons qu'il n'y a pas de nouvement int val = 0; // Variable utilisée pour lire l'entrée Pin 2 (valeur du PIR) void setup() { pinMode(sonPin, OUTPUT); // déclarer le son comme sortie pinMode(inputPin, INPUT); // déclarer le senseur comme entrée Serial.begin(9600); } void loop(){ val = digitalRead(inputPin); // Lire la valeur d'entrée if (val == HIGH) { // Vérifier si l'entrée est HIGH tone(12,440);// Allumer le son (activité PIR) if (pirMotionState == LOW) { // Si l'état du PIR est LOW, comme nous venons de détecter un mouvement // nous changeons l'état pirMotionState à HIGH (mouvement détecté) Serial.println("Mouvement détecté!"); // Nous affichons le message seulement quand la sortie change pirMotionState = HIGH; } } else { noTone(12); // Eteindre la LED (plus d'activité PIR) if (pirMotionState == HIGH){ // Si l'état PIR est HIGH (mouvement détecté) et que la sortie du PIR // passe à LOW, c'est que le mouvement a cessé ! Serial.println("Mouvement terminé!"); // Nous affichons le message que pour le changement d'état (détection mouvement) pirMotionState = LOW; } } }
On entend un signal lorsqu’un mouvement s’effectue devant le capteur.
De manière simple, le capteur envoie un signal électrique par son fil jaune si jamais il détecte un mouvement. L’arduino capte ce signal et l’interprète grâce au code. L’arduino envoie ensuite un signal spécifique au buzzer pour que celui-ci sonne.
Allons plus loin :
La ligne de code qui capte le signal envoyé par le capteur est celle-ci
if (val == HIGH) {
Le « if », « si » en français, ce qu’on appelle une boucle débute si la condition dans les parenthèses, en l’occurrence, « val » est égale à « HIGH », est vraie alors on rentre dans les guillemets, dans la boucle. Cela se traduit en français par : Si le signal délivré par le capteur (val) est envoyé, alors on entre dans la boucle.
Peut servir d’alarme lorsque l’on n’est pas chez soi. Nous pouvons aussi dériver cette application pour allumer une lumière lorsque l’on rentre dans une pièce (même principe utilisant les capteurs). Application pour la domotique.
A l'intérieur, sur une table pour pouvoir étaler son matériel.
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique