Etape 2: Enregistrer les commandes IR permettant de contrôler la climatisation
Le ESP8266 simule la commande à distance pour la mise en marche/arrêt de la climatisation et de sélectionner les différentes fonctions. Pour être en mesure de le faire, nous devons enregistrer le IR différent signaux envoyer à partir de la télécommande.
Tout d’abord il faut un appareil pour enregistrer les signaux IR. J’ai un Arduino Uno que j’ai toujours utiliser pour faire des tests rapides. J’ai branché le récepteur IR à l’Arduino comme indiqué ci-dessus dans les croquis schématique et maquette. J’ai joint les fichiers Fritzing (DumpIR.fzz). J’ai eu un panneau de contrôle d’un vieux récepteur de télévision par câble autour de la pose. J’ai utilisé le récepteur IR monté sur ce panneau de contrôle pour l’enregistrement. (Je partagerai plus tard une instructable quant à l’utilisation de ce panneau de contrôle aussi bien).
Pour l’enregistrement, j’ai utilisé la Bibliothèque de distance infrarouge multiprotocole pour l’Arduino. Cette bibliothèque comprend un exemple de programme (IRrecvDumpV2.ino) pour enregistrer les signaux IR. J’ai utilisé IRrecvDumpV2 pour avoir une première idée de comment les commandes IR se ressemblent. La sortie du programme ressemble à :
Cette sortie est un peu énigmatique, alors j’ai décidé de « améliorer » la production et l’utilisation de ce programme pour mes enregistrements personnels. Le nouveau programme s’appelle DumpIR et les améliorations sont
- Sortie plus courte avec des informations supplémentaires, dont la fonction a été enregistrée
- Commentaire de sortie avec bouton testé et formater comme tableau d’octets afin qu’il pourrait être utilisé directement dans l’application de ESP8266
- Enregistrer chaque bouton 3 fois pour s’assurer que l’enregistrement est correct.
- Dire à l’utilisateur quel bouton appuyer pour enregistrer
La sortie de DumpIR ressemble à :
Le tableau d’octets {B00001000, B11100111, B01101000, B10010111} servira directement dans l’application ESP8266 pour envoyer la commande « switch mode ventilateur haute » à la climatisation.
Le DumpIR.ino a besoin d’adapter certaines pour les télécommandes différentes aircon. Par exemple, ma CLIM FujiDenzo distant a 10 boutons, la climatisation Carrier a 14 boutons. Quand vous regardez dans DumpIR.ino vous pouvez trouver la définition pour 2 aircons :
Si je veux enregistrer signaux de la télécommande FujiDenzo, le #define FUJIDENZO est utilisée, si la télécommande du transporteur est enregistrée le #define transporteur est utilisé.
Les différentes commandes et le nombre de commandes disponibles pour les deux télécommandes sont définis dans [] cmdList et endCmdIndex :
Comme vous pouvez voir les définitions FUJIDENZO et le transporteur sont utilisés pour sélectionner la liste correcte et le nombre de commandes.
Avec DumpIR, j’ai enregistré toutes les commandes pour les deux aircons de FujiDenzo et le transporteur et les résultats enregistrés dans des fichiers texte.
Vous devrez adapter DumpIR à collaborer avec le fabricant de votre climatisation spécifique.
ATTENTION :
J’enregistre chaque touche (au moins) 3 fois, parce qu’au cours de ce projet, j’ai appris que certaines unités de contrôle à distance ne pas envoient le même signal IR pour une commande chaque fois. J’ai dû apprendre de procès et d’échec que la climatisation Carrier a fait 3 signaux IR différents pour la même commande. Si vous répétez une commande de la télécommande (comme la température vers le haut) la télécommande il parcourt les 3 signaux IR et envoie à chaque fois un autre. Le cycle est réinitialisé si un bouton différent a été pressé. Exemple :
- Appuyez sur température touche up = > signal IR #1 pour la température vers le haut est envoyé.
- Appuyez sur température bouton Nouveau = > signal IR #2 pour température jusqu'à est envoyé
- Appuyez le bouton température = > signal IR #1 pour la température vers le bas est envoyé
- Appuyez sur température bouton Nouveau = > signal IR #1 pour la température vers le haut est envoyé
J’ai dû implémenter ce comportement aussi bien dans le code pour le code de ESP8266, mais plus à ce sujet dans une étape ultérieure.
Commentaire additionnel :
Dans les photos ci-joint, vous voyez que je ne l’utilisaient un seul récepteur IR pour enregistrer les signaux IR. J’ai eu un vieux tableau de bord d’une télévision par câble autour de la pose. Comme ce tableau de bord avait un récepteur IR monté, j’ai décidé de l’utiliser au lieu d’acheter un récepteur IR. Je posterai plus tard un autre Instructable comment j’ai branché ce tableau de bord à l’Arduino Uno.
Toutes les sources de logiciels et tous les schémas sont disponibles dans mon dépôt Github