Table des matières:

Utilisation du capteur infrarouge avec Arduino : 8 étapes (avec photos)
Utilisation du capteur infrarouge avec Arduino : 8 étapes (avec photos)

Vidéo: Utilisation du capteur infrarouge avec Arduino : 8 étapes (avec photos)

Vidéo: Utilisation du capteur infrarouge avec Arduino : 8 étapes (avec photos)
Vidéo: Utiliser l'INFRAROUGE avec Arduino FACILEMENT 2024, Juin
Anonim
Utilisation du capteur infrarouge avec Arduino
Utilisation du capteur infrarouge avec Arduino

Qu'est-ce qu'un capteur infrarouge (alias IR) ?

Un capteur IR est un instrument électronique qui scanne les signaux IR dans des plages de fréquences spécifiques définies par les normes et les convertit en signaux électriques sur sa broche de sortie (généralement appelée broche de signal). Les signaux IR sont principalement utilisés pour transmettre des commandes par voie aérienne sur de courtes distances (généralement quelques mètres) comme ce avec quoi vous avez déjà travaillé sur des télécommandes de télévision ou d'autres appareils électroniques similaires.

Protocole de communication infrarouge

Chaque signal représente un code spécifique. Les signaux électriques peuvent être reconvertis en données/code réels que l'expéditeur a envoyés. Lorsque vous appuyez sur un bouton de la télécommande de votre téléviseur, celui-ci génère un signal correspondant au code du bouton (par exemple Marche/Arrêt, Augmentation du volume, etc.) et l'envoie à un récepteur (dans ce cas, votre téléviseur). L'expéditeur et le destinataire se sont mis d'accord sur un ensemble de codes afin que le destinataire sache quoi faire en fonction de chaque code. La façon dont un code doit être modulé (modélisé) en tant que signal est définie dans différentes normes et chaque fabricant de capteurs essaie normalement de produire un produit compatible avec eux afin qu'il puisse être utilisé dans différents appareils. L'un des protocoles standard les plus connus est celui de NEC. Vous pouvez trouver un bref historique des protocoles IR sur Wikipedia sous le titre Consumer IR.

Étape 1: à quoi ressemble un capteur infrarouge ?

A quoi ressemble un capteur IR ?
A quoi ressemble un capteur IR ?
A quoi ressemble un capteur IR ?
A quoi ressemble un capteur IR ?
A quoi ressemble un capteur IR ?
A quoi ressemble un capteur IR ?

Les capteurs IR sont disponibles sur différents packages. Ici vous pouvez voir quelques emballages typiques pour un récepteur IR.

Étape 2: Carte/module de dérivation du capteur IR

Carte/module de rupture de capteur IR
Carte/module de rupture de capteur IR
Carte/module de rupture de capteur IR
Carte/module de rupture de capteur IR
Carte/module de rupture de capteur IR
Carte/module de rupture de capteur IR
Carte/module de rupture de capteur IR
Carte/module de rupture de capteur IR

Vous pouvez également les acheter en tant que module IR/carte de dérivation sur eBay, Aliexpress ou Amazon. De tels modules intègrent normalement l'un des capteurs mentionnés ci-dessus avec un bel emballage convivial pour la maquette ainsi qu'une LED qui clignote lorsque le capteur détecte un signal. Ce faisant, vous remarquerez si des données sont transférées. Je suggère fortement de commencer par l'un de ces modules.

Remarque: si vous avez un capteur IR brut, rien ne changerait, sauf que vous devriez vérifier la fiche technique du capteur pour vous assurer que vous le câblez correctement car sinon vous pourriez avoir une belle fumée bleue avec une odeur qui durerait un heure. Tu sais ce que je veux dire;)

Étape 3: Pièces et composants requis

Pièces et composants requis
Pièces et composants requis

Vous trouverez ici la liste des composants dont vous auriez besoin pour terminer ce tutoriel:

Liens eBay:

  • 1 x Arduino Uno:
  • 1 x module capteur IR avec télécommande:
  • 4 résistances 220 ohms:
  • 4 LED:
  • 8 x câble Dupont:
  • 1 x planche à pain sans soudure:
  • 1 x Mini planche à pain (facultatif):

Liens Amazon.com:

  • 1 x Arduino Uno:
  • 1 x module capteur IR avec télécommande:
  • 1 x planche à pain sans soudure:
  • 4 résistances 220 ohms:
  • 4 LED:
  • 8 x câble Dupont:
  • 1 x Mini maquette (optionnel):

Étape 4: Connexion du capteur IR à Arduino

Connexion du capteur IR à Arduino
Connexion du capteur IR à Arduino
Connexion du capteur IR à Arduino
Connexion du capteur IR à Arduino
Connexion du capteur IR à Arduino
Connexion du capteur IR à Arduino

La configuration de la connexion du capteur IR à Arduino est très simple. Outre les broches VCC et GND, le capteur n'a qu'une seule broche de sortie qui doit être connectée à l'une des broches numériques de l'Arduino. Dans ce cas, il est connecté à la broche 13.

J'ai essayé de démontrer à la fois le module de capteur IR et la configuration du capteur IR brut. Comme on peut le voir sur les photos, la position des broches VCC et GND sur le module capteur est à l'opposé du capteur brut. Cependant, cela peut ne pas être le cas pour votre capteur, donc comme mentionné à l'étape précédente, en cas d'utilisation du capteur brut, vérifiez d'abord la fiche technique.

Étape 5: Trouvez le code correspondant à chaque touche de la télécommande

Trouvez le code correspondant à chaque touche de la télécommande
Trouvez le code correspondant à chaque touche de la télécommande
Trouvez le code correspondant à chaque touche de la télécommande
Trouvez le code correspondant à chaque touche de la télécommande
Trouvez le code correspondant à chaque touche de la télécommande
Trouvez le code correspondant à chaque touche de la télécommande

Afin de programmer Arduino pour qu'il fasse quelque chose lorsque vous appuyez sur une touche de la télécommande, vous devez d'abord avoir le code correspondant à cette touche. Le code clé est un nombre normalement présenté sous forme hexadécimale. Chaque télécommande a son propre ensemble de codes clés alors qu'il est possible que deux télécommandes partagent le même code à des fins différentes. Le fait d'avoir différents codes de touche et d'utiliser différentes plages de fréquences garantit que deux télécommandes d'appareils différents n'auront pas d'interférences. C'est pourquoi lorsque vous changez de chaîne TV, votre lecteur DVD ne réagit pas du tout.

Pour détecter les codes de votre télécommande IR, vous devez d'abord exécuter un simple croquis qui essaie de lire le code du capteur lorsque vous appuyez sur une touche et l'envoie via le port série à votre ordinateur où vous pouvez y accéder à l'aide des outils Serial Monitor de IDE Arduino. C'est ce que fait le croquis joint à cette section. Il serait préférable d'appuyer sur chaque bouton pour voir le code et noter la liste des codes quelque part afin que vous n'ayez pas besoin de réexécuter ce code à l'avenir. La liste des codes de touches que vous voyez sous forme de tableau sur l'image sont en fait des codes que j'ai reçus en appuyant sur les boutons de ma télécommande infrarouge bon marché.

Vous pouvez également accéder au code source réel partagé sur mon éditeur Web Arduino sur ir-key-code-logger.

Remarque: n'ayez pas peur si vous voyez un code comme FFFFFF quelque part entre les deux. Cela signifie que vous avez appuyé sur un bouton et le maintenez enfoncé pendant un certain temps. Nous y reviendrons plus tard. Pour l'instant, ignorez-les et concentrez-vous sur d'autres codes.

Étape 6: Contrôlez un ensemble de LED à l'aide de la télécommande IR

Contrôler un ensemble de LED à l'aide de la télécommande IR
Contrôler un ensemble de LED à l'aide de la télécommande IR
Contrôler un ensemble de LED à l'aide de la télécommande IR
Contrôler un ensemble de LED à l'aide de la télécommande IR
Contrôler un ensemble de LED à l'aide de la télécommande IR
Contrôler un ensemble de LED à l'aide de la télécommande IR

Maintenant que nous avons un code pour chaque bouton, il est temps de se concentrer sur la façon dont nous pouvons les utiliser. Normalement, vous utilisez la télécommande IR pour envoyer des commandes à Arduino pour faire quelque chose comme allumer ou éteindre une lampe, déplacer un robot dans une direction spécifique, afficher quelque chose sur un écran LCD/OLED, etc. Ici, nous essayons de démontrer le processus à l'aide d'un simple circuit composé de 4 LED de couleurs différentes. Nous voulons allumer ou éteindre chacun d'eux par un bouton dédié de la télécommande IR. Comme vous pouvez le voir sur le schéma, vous devez connecter l'Arduino de la manière suivante aux LED et au capteur:

Arduino GND -> Capteur IR GND.

Arduino VCC -> Capteur IR VCC.

Arduino 13 -> Sortie du signal du capteur IR.

Arduino 2 -> Anode de la LED bleue (broche plus courte de la LED bleue)

Arduino 3 -> Anode de la LED verte (broche plus courte de la LED verte)

Arduino 4 -> Anode de la LED jaune (broche plus courte de la LED jaune)

Arduino 5 -> Anode de la LED rouge (broche plus courte de la LED rouge)

Arduino GND -> Cathode de toutes les LED via une résistance de 220 ohms (broche plus longue des LED)

Vous pouvez trouver le code correspondant à ce circuit dans le fichier joint ou sur mon éditeur web Arduino à ir-led-control.

Étape 7: Dépannage

Lors de la configuration de votre projet et en suivant les étapes, vous pouvez rencontrer de nombreuses situations étranges. Voici la liste de certaines erreurs courantes que vous pouvez rencontrer lorsque vous travaillez avec un capteur infrarouge.

Obtenir FFFFFF en appuyant sur une touche

Lorsque vous appuyez sur un bouton, vous remarquerez peut-être que la plupart du temps, il signale un code comme FFFFFF. Cela se produit lorsque vous appuyez sur un bouton et le maintenez enfoncé pendant un certain temps, même pendant une courte période. Le scénario est que lorsque vous appuyez initialement sur le bouton, la télécommande IR envoie le code du bouton et tant que vous maintenez le bouton enfoncé, elle répète l'envoi de FFFFFF, ce qui signifie que l'utilisateur appuie toujours sur le bouton signalé récemment. Ce serait bien. Vous pouvez simplement les omettre. Le code réel est celui que vous avez juste avant FFFFFF sur le moniteur série.

Le capteur IR ne réagit pas du tout et semble chauffer

Coupez le courant !!! Si vous êtes sûr que le croquis de l'enregistreur de code clé est correct, le problème est peut-être dû à une mauvaise configuration de vos fils. Le scénario qui m'est arrivé était que pour mon module IR (celui attaché à la carte), j'avais connecté le VCC et le GND de la manière opposée (en raison de ne pas utiliser de couleurs appropriées pour mes fils de raccordement). Ce faisant, le composant du capteur a brûlé et une belle fumée bleue s'est élevée. J'ai acheté un pack de capteurs IR bruts et j'ai essayé de le remplacer et maintenant cela fonctionne comme un charme:). Malheureusement, j'ai fait la même erreur lorsque je testais avec le capteur IR brut et cette fois rien ne s'est passé, sauf que le capteur s'est réchauffé. Vérifiez donc toujours le circuit avant de mettre sous tension !

Parfois, le capteur détecte un code que je n'ai jamais vu auparavant

C'est l'un des problèmes les plus courants. Cela est probablement dû à l'une des raisons suivantes:

Vous ne pointez pas votre télécommande IR directement vers le capteur

Cela conduira à avoir de nouveaux codes (principalement des codes plus longs) que vous n'avez jamais reçus auparavant et qui ne correspondent normalement pas à la longueur des codes que vous avez déjà. Pensez donc à toujours pointer la télécommande vers votre capteur.

Vous utilisez une télécommande IR bon marché (comme celle que j'ai utilisée dans ce tutoriel)

Au lieu d'utiliser des télécommandes imprévisibles bon marché, vous pouvez essayer le même scénario en utilisant la télécommande de votre téléviseur ou lecteur DVD ou une télécommande IR de tout appareil dont vous disposez. Ils ont normalement une bonne qualité de signal/matériel (et sont bien sûr plus chers) et d'après mon expérience, ils fonctionnent normalement bien même si vous ne pointez pas votre télécommande directement vers le capteur.

Comment savoir si un code qui est enregistré n'est pas une poubelle

Les codes sont normalement présentés au format hexadécimal. Si vous les convertissez en la valeur binaire correspondante, vous remarquerez que la représentation binaire du dernier octet est la négation de l'octet qui précède. Si vous le savez, vous pouvez effectuer cette vérification dans votre code pour vous assurer que le code que vous avez reçu est bien valide ou non. Par exemple, si vous obtenez FF7A85, sa représentation binaire serait la suivante:

1111 1111 0111 1010 1000 0101

De gauche à droite, chaque lot de 4 chiffres est la représentation d'un caractère dans le nombre hexadécimal d'origine. Comme vous pouvez le voir, le lot correspondant à 7 est 0111 et le lot correspondant à 8 est 1000 ce qui en est la négation exacte. Par négation, je veux dire que tous les 0 seraient des 1 et que tous les 1 seraient remplacés par des 0. Il en est de même pour le suivant qui est A (1010) et 5 (0101).

Étape 8: Que faire ensuite ?

Maintenant c'est ton tour. C'est à votre imagination de voir ce que vous pouvez faire avec ce petit capteur simple à la main. Voici quelques idées pour commencer:

  • Utilisez la télécommande IR de l'un des appareils que vous avez à la maison (TV, Stéréo, etc.) et essayez de l'utiliser dans votre projet Arduino
  • Essayez d'allumer toutes les LED en même temps en appuyant sur une touche, puis éteignez-les à l'aide d'une autre touche
  • Utilisez le bouton haut/bas de la télécommande pour allumer/éteindre les LED une par une jusqu'à ce qu'elles s'allument/s'éteignent toutes
  • Créez un feu de circulation à l'aide de LED et contrôlez-le à l'aide de votre télécommande
  • Si vous avez un petit moteur à courant continu à portée de main, essayez de démarrer/arrêter ou de changer son sens de rotation via la télécommande IR
  • Vous pouvez utiliser votre télécommande TV pour contrôler votre robot ou activer/désactiver certains capteurs/actionneurs sur celui-ci

Faites-moi savoir sur les commentaires, que feriez-vous (ou avez-vous déjà fait) en utilisant la télécommande IR.

Conseillé: