Table des matières:

Télécommande universelle à commande gestuelle avec Node-MCU : 12 étapes
Télécommande universelle à commande gestuelle avec Node-MCU : 12 étapes

Vidéo: Télécommande universelle à commande gestuelle avec Node-MCU : 12 étapes

Vidéo: Télécommande universelle à commande gestuelle avec Node-MCU : 12 étapes
Vidéo: Télécommande universelle avec fonction apprentissage Auvisio - tuto comment configurer [PEARLTV.FR] 2024, Novembre
Anonim
Télécommande universelle à commande gestuelle avec Node-MCU
Télécommande universelle à commande gestuelle avec Node-MCU

Bonjour à tous et bienvenue dans ce projet ! Je suis assez paresseux et le cauchemar d'un paresseux c'est de regarder la télé quand on se rend compte que la télécommande est trop loin ! J'ai réalisé que ma télécommande ne sera jamais trop loin si je l'ai toujours sous la main. Cela m'a inspiré pour créer LAZr, la télécommande universelle à commande gestuelle.

Dans ce projet, je créerai un gant équipé de capteurs capables de détecter les gestes de la main et d'envoyer des signaux à un téléviseur ou à un autre appareil d'un simple mouvement du doigt.

J'espère que ce projet vous plaira et que vous voterez pour lui au Epilog Laser Contest !

Étape 1: les pièces

Les parties
Les parties

Ce projet contient les parties suivantes:

Un gant (5,00 $)

Nœud-MCU / ESP8266 (3,00 $)

C'est le microcontrôleur et le cerveau de ce projet. Il a la capacité de se connecter au WiFi, ce qui le rend très utile dans les applications domotiques et dans des projets comme celui-ci, car le contrôle WiFi peut être implémenté dans ce projet.

5 capteurs Flex (7,00 $ chacun)

Ces capteurs mesurent la flexion, de la même manière qu'un LDR (Light Dependent Resistor), mesure les niveaux de lumière. Ceux-ci sont utilisés pour mesurer la flexion des doigts et les gestes de la main.

Émetteur IR (0,30 $)

Ce composant transmet des signaux IR à des appareils tels que des téléviseurs, des lecteurs DVD, etc.

Récepteur IR (1,00 $)

Ce composant reçoit des signaux IR envoyés par des télécommandes. Il est nécessaire pour décoder les signaux des télécommandes. Ces signaux peuvent ensuite être utilisés pour contrôler l'appareil à partir du gant. Je recommande le TSOP4838 car je l'ai testé avec succès avec les téléviseurs Sharp, Samsung et Apple.

5 résistances 10k Ohm (0,01 $ chacune)

Ces résistances sont nécessaires pour chacun des capteurs Flex.

Résistance de 220 Ohm (0,01 $ chacun)

Ces résistances sont nécessaires pour chacun des capteurs Flex.

Transistor (0,39 $)

Le transistor est utilisé pour la transmission IR.

CI multiplexeur 74HC4051N (0,22 $)

Étant donné que le Node-MCU n'a qu'un seul port analogique, ce circuit intégré est utilisé pour "diviser" la broche analogique en plusieurs, qui sont connectées aux capteurs flexibles. Plus à ce sujet plus tard.

Beaucoup de câbles de démarrage! (Si vous décidez d'utiliser une planche à pain)

Les pièces suivantes sont facultatives mais sont utiles si elles sont utilisées:

Prise IC 16 broches

En-têtes féminins

Étape 2: Le multiplexeur IC (74HC4051N)

Le multiplexeur IC (74HC4051N)
Le multiplexeur IC (74HC4051N)

Bien que le Node-MCU regorge d'excellentes fonctionnalités telles que la compatibilité WiFi et Arduino IDE, il a ses inconvénients. Il n'a qu'une seule broche analogique, ce qui est insuffisant pour ce projet. Étant donné que le gant dispose de cinq capteurs flexibles, il nécessite cinq entrées analogiques pour fonctionner. Une solution simple et peu coûteuse à ce problème consiste à utiliser un multiplexeur IC (74HC4051N). Ce circuit intégré est capable de convertir une entrée analogique en huit !

Comment ça marche?

Le circuit intégré fonctionne en activant une entrée analogique, en la lisant et en la désactivant. Il active ensuite l'entrée analogique suivante. En faisant cela, il ne lit qu'un capteur à la fois, l'envoyant à la broche analogique du microcontrôleur. Le circuit intégré est capable d'activer, de lire et de désactiver les entrées analogiques si rapidement qu'il semble les lire toutes en même temps. Ceci est similaire au fonctionnement des écrans d'ordinateurs et de smartphones; Chaque pixel ne peut pas avoir sa propre broche désignée (ce serait un désastre !), alors il allume et éteint les pixels si rapidement que nos yeux les perçoivent tous comme allumés en même temps. Pour fonctionner, le circuit intégré a besoin de trois broches numériques. En modifiant les combinaisons des états d'activation et de désactivation des broches, le circuit intégré est capable d'activer et de désactiver les 8 entrées analogiques.

Étape 3: mise en page de la planche à pain

Mise en page de la planche à pain
Mise en page de la planche à pain

La disposition de l'appareil est illustrée dans l'image ci-dessus.

IMPORTANT: notez le type de transistor que vous utilisez, la broche de collecteur du transistor doit se connecter à la LED IR, et non à la broche GND.

Étape 4: recevoir des signaux

Pour que le gant connaisse le signal correct à envoyer, les signaux doivent être reçus de la télécommande de votre téléviseur/appareils et programmés dans le code du gant. Pour recevoir ces signaux, un récepteur IR est nécessaire.

Remarque: regardez le numéro de modèle de votre télécommande TV et essayez de trouver les spécifications du signal en ligne. Certains récepteurs et émetteurs IR ne fonctionneront pas avec certaines télécommandes, il est donc important de trouver un émetteur/récepteur avec la fréquence correspondant à votre téléviseur. J'utilise un récepteur infrarouge 4838 qui fonctionne avec la télécommande de mon téléviseur Samsung.

Étape 5: Code pour recevoir des signaux

Code de réception des signaux
Code de réception des signaux
Code de réception des signaux
Code de réception des signaux

Pour utiliser le code, la bibliothèque IRremoteESP8266 doit être téléchargée. Le lien de téléchargement est ci-dessous:

IRtélécommandeESP8266

Dans l'IDE Arduino, accédez à Sketch > Inclure la bibliothèque > Ajouter la bibliothèque. ZIP. Localisez les deux bibliothèques téléchargées et ajoutez-les dans l'IDE. Pour accéder au code pour recevoir les signaux IR, allez dans Fichier > Exemples > IRremoteESP8266 > IRrecvDumpV2. Dans le code, modifiez la valeur kRecvPin de 14 à 5. Cela garantit que le Node-MCU lit la bonne broche (D1).

Après avoir câblé les connexions de la maquette, téléchargez ce code sur votre Node-MCU et ouvrez votre moniteur série (définissez le débit en bauds sur 115200). Si vous appuyez sur un bouton de la télécommande de votre téléviseur, les signaux seront imprimés sur votre moniteur série. Succès!

Vous verrez un long ensemble de nombres avec la valeur rawData. Enregistrez ces chiffres et assurez-vous d'enregistrer le bouton sur lequel vous avez appuyé pour obtenir ces chiffres. Vous en aurez besoin plus tard.

Étape 6: Schéma du PCB

Schéma PCB
Schéma PCB

Le schéma de circuit imprimé a été créé dans Autodesk Eagle et est illustré dans l'image ci-dessus. Tous les fichiers Eagle sont dans ce Instructable et peuvent être téléchargés à l'étape suivante.

Étape 7: La conception du PCB

La conception de PCB
La conception de PCB

Voici ma conception de PCB. Tous les fichiers Eagle pour cette carte de circuit imprimé sont ci-dessous, vous pouvez donc utiliser ou modifier cette conception pour construire votre propre PCB ! J'ai ajouté des pads SMD pour les 3 entrées analogiques supplémentaires ainsi que les ports 3V3 et GND. Cela me permettra d'étendre ce système si jamais j'en ai besoin, d'économiser des ressources et du temps et de rendre le PCB polyvalent.

Étape 8: Tout assembler

Mettre tous ensemble
Mettre tous ensemble

Après avoir attendu quelques jours, j'ai finalement reçu mes PCB par la poste. Il est maintenant temps de passer à la partie amusante, de souder le tout ensemble ! En suivant le schéma, souder le PCB était assez facile. Dans ma conception, j'ai utilisé un socket IC et des embases femelles pour mon IC de multiplexeur et mon Node-MCU. C'est pour que je puisse retirer ces puces si je dois les remplacer ou les réutiliser. Si vous souhaitez un facteur de forme plus mince, n'hésitez pas à souder les puces directement sur la carte, mais n'oubliez pas qu'il sera assez difficile de les retirer plus tard.

Étape 9: assembler le gant

Assembler le gant
Assembler le gant

Pour installer les capteurs de flexion dans le gant, j'ai collé de petits tubes en caoutchouc dans les doigts du gant et j'y ai placé les capteurs. De cette façon, les capteurs avaient une certaine marge de manœuvre et pouvaient être retirés en cas de besoin. Pour tenir le PCB, je l'ai monté sur le gant à l'aide de ruban velcro. Encore une fois, tout cela dépend de vous. Vous pouvez être créatif !

Étape 10: Programmation des commandes

Maintenant que le matériel est pris en charge, il est temps pour le logiciel. Pour votre gant, téléchargez le code ci-dessous.

Pour que le code fonctionne avec votre téléviseur, vous devez modifier certains chiffres. Vous vous souvenez de ces chiffres que vous avez notés ? Il est maintenant temps de les utiliser. Si vous n'avez pas les chiffres, ne vous inquiétez pas, il est très facile de collecter ces signaux; Revenez simplement à l'étape de réception IR. Copiez l'ensemble de données rawData et collez-le sous le commentaire "COLLER LES DONNÉES ICI" dans le code. Renommez cet ensemble de données en powerOn. Copiez le numéro à côté de powerOn (dans mon cas 95). Ce nombre est la quantité de nombres dans l'ensemble de données. Maintenant, allez au bas du code, sous le commentaire, "DISPLAY POWER". Remplacez "95" par la valeur que vous avez copiée. Maintenant, téléchargez votre code sur le Node-MCU et mettez le gant. Si vous faites face à votre main au téléviseur et pliez un de vos doigts, votre téléviseur s'allumera !

Ceci est facilement personnalisable. Pour ajouter plus de fonctions, ajoutez simplement plus d'ensembles de données et copiez-collez la fonction DISPLAY POWER et modifiez ses informations en l'ensemble de données et le nombre de valeurs correspondants. Étant donné que chaque capteur de flexion est différent, vous devrez peut-être modifier le nombre « 310 » afin qu'il s'enregistre lorsque le doigt est plié. Vous pouvez même faire des gestes multi-doigts et des « interrupteurs principaux ». Par exemple, j'ai ajusté mon code de telle sorte que lorsque je plie mon annulaire et mon pouce, le volume de mon téléviseur se coupe et la source change. Les possibilités d'évolutivité sont infinies !

Étape 11: C'est fait

C'est fait!
C'est fait!
C'est fait!
C'est fait!

Et voilà, une télécommande TV universelle à commande gestuelle ! J'espère que vous avez aimé ce projet, et j'espère que vous voterez pour moi au concours Epilog Laser. Si vous avez des questions, n'hésitez pas à écrire un commentaire et je ferai de mon mieux pour y répondre. Encore une fois, j'espère que ça vous a plu !

Conseillé: