- Composants requis
- Comment fonctionne la communication infrarouge?
- Schéma
- Programmation pour le décodeur à distance Arduino IR
- Enregistrement des données du décodeur à distance IR dans une feuille Excel
La communication IR (infrarouge) est une technologie de communication sans fil simple, peu coûteuse et largement utilisée. La lumière infrarouge est quelque peu similaire à la lumière visible, sauf que la longueur d'onde est légèrement plus longue. Cette propriété de l'IR le rend indétectable à l'œil humain et parfait pour la communication sans fil.
Il existe de nombreuses applications où vous devez décoder les signaux IR pour faire fonctionner certains appareils avec une télécommande IR. Donc, dans ce tutoriel, nous allons utiliser le récepteur IR TSOP1838 pour construire un décodeur à distance IR en utilisant Arduino. Le code hexadécimal de chaque bouton sera enregistré dans la feuille Microsoft Excel. Ce décodeur de télécommande infrarouge simple peut être utilisé dans des projets tels que le robot télécommandé IR, la domotique et d'autres projets contrôlés par infrarouge.
Auparavant, nous utilisions une télécommande infrarouge et un récepteur TSOP pour créer de nombreuses applications utiles telles que:
- Circuit de gradateur TRIAC télécommandé IR
- Domotique télécommandée IR utilisant Arduino
- Domotique télécommandée IR à l'aide du microcontrôleur PIC
- AC contrôlé par téléphone portable utilisant Arduino et Bluetooth
Composants requis
- Arduino Uno / Arduino Nano
- Récepteur IR (TSOP1838)
- Fils de cavalier
- Planche à pain
Comment fonctionne la communication infrarouge?
Comme les autres systèmes de communication, la communication infrarouge dispose également d'un émetteur et d'un récepteur. L'émetteur ressemble à une LED, mais il produit de la lumière dans le spectre IR au lieu du spectre visible. Alors que le récepteur IR est une photodiode intégrée avec un préamplificateur qui transforme la lumière IR en un signal électrique. Pour la communication infrarouge, l'émetteur et le récepteur doivent être pointés l'un vers l'autre. Pour en savoir plus sur le circuit émetteur et récepteur IR, suivez le lien.
Lorsqu'une touche de la télécommande est enfoncée, la LED IR (émetteur) émet une lumière infrarouge. Cette lumière est reçue par le récepteur qui est généralement une photodiode ou un phototransistor. Mais la lumière infrarouge est également émise par le soleil, les ampoules et tout ce qui produit de la chaleur. Cela peut interférer avec le signal de l'émetteur, donc pour éviter, le signal de l'émetteur est modulé en utilisant une fréquence porteuse comprise entre 36 kHz et 46 kHz. Lors de la réception du signal, le récepteur IR démodule le signal et le convertit en binaire avant de l'envoyer au microcontrôleur.
Ici, nous utilisons une télécommande TV pour envoyer un signal IR et TSOP1838 avec Arduino pour les recevoir.
Vérifiez également diverses applications IR ici, y compris le circuit de brouilleur de télécommande TV et le circuit de testeur IR.
Schéma
Le schéma de circuit pour le décodeur à distance IR utilisant Arduino est donné ci-dessous:
Les connexions sont très simples car le capteur du récepteur IR n'a que trois broches, Vs, GND et Data. Connectez la broche Vs et GND du récepteur IR à la broche 3.3V GND d'Arduino et la broche de données à la broche numérique 2 d'Arduino.
Programmation pour le décodeur à distance Arduino IR
Le code complet du décodeur IR Arduino est donné en fin de page.
Pour décoder la télécommande IR, nous devons d'abord télécharger et ajouter une bibliothèque IR à Arduino IDE. Vous pouvez télécharger la bibliothèque IR Remote à partir d'ici. Après avoir téléchargé le fichier, ouvrez votre IDE Arduino et accédez à Sketch> Inclure la bibliothèque> Add.Zip library . Sélectionnez le fichier de la bibliothèque et cliquez sur «Ouvrir».
Démarrez votre code en incluant le fichier de bibliothèque IR Remote.
#comprendre
Après cela, définissez la broche Arduino où vous avez connecté la broche de données du récepteur IR. Dans mon cas, il est connecté à la broche D2 d'Arduino.
int IRPIN = 2;
Après cela, créez une instance pour la broche du récepteur IR.
IRrecv irrecv (IRPIN);
Dans la ligne suivante, définissez un objet pour la classe decode_results , il sera utilisé par le récepteur IR pour envoyer les informations décodées.
résultat decode_results;
A l' intérieur du setup () fonction, lancer la communication série et démarrer le récepteur IR en appelant la IRrecv fonction enableIRIn ().
void setup () {Serial.begin (9600); Serial.println ("Activation d'IRin"); irrecv.enableIRIn (); Serial.println ("IRin activé"); Initialize_streamer (); }
Dans la fonction loop () , irrecv.decode recherche constamment un nouveau signal et si un nouveau signal est reçu, le code du signal reçu sera stocké dans une fonction result.value .
void loop () {if (irrecv.decode (& result)) {Serial.print ("Value:"); Serial.println (result.value, HEX); Write_streamer (); irrecv.resume (); } retard (500); }
Pour envoyer des données vers une feuille Excel depuis Arduino, nous utilisons PLX-DAQ. En utilisant la fonction Write_streamer () , nous envoyons les données en série dans un modèle spécifique, tout comme afficher la valeur sur un moniteur série. Les principales lignes sont expliquées ci-dessous:
void Write_streamer () {Serial.print ("DATA"); // écrivez toujours "DATA" pour indiquer ce qui suit sous forme de Data Serial.print (","); // Passer à la colonne suivante en utilisant un "," Serial.print (result.value, HEX); // Stocker la date sur Excel Serial.print (","); // Passer à la colonne suivante en utilisant un "," Serial.println (); // Fin de ligne passe à la ligne suivante}
Une fois que le matériel et le programme sont prêts, il est temps de télécharger le programme dans votre Arduino Nano Board. Après avoir téléchargé le code, pointez la télécommande vers le récepteur IR et appuyez sur les touches de la télécommande. Le code hexadécimal de chaque bouton sera imprimé sur le moniteur série.
Enregistrement des données du décodeur à distance IR dans une feuille Excel
Maintenant, pour envoyer des données sur une feuille Excel, nous allons utiliser PLX-DAQ. Il s'agit d'un logiciel plug-in Excel qui vous aide à écrire des valeurs d'Arduino directement dans une feuille Excel sur votre ordinateur portable ou PC. Utilisez le lien pour télécharger le fichier. Après le téléchargement, extrayez le fichier et cliquez sur le fichier.exe pour l'installer. Il créera un dossier nommé PLX-DAQ sur votre bureau.
Ouvrez maintenant le fichier «feuille de calcul PLX-DAQ» à partir du dossier du bureau. Si les macros sont désactivées sur votre Excel, vous verrez un bloc de sécurité comme indiqué dans l'image ci-dessous:
Cliquez sur Options-> Activer le contenu -> Terminer -> OK pour activer les macros. Après cela, vous obtiendrez l'écran suivant:
Sélectionnez maintenant le débit en bauds comme «9600» et le port auquel votre Arduino est connecté, puis cliquez sur Connecter pour démarrer le streaming de données. Vos valeurs devraient commencer à être enregistrées comme indiqué dans l'image ci-dessous.
C'est ainsi qu'un décodeur à distance IR Arduino peut être facilement construit pour convertir les signaux de la télécommande IR en code HEX équivalent.
Le code Arduino complet avec une vidéo de démonstration est donné ci-dessous.