jeudi 4 juillet 2013

La machine à dire "bonjour"

Dans ma plus récente rubrique, j'avais utilisé un Arduino, un breakout VS1053 et un lecteur de carte SD pour fabriquer mon propre lecteur mp3; tout ça est bien amusant, mais c'est se donner bien du mal pour reproduire un gadget disponible pour $15 à tous les coins de rue... En utilisant le même matériel, essayons maintenant quelque chose d'un peu moins répandu, quelque chose que la plupart de vos amis ne possèdent probablement pas: un salueur électronique!

Mise en situation: 

Vous êtes de retour à la maison après une longue journée de travail. La maison est malheureusement déserte, mais quel plaisir d'entendre votre salueur élecronique qui, ayant détecté votre arrivée, vous lance un tonitruant "Bonjour, ça va?".

Matériel et connexions: 

Vous avez besoin d'un Arduino (j'ai utilisé un UNO), d'un module mp3 VS1053, d'un module lecteur de carte SD, d'une carte SD, d'un détecteur de mouvement à infrarouge (PIR) et d'un système de haut-parleurs multimédias (du genre qu'on branche à un ordinateur pour avoir du son) .

Je vous réfère à ma rubrique précédente pour une description détaillée de la façon de connecter votre module VS1053 et votre lecteur de carte SD. Si vous êtes l'heureux propriétaire du shield mp3 de Sparkfun (qui est déjà muni d'un VS1053 et d'un lecteur de carte SD), c'est encore plus simple: vous l'insérez sur l'Arduino et vous venez d'économiser au moins 15 minutes.

Le détecteur de mouvement à infrarouge PIR est muni de trois connecteurs:  GND, OUT et 5 V.  Branchez le "OUT" à l'entrée 3 de l'Arduino.  Je vous laisse deviner où vous branchez GND et 5V...

Préparation des fichiers mp3: 

Pour plus de variété, nous allons préparer plusieurs fichiers mp3, chacun contenant une salutation différente. Vous pouvez créer ces fichiers vous-même (j'ai utilisé le logiciel gratuit Audacity): dans un fichier vous pouvez dire "Bonjour!", dans l'autre vous dites "Te voilà enfin! Tu y as mis du temps!", et dans un autre vous dites "Salut, je commençais à m'ennuyer...". Une autre option possible consiste à télécharger des fichiers mp3 contenant des salutations dans différentes langues étrangères.

Attention:  pour que le sketch que je vais bientôt vous présenter fonctionne correctement, vous devez baptiser vos fichier "Track001.mp3", "Track002.mp3", etc.  Et vous les placez dans votre carte SD.

Le sketch:

Mon sketch nécessite l'installation de la librairie SFEMP3Shield.  Chaque fois que le détecteur de mouvement...détecte un mouvement, l'entrée 3 de l'Arduino devient haute pendant quelques secondes.  Le sketch vérifie alors à quand remonte la plus récente détection de mouvement.  S'il s'agit du premier mouvement détecté depuis plus de 15 minutes (temps que vous pouvez évidemment modifier selon vos préférences), un fichier mp3 choisi au hasard sera joué.

Votre salueur électronique vous saluera donc chaque fois que vous serez  de retour dans la pièce après y avoir été absent pendant plusieurs minutes.

Variantes:

L'appareil peut aussi servir à jouer des tours:  placez-le dans le bureau d'un collègue qui ne se doute de rien, et il sera bien surpris d'être salué par un fantôme.  Il peut aussi servir de système d'alarme: quelqu'un qui s'en approche pourrait être accueilli par un agressif "Sortez de ma chambre!!!".

Et lorsque vous en avez assez de votre salueur électronique, vous le démontez pour utiliser ses composants dans un futur projet...

P.S.:  Les lecteurs perspicaces remarqueront une certaines ressemblance avec un projet précédent, dans lequel l'Arduino jouait une courte mélodie lorsqu'il détectait l'arrivée de quelqu'un.

Yves Pelletier (Twitter: @ElectroAmateur)

1 commentaire:

  1. Bonjour je viens de testé votre code , j'ai bien mis les librairie comme il le fallait , mais j'ai un message d'erreur qui voici ( SFEMP3Shield does not name a type)
    je posède une carte arduino uno est se shield http://snootlab.com/shields-snootlab/541-memoire-20-ds1307-fr.html et le Capteur de mouvement infrarouge http://www.arobose.com/shop/capteurs-robot/98-capteur-de-mouvement-infrarouge.html, voilà en attente d'une réponse de votre pare merci a vous.

    RépondreSupprimer