dimanche 12 février 2012

Détecteur de mouvements à infrarouge et Arduino

Aujourd'hui, j'ai fait quelques expériences avec un détecteur de mouvement à infrarouge (PIR:  passive infrared) acquis sur eBay pour moins de $3 (incluant les frais de livraison à partir de Hong Kong:  comment font-ils?!?!?).

Comme c'est souvent le cas, le produit n'était accompagné d'aucune documentation, mais son utilisation est simple puisqu'il est doté de 3 broches clairement identifiées:  deux pour l'alimentation (5 V et GND) et une sortie qui prend pendant quelques secondes l'état logique "haut" si un mouvement est détecté a proximité du capteur.

Pour des informations détaillées sur le fonctionnement de ce genre de capteur, je vous conseille la page qui y est consacré sur ladyada.   J'y ai trouvé ce circuit très simple (illustré à droite) pour vérifier rapidement le bon fonctionnement du capteur.  Lorsqu'on bouge à proximité du capteur, une LED s'allume pendant quelques secondes; elle s'éteint si on demeure immobile.

Ensuite, j'ai eu envie de créer quelque chose d'un peu plus sophistiqué en mettant à contribution mon fidèle Arduino:  il s'agit d'un petit montage qui, lorsqu'il détecte votre arrivée dans une pièce, joue une petite mélodie de bienvenue.  Pour éviter que la mélodie ne soit déclenchée chaque fois que vous bougez, un délai minimal est imposé entre deux mélodies consécutives (il n'est que de 30 secondes dans le sketch ci-dessous, mais il est facile de l'augmenter à une heure, ou même plus, pour que l'Arduino vous salue uniquement lorsque vous revenez suite à une longue absence).



(Plus de détails concernant la façon de brancher un haut-parleur à l'Arduino.)




Yves Pelletier   (TwitterFacebook)

4 commentaires:

  1. bonjour
    merci pour ces partages utiles
    question :
    void loop() {

    if ((millis()-precedent)>delai)

    à quoi sert &gt non déclaré et erreur à la compilation ?

    RépondreSupprimer
    Réponses
    1. C'est le symbole > (plus grand que...ou greater than) qui avait étrangement été remplacé par un tag html.

      Supprimer
  2. Bonjour est ce que tu aurais l'adresse des ces composant ?je dois faire quelque de similaire pour mon stage sauf que c'est pour un babyfoot qui doit crier "goal" "a chaque but marquer
    Escuse moi mais comment je pourrais faire pour que le haut parleur puissent dire goal ?

    RépondreSupprimer
  3. Bonjour s'il vous plis je suis maintenant au sein de la realisation d'un mini projet et je voudrais connaître qu'il type de capteur que j'ai peut utiliser pour declarer la presence d'une piece

    RépondreSupprimer