Table des matières:
- Étape 1: Quelques informations sur le protocole infrarouge NEC
- Étape 2: Composants requis
- Étape 3: Le logiciel et le fonctionnement de l'appareil
- Étape 4:
Vidéo: Émetteur et récepteur infrarouge NEC USB : 4 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Ce projet est un spin-off d'un autre projet sur lequel je travaille et comme il y a un concours Remote Control 2017 sur Instructables, j'ai pensé poster ce projet. Alors si vous aimez ce projet, n'hésitez pas à voter pour lui. Merci.
Comme vous le savez peut-être, je suis un grand fan des contrôleurs PIC 8 bits de Microchip, voir:
J'utilise le langage de programmation JAL car il ressemble à Pascal (que j'aime aussi). Le compilateur JAL et les bibliothèques peuvent être téléchargés à partir de: https://www.justanotherlanguage.org/downloads (faites défiler vers le bas pour la dernière version publiée).
Normalement, j'écris tout le code moi-même pour bien comprendre ce que je fais, mais pour ce projet, j'avais besoin de connecter le PIC au port USB du PC et j'avais donc besoin d'un pilote série USB JAL pour ce contrôleur PIC. J'ai utilisé le pilote série USB dans le package de téléchargement JAL qui semble fonctionner correctement. Étant donné que ce pilote série USB a été écrit pour un PIC spécifique, j'ai utilisé ce PIC qui est le PIC18F14K50. Ce contrôleur a beaucoup plus de fonctionnalités que ce dont j'ai besoin pour ce projet, je suis donc actuellement en train de faire fonctionner ce pilote USB sur une version PIC plus simple, le PIC16F1455, qui est également moins chère.
Alors en quoi consiste ce projet ? Avec l'appareil mentionné dans ce Instructables, vous pouvez envoyer et recevoir des commandes de télécommande infrarouge depuis et vers votre PC via le port USB en utilisant le protocole NEC Infra-Red populaire. De cette façon, vous pouvez surveiller les commandes infrarouges et contrôler tout appareil utilisant le protocole de télécommande infrarouge NEC. Le projet décode et traduit les messages infrarouges en un octet d'adresse et un octet de commande ou en un message de répétition. L'adresse est - bien sûr - utilisée pour adresser un certain appareil comme un téléviseur ou une radio où l'octet de commande indique la fonction qui doit être exécutée comme Augmenter le volume, Diminuer le volume. En plus de décoder ces messages, ils peuvent également être transmis via Infra-Rouge à l'aide de cet appareil.
Étape 1: Quelques informations sur le protocole infrarouge NEC
Une brève introduction à ce protocole. Le protocole NEC Infra Red Remote Control est utilisé dans de nombreux appareils et télécommandes que vous pouvez acheter. Il module un signal infrarouge sur une porteuse de 38 kHz et utilise un codage de distance d'impulsion pour coder un « 1 » logique et un « 0 » logique. Le protocole utilise une simple vérification pour voir si le message est OK en envoyant à la fois l'adresse et l'octet de commande et une version inversée des deux dans un seul et même message et en vérifiant s'ils sont identiques après réception. Lorsqu'un bouton est enfoncé sur la télécommande, il envoie un message infrarouge complet avec l'adresse et la commande une fois. Maintenir le bouton enfoncé entraînera l'envoi d'un message répété plus court sans adresse ni information de commande. Le temps de répétition des messages transmis en maintenant le bouton enfoncé est fixe.
Plus d'informations sur le protocole NEC Infra Red peuvent par exemple être trouvées sur:
Étape 2: Composants requis
Vous devez disposer des composants suivants pour ce projet:
- Microcontrôleur PIC PIC18F14K50, voir:
- Cristal 12 MHz
- Condensateur céramique: 2*100nF, 1*220 nF, 2*18pF
- Condensateur électrolytique 47 uF/16V
- Récepteur infrarouge TSOP4838, voir:
- Résistances: 2*33k, 1*4k7, 1*1k, 3*330 Ohm, 1*22 Ohm
- LED: 2 * Infrarouge, 1 Ambre, 1 Vert, 1 Rouge
- Transistor BC640, voir:
- Cavalier (facultatif)
- Connecteur USB
Voir le schéma de principe sur la façon de connecter les composants. J'ai utilisé une maquette pour ce projet comme vous pouvez le voir sur la photo et dans la vidéo. Le circuit est alimenté par le port USB du PC.
Étape 3: Le logiciel et le fonctionnement de l'appareil
Comme déjà mentionné, le logiciel est écrit pour un PIC18F14K50. Il a été écrit en JAL. Le fichier Intel Hex pour programmer votre PIC est joint. Le logiciel remplit les fonctions suivantes:
- Décoder les messages NEC Infra-Rouge et les envoyer au PC via USB. Le message est décodé à partir du flux binaire généré par le récepteur infrarouge et traduit en un message adresse + commande ou un message de répétition.
- Envoi de messages NEC Infra Red reçus du PC via USB. Notez que le logiciel crée également la fréquence porteuse de 38 kHz qui pilote directement les LED infrarouges. En parallèle à la LED Infra-Rouge une LED Ambre est connectée de manière à rendre visible la transmission d'un message.
Par défaut, ce circuit coupera le récepteur infrarouge pendant la transmission d'un message infrarouge. Si un cavalier est placé sur la position « Unmute », il désactivera cette fonction de sourdine. Dans ce cas, le message infrarouge transmis sera également décodé en parallèle à la transmission et après réception complète, il sera envoyé en tant que message infrarouge reçu au PC. Si un message infrarouge NEC valide est reçu, la LED rouge « IR OK » s'allumera.
Pour faire fonctionner cet appareil, vous devez disposer d'un programme d'émulateur de terminal sur votre PC. J'ai utilisé "Termite" à cette fin. Lorsque l'appareil est connecté au PC, il sera automatiquement reconnu comme un port COM supplémentaire par Windows 10 car il semble y avoir un pilote Microchip pour cet appareil dans Windows 10 pré-installé. Le réglage de ce port COM doit être: 19200 bauds 8 bits, 1 bit d'arrêt, sans parité et utilisant le contrôle de flux RTS/CTS. Le débit en bauds peut être réglé sur n'importe quelle autre valeur si nécessaire, donc un débit en bauds de 115200 fonctionnera également. Une fois l'appareil configuré via le port USB en s'y connectant via le programme Terminal Emulator, la LED verte « Configuré » s'allumera.
Réception de messages infrarouges
Lorsqu'un message infrarouge est reçu, les éléments suivants s'affichent dans le programme Terminal Emulator:
- 'A:xx C:xx' dans le cas d'un message complet, où xx est le nombre hexadécimal de l'adresse (A) et de la commande (C). Les valeurs pour les deux peuvent aller de 0x00 (0) à 0xFF (255).
- « Répéter » en cas de message répété.
Envoi de messages infrarouges
Pour cela, j'avais besoin de définir un protocole qui indique à l'appareil quoi faire. Puisque nous utilisons un émulateur de terminal, j'ai utilisé des caractères ASCII pour définir un message. Le protocole pour envoyer une commande à l'appareil utilise le format suivant: « !AACCRR# », où (tous les caractères sont insensibles à la casse):
- « ! » indique le début du message.
- ‘AA’ est la valeur de l’adresse en notation hexadécimale donc ‘0’ à ‘9’ et ‘A’ à ‘F’,
- ‘CC’ est la valeur de la commande en notation hexadécimale donc ‘0’ à ‘9’ et ‘A’ à ‘F’
- « RR » est le nombre de messages répétés qui doivent être transmis en notation hexadécimale, donc « 0 » à « 9 » et « A » à « F ». Une valeur de « 00 » signifie qu'aucun message de répétition n'est envoyé.
Un exemple de message avec l'adresse 0x07, la commande 0x05 et 3 répétitions doit alors être tapé comme suit sur le programme Terminal Emulator: !070503#
L'appareil a des réponses différentes après l'envoi d'une commande depuis le PC:
- « Y » signifie qu'un message a été transmis. Notez que cette réponse est donnée après que tous les messages - y compris toutes les répétitions - aient été transmis. Cela peut donc prendre un certain temps avant que cette réponse ne soit donnée lorsque de nombreux messages répétés doivent être transmis.
- « N » signifie qu'il y avait un caractère illégal dans le message envoyé au PC.
- « B » signifie qu'une transmission infrarouge était toujours occupée lorsque la commande a été donnée.
- ?’ signifie que l’appareil attendait ‘!’ mais il a reçu autre chose.
Étape 4:
J'ai fait une courte vidéo de l'appareil en action. Pour cette vidéo, j'ai utilisé une lampe LED du commerce avec sa télécommande pour voir que la transmission et la réception fonctionnent. La vidéo montre les éléments suivants:
- Configuration du périphérique USB à partir du programme d'émulation de terminal. Lorsque l'appareil est configuré, il répond avec le message « Transmetteur et récepteur infrarouges USB NEC ». Sur l'appareil, la LED verte est allumée, indiquant que l'appareil a été configuré par le PC.
- La lampe est allumée avec la télécommande. Pour cela, la télécommande utilise l'adresse 0x00 et la commande 0x07 qui est décodée par l'appareil et affichée sur le PC.
- La lampe est éteinte avec la télécommande. Pour cela, la télécommande utilise l'adresse 0x00 et la commande 0x06 qui est décodée par l'appareil et affichée sur le PC.
- La lampe est allumée en tapant la même commande Remote Control sur le PC avec une valeur de répétition de 0 (pas de répétition) donc en tapant '!000700#'. La lampe s'allume.
- Changer la couleur de la lampe en bleu en utilisant l'adresse 0x00 et la commande 0x0A et en utilisant les répétitions 0x30. La Led Ambre, qui est connectée en parallèle avec les LED Infra Rouges clignote indiquant la transmission du message de répétition via Infra Rouge. Le message tapé est « !000A30# ».
Notez que pendant l'enregistrement de cette vidéo, la connexion par cavalier « Unmute » était active afin que vous puissiez également voir le message transmis « !000700# », reçu sous la forme « A:00 C:07 » sur le programme d'émulation de terminal. Dans la démo de la lampe colorée en bleu, vous pouvez également voir que la LED rouge est allumée tant que les messages valides - répétés - sont transmis car ils sont reçus et décodés en parallèle avec la transmission des messages répétés.
Amusez-vous à construire votre propre projet et attendez vos réactions avec impatience. N'oubliez pas de voter pour ce projet au concours Remote Control 2017 si vous l'aimez. Merci encore.
Conseillé:
Communication sans fil utilisant le module émetteur-récepteur NRF24L01 pour les projets basés sur Arduino : 5 étapes (avec photos)
Communication sans fil à l'aide du module émetteur-récepteur NRF24L01 pour les projets basés sur Arduino : il s'agit de mon deuxième tutoriel instructable sur les robots et les micro-contrôleurs. C'est vraiment incroyable de voir votre robot vivant et fonctionner comme prévu et croyez-moi, ce sera plus amusant si vous contrôlez votre robot ou d'autres choses sans fil avec rapidité et
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino - Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor - Hélicoptère Rc - Avion Rc utilisant Arduino: 5 étapes (avec photos)
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino | Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor | Hélicoptère Rc | Avion Rc utilisant Arduino: Pour faire fonctionner une voiture Rc | Quadricoptère | Drone | Avion radiocommandé | Bateau RC, nous avons toujours besoin d'un récepteur et d'un émetteur, supposons que pour RC QUADCOPTER nous ayons besoin d'un émetteur et d'un récepteur à 6 canaux et que ce type de TX et RX soit trop coûteux, nous allons donc en faire un sur notre
Construire un récepteur infrarouge Kodi / OSMC et réinitialiser le chapeau pour Raspberry Pi : 5 étapes (avec photos)
Construire un récepteur infrarouge Kodi / OSMC et un chapeau de réinitialisation pour Raspberry Pi : Construire un récepteur IR Kodi / OSMC et un chapeau de réinitialisation pour le Raspberry Pi 3 De l'autre côté d'une pièce, je voudrais : Contrôler Kodi / OSMC fonctionnant sur un Raspberry Pi avec une télécommande Voir si le Raspberry Pi est sous tensionAussi, j'aimerais que ma famille
Émetteur et récepteur RF : 8 étapes (avec photos)
Émetteur et récepteur RF : Dans ce projet, j'utiliserai des modules RF avec Pic 16f628a. Ce sera un court tutoriel sur rf. Après avoir appris que les modules ho rf communiquent entre eux, vous pouvez utiliser ces modules avec un microcontrôleur pic, ardunio ou n'importe quel microcontrôleur. J'ai contrôlé
Télécommande infrarouge et récepteur IR (TSOP1738) avec Arduino : 10 étapes
Télécommande infrarouge et récepteur IR (TSOP1738) avec Arduino : cette instructable est destinée aux débutants Arduino. C'est l'un de mes premiers projets avec Arduino. J'ai beaucoup aimé quand je l'ai fait et j'espère que vous l'aimerez aussi. La caractéristique la plus attrayante de ce projet est la "commande sans fil". Et c'est