Différences entre versions de « Contact Magnétique »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
Ligne 118 : Ligne 118 :
  
 
== Ou achetez ==
 
== Ou achetez ==
Le [http://mchobby.be/PrestaShop/product.php?id_product=60 contact magnétique et autres composants sont disponibles 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}}

Version actuelle datée du 18 janvier 2014 à 16:51

Introduction

Un contact magnétique est constitué de deux parties.

  1. Un aimant
  2. Le contact magnétique (aussi appelé Reed switch).

ReedSwitch.jpg

Ces contacts,faciles à mettre en oeuvre, servent généralement à détecter l'ouverture d'une porte ou d'une fenêtre. Si vous disposez d'un système d'alarme à la maison vous avez probablement noté ces petits boitiers blancs à proximité des fenêtres.

Les contacts magnétiques sont généralement ouvert au repos (c'est a dire "non sollicité par un aimant").
Lorsque l'on place l'aimant à proximité, le contact se ferme. En étant attentif, il est parfois même possible d'entendre le contact se fermer.

Exemple

A la base, un Reed Switch (ou contact magnétique) n'est rien de plus qu'un bouton poussoir à la différence que ce n'est pas votre doigt qui provoque le contact mais un aimant.

Nous vous proposons l'exemple suivant pour faciliter la prise en main du contact magnétique.

Dans cet exemple, une LED rouge s'allume lorsqu'une porte est ouverte. Autrement dit, il faut allumer la LED lorsque l'aimant s'éloigne du switch magnétique (et donc lorsque le contact magnétique s'ouvre).

schéma du montage

Pour réaliser ce montage vous aurez besoin:

  • Une LED
  • Une résistance de 330 Ohms (orange-orange-brun) pour limiter le courant dans la LED).
  • Le contact de porte magnétique
  • Une résistance de 10 kOhm (brun-noir-orange) pour faire un montage Pull-Down (voir notre autre article sur leEntrée Bouton).
  • Une résistance de 100 Ohm (brun-noir-brun) pour protéger l'entrée no 2.

Vous pouvez trouver tout ce matériel sur notre WebShop.

ReedSwitch-schema.jpg

Quelques notes de fonctionnement

Vous pouvez constater sur le schéma ci-dessus que le contact magnétique est ouvert.

Cela signifie que l'aimant n'est pas a proximité (et donc que la porte est ouverte).

Le contact magnétique étant ouvert, le montage pull-down entraîne le potentiel de la pin 2 vers la masse (0 volts).

En conclusion:

  • Porte ouverte --> Pin 2 = LOW
  • Porte fermée --> Pin 2 = HIGH (1*)

1*) En effet, dans ce cas, le contact magnétique étant fermé, le potentiel de la pin 2 est tiré vers +5 volts

Montage en image

ReedSwitch-montage.jpg

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 GPRS shield). Vous seriez ainsi quand quelqu'un rentre chez vous :-)

 /*
 *  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;
    }
  }

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 ici

Ou achetez

Le contact magnétique et autres composants sont disponibles sur le WebShop de MCHobby.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.