Modifications

Sauter à la navigation Sauter à la recherche
2 006 octets ajoutés ,  18 janvier 2014 à 16:51
aucun résumé de modification
Ligne 30 : Ligne 30 :  
Vous pouvez trouver tout [http://www.mchobby.be ce matériel sur notre WebShop].
 
Vous pouvez trouver tout [http://www.mchobby.be ce matériel sur notre WebShop].
   −
[[Fichier:ReedSwitch-schema.jpg|300px]]
+
[[Fichier:ReedSwitch-schema.jpg|400px]]
    
=== Quelques notes de fonctionnement ===
 
=== Quelques notes de fonctionnement ===
Ligne 47 : Ligne 47 :  
=== Montage en image ===
 
=== Montage en image ===
 
[[Fichier:ReedSwitch-montage.jpg|450px]]
 
[[Fichier:ReedSwitch-montage.jpg|450px]]
 +
 +
=== Programme ===
 +
Il s'agit bien entendu d'un programme de démonstration qui vise à mettre en oeuvre l'utilisation d'un contact magnétique.
 +
 +
Vous pouvez bien entendu modifier ce programme pour qu'il réponde à vos besoin.
 +
 +
En guise d'exemple, vous pourriez vous envoyer un SMS (à l'aide du [[GeekOnFire_GSM/GPRS_Shield|GPRS shield]]). Vous seriez ainsi quand quelqu'un rentre chez vous :-)
 +
 +
  <nowiki>/*
 +
*  Utilisation d'un contact magnétique (reed switch)
 +
*  avec déparasitage logiciel.
 +
 +
*  La LED s'allume quand le contact est ouvert
 +
*  (équivalent de la porte ouverte)
 +
*
 +
* Source: www.mchobby.be
 +
* Licence: Creative Common CC-BY-SA
 +
*/
 +
 +
  int switchPin = 2; // Bouton connecté à la pin 2 (pull-down)
 +
                    //    HIGH=contact fermé=porte fermée  (aimant proche)
 +
                    //    LOW =contact ouvert=porte ouverte (aimant éloigné)
 +
  int ledPin = 8;    // LED qui indique quand la porte est ouverte
 +
 
 +
  int switchState;  // état du switch magnétique
 +
 
 +
  void setup(){
 +
    pinMode( switchPin, INPUT );
 +
    pinMode( ledPin, OUTPUT );
 +
   
 +
    // Lecture etat Switch
 +
    switchState = digitalRead( switchPin );
 +
    // éteindre/allumer la LED si porte fermée/ouverte
 +
    digitalWrite( ledPin, !(switchState) );
 +
  }
 +
 
 +
  void loop(){
 +
   
 +
    // Lecture de l'état du switch avec déparasitage logiciel
 +
    int val = digitalRead( switchPin );
 +
    delay( 10 );
 +
    int val2 = digitalRead( switchPin );
 +
   
 +
    // Changement d'état ?
 +
    if( (val == val2) && (val != switchState ) ) {
 +
      if( val == LOW ) {
 +
        // PORTE OUVERTE -> Allumer LED
 +
        digitalWrite( ledPin, HIGH );
 +
      }
 +
      else {
 +
        // PORTE FERMEE - éteindre LED
 +
        digitalWrite( ledPin, LOW );
 +
      }
 +
      switchState = val;
 +
    }
 +
  }
 +
</nowiki>
 +
 +
== Résultat en image ==
 +
Puisque rien ne vaut une bonne petite vidéo...
 +
 +
{{#Widget:Iframe
 +
|url=http://www.youtube.com/embed/qMGOZbKvnNM
 +
|width=420
 +
|height=315
 +
|border=0
 +
}}
 +
 +
La vidéo est disponible [http://youtu.be/qMGOZbKvnNM ici]
    
== Ou achetez ==
 
== Ou achetez ==
Le [http://mchobby.be/PrestaShop/product.php?id_product=60 contact magnétique est disponible sur le WebShop de MCHobby].
+
Le {{pl|60|contact magnétique et autres composants sont disponibles sur le WebShop de MCHobby}}.
    
{{MCH-Accord}}
 
{{MCH-Accord}}
29 917

modifications

Menu de navigation