Le starter kit Arduino Officiel

Pour débutant – Manuel en Français

Apprenez l’Arduino et l’électronique de façon pratique

Les récepteurs infrarouges

A quoi ca va servir ? Bien dans un premier temps on pourrais imaginer clôner des télécommandes. Grâce aux recepteurs on en récupererais tous les signaux pour ensuite les emêttres avec avec une diode infrarouge. Et donc controler la télévision avec un arduino par exemple ou l’inverse, contrôler notre arduino avec une télécommande infrarouge. C’est en toute un moyen de communication très simple et assé fiable pour l’utiliser dans nombre d’applications.

Branchement du recepteur infrarouge à l’arduino

Les récepteurs infrarouges sont muni de trois pin contrairement aux leds infrarouges qui n’en ont que deux. Pour connecter les pins du recepteur, il faut les distinguer les unes des autres. Si vous avez la référence de votre recepteur, référez-vous à sa datasheet par sureté. Dans mon cas les pins de mon recepteurs TSOP382 étaient telles que l’illustration ci-dessous.

ir_receiver_200

 

Vue de face et de gauche a droite: OUTPUT, GND, VCC

Pour sa connexion à l’arduino, j’ai relié l’OUTPUT à la pin 6 de l’arduino. les deux autres vcc et gnd à leurs correspondant… vcc et gnd. (5V et GND).

Analyser les signaux d’une télécommande:

Sur base de la librairie IRremote par Ken Shirriff disponible sur le github officiel, on peut analyser les signaux émis par une télécommande de téléviseur par exemple pour peu que celle-ci soit une télécommande infrarouge.

Pour commencer il faut télécharger la librairie ici et l’installer dans le dossier libraries d’arduino. Dans mon cas sous Windows Seven se sera dans: \Documents\Arduino\libraries\ OU option B passer par l’IDE d’Arduino. Lancer l’IDE, ensuite Croquis, importer la bibliothèque, add library…

Bon on y est l’IDE Arduino est lancé, la librairie est installée. on va y aller simplement et on va analyser les signaux émis par une télécommande infrarouge. Rendez vous dans le dossier de librairie arduino, dans mon cas:Arduino\libraries\Arduino-IRremote-master\examples. Et on va y ouvrir le fichier IRrecvDump.ino.

On y trouvera le sketch suivant:

La seule ligne qui pourrait être éventuellement modifiée est celle-ci:

int RECV_PIN = 6;

Ce qui correspond à la pin OUTPUT de votre recepteur infrarouge.

Uploadez le sketch sur votre arduino et ouvrez le moniteur série. Enfin visez votre recepteur infrarouge avec n’importe quelle télécommande infrarouge. Celle d’un téléviseur par exemple et pressez un bouton.

Vous obtiendrez un résultat comme celui-ci:

ir_moniteur_serie

Les deux premières lignes sont les résultats qui nous intérêssent. En un, le code en hexadécimal renvoyé par la télécommande: FDB04F En deux, le protocoledécodé: NEC et son codage sur 32bits.
Notez qu’on aurai pu se satisfaire de la seconde ligne uniquement étant donné que l’hexadécimal nous y est précisé aussi.

Bien que la plupart des télécommandes soient analysable avec cette librairie, notez qu’il est possible d’avoir un protocol inconnu, voir que vous n’arriviez pas a décoder le signal émis par la télécommande. Pour ma part, TOUTES les télécommandes présente à mon domicile on fonctionnée. Je ne me suis donc pas encore penché sur un éventuel soucis de détection pour l’instant. Et c’est plutôt une bonne chose 🙂 .

Note: J’ai eu des soucis de réception les codes ne correspondaient pas alors que je pressais successivement la même touche. Après quelques heures de prise de tête il s’avère que c’étais le recepteur (bas de gamme) qui ne fonctionnais pas correctement. Après changement tout est rentré dans l’ordre.

5 Commentaires

  1. Ambroise

    Un tel recepteur infrarouge nous est utile pour notre projet futur en pratique à l’université. On voudrait faire une petite simulation d’une maison connecté, commandé par télécommande.

    Réponse
    • Gilles

      Salut,

      A mon humble avis, tu peux imaginer de raccorder un arduino à un rapsberry.
      L’arduino choppera les signaux IR ou autre, et un code sur le raspberry (par exemple en NODEJS) interpreterait des infos renvoyées en série par l’arduino.
      Par exemple, ton arduino detecte un code IR et il fait un Serial.print(“code_1”)
      Ton appli nodejs écoute leport série (de nombreuses doc sur le web à ce sujet) et il execute des trucs. L’avantage de passer par un raspberry permettrait de mettre en place tout ce qu’il faut pour pour faire un interface web pour gérer l’ensemble :))

      @+ Gilles

      Réponse
  2. Gilles

    Salut,

    Merci pour ce post, je tente de réaliser un mécanisme de baisse automatique du son de ma chaine JVC (un vieux model fonctionnant avec une telecommande RM-SMXG500R) et manque de bol, le protocol n’est pas reconnu 😉
    En ce moment je tente une espèce de ‘brut force’ sur 4 caractères hexa (0 -> 65535 en int)
    Je convertis les valeurs int en hexa et j’envoie.
    J’ai pu tester grâce à 2 arduino que mon emission et ma reception fontionneent bien. Mais j’imagine que les protocoles infra rouge sont plus complexes que le simple envoie d’une valeur(JVC envoie une succession de messages, 1 correspondant à l’entête et le meme message envoyé 50µ secondes plus tard. Bref, si ça marche je tiendrai au courrant 😉 )

    @+
    Gilles

    Réponse
    • leroyd

      T’y va un peu a l’aveugle c’est galère lorsque les protocoles ne sont pas reconnus. Mais tu t’acharne c’est génial du coup, tiens nous au courant ça peut vraiment être utile et merci 😉

      à bientôt,

      Lee

      Réponse
  3. Merjer

    j’ai un petit problème avec la ligne “Serial.print(results->panasonicAddress,HEX);”.
    Le programme marche très bien sans mais je aimerais résoudre se petit problème donc si quel qu’un a la réponse je suis preneur.Si jamais dans mon programme je ne l’avais pas mise entre parenthèse.

    Réponse

Soumettre un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Inscrivez-vous a la newsletter

Inscrivez-vous a la newsletter

Soyez les premiers avertis de nouveaux tutos, mises à jours, bon plans,...

Merci et à bientôt!

Pin It on Pinterest

Share This