Table des matières:
- Étape 1: Matériaux
- Étape 2: Planification
- Étape 3: impression 3D
- Étape 4: Assemblage - Retirez les LED
- Étape 5: Assemblage - Ajouter des en-têtes de trou traversant
- Étape 6: Assemblage - Fixez les LED
- Étape 7: Assemblage - Fixez le PhidgetIR
- Étape 8: Assemblage - Ajout de boutons
- Étape 9: Assemblage - Assembler le tout
- Étape 10: Logiciel - Code
- Étape 11: Logiciel - Commandes CIR
- Étape 12: Exécuter le programme
- Étape 13: Résultat
Vidéo: La technologie pour votre grand-père : 13 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Combien de fois êtes-vous allé chez vos grands-parents pour aider avec un « problème technologique » qui a fini par être un câble d'alimentation débranché, une batterie de télécommande morte ou l'impossibilité de changer la source de leur téléviseur ? Je sais que pour moi, cela arrive assez souvent. Alors que la plupart de leurs problèmes peuvent être résolus en courant simplement au magasin pour de nouveaux AA, ils pourraient parfois bénéficier d'une solution plus personnalisée.
Par exemple, le grand-père de ma petite amie s'est procuré une nouvelle télévision et nous avons essayé de lui apprendre à changer la source pour qu'il puisse basculer entre les DVD et la télévision - mais il n'y arrivait tout simplement pas. Il est également aux prises avec une vue défaillante et n'est pas trop intéressé à essayer de se souvenir de processus compliqués, il veut juste regarder ses émissions quand il le souhaite. Après avoir essayé d'expliquer calmement les étapes lors de notre dernière visite sans grand succès, j'ai décidé de lui faire sa propre télécommande simple à deux boutons. Cela lui permettrait de changer la source d'entrée de son téléviseur sans douleur, en basculant facilement entre ses DVD Matlock bien-aimés et Price is Right.
Étape 1: Matériaux
- PhidgetIR
- PhidgetSBC4 (ou n'importe quel ordinateur monocarte comme le Raspberry Pi)
- Fer à souder
- Pince coupante latérale
- Pince à dénuder
- Fils de cavalier
- Cable USB
- Câble Phidget
- Enceinte
- En-têtes traversants
- Gaine thermorétractable
Étape 2: Planification
Afin de créer la télécommande, j'avais besoin de pouvoir envoyer des commandes infrarouges grand public (CIR) au téléviseur. J'ai décidé d'utiliser le PhigetIR pour cette tâche. Le PhidgetIR est un appareil contrôlé par USB qui a la capacité d'envoyer et de recevoir des commandes CIR. J'ai choisi celui-ci pour plusieurs raisons:
- Je voulais terminer ce projet dès que possible et le mettre à profit, donc l'idée de sortir mon oscilloscope et ma maquette n'était pas attrayante. De plus, quelle est la probabilité que mes circuits soudés à la main fonctionnent encore dans un an ou deux ?
- Le PhidgetIR a la capacité d'« apprendre » les commandes CIR, ce qui rend le développement extrêmement simple.
- Vous pouvez utiliser presque n'importe quel langage de programmation grand public avec le PhidgetIR. Cela signifiait que je pouvais utiliser Java et terminer les choses rapidement.
- Enfin, je travaille pour Phidgets, donc je suis à l'aise avec l'API, et il y a toujours des appareils de rechange qui traînent.
Parce que j'ai choisi d'utiliser le PhidgetIR, j'avais besoin d'un ordinateur pour l'exécuter. Je voulais que ce projet soit une application autonome, un peu comme une télécommande normale, donc un ordinateur de bureau ou un ordinateur portable était sorti. J'ai choisi d'utiliser un PhidgetSBC4 (un ordinateur monocarte fonctionnant sous Debian Linux), car il me permettait de m'interfacer avec les deux boutons poussoirs sans aucun matériel supplémentaire. Ils peuvent simplement être câblés directement au hub VINT intégré. Remarque: vous pouvez également utiliser un Raspberry Pi pour ce projet. Enfin, en plus d'être fonctionnel, je voulais que ce projet ait fière allure, j'ai donc décidé qu'un boîtier imprimé en 3D serait nécessaire.
Étape 3: impression 3D
Pour ce projet, Geomagic a été utilisé pour modéliser l'enceinte. Des fichiers d'étapes 3D sont disponibles pour le PhidgetIR et le PhidgetSBC4, ce qui a simplifié le processus. Certaines décisions ont été prises au cours de cette étape concernant la taille et la fonctionnalité du boîtier:
- Le PhidgetIR a deux LED IR qui doivent être dirigées vers le téléviseur afin d'envoyer des commandes. Au lieu de concevoir le boîtier autour de la carte PhidgetIR, les LED IR pourraient être dessoudées et collées dans les trous sur le côté du boîtier. La carte PhidgetIR pourrait alors être montée loin des LED, en utilisant l'espace vide.
- Les connecteurs VINT Hub sur le PhidgetSBC4 pourraient être pliés vers le haut, ce qui permettrait toujours l'accès aux connexions des boutons-poussoirs et éviterait également d'avoir à créer un boîtier plus grand.
J'ai également décidé d'ajouter une étiquette pour les boutons et une étiquette indiquant la direction dans laquelle il doit faire face afin que les LED IR soient pointées dans la bonne direction. J'ai imprimé le boîtier localement en plastique ABS noir.
Étape 4: Assemblage - Retirez les LED
Les LED IR seront éventuellement collées dans des trous sur le côté du boîtier. Cela signifie qu'ils doivent d'abord être dessoudés.
Étape 5: Assemblage - Ajouter des en-têtes de trou traversant
Ensuite, des embases traversantes ont été ajoutées là où se trouvaient les LED, ce qui les rendait faciles à connecter à l'aide d'un cavalier à 4 broches. Utilisez une gaine thermorétractable pour éviter tout contact accidentel.
Étape 6: Assemblage - Fixez les LED
Collez les LED sur le côté du boîtier.
Étape 7: Assemblage - Fixez le PhidgetIR
Fixez le PhidgetIR au boîtier et connectez les voyants.
Étape 8: Assemblage - Ajout de boutons
Les boutons-poussoirs doivent être connectés au hub VINT intégré sur le PhidgetSBC, j'ai donc coupé un câble Phidget en deux et soudé les extrémités aux boutons. Notez que seuls le fil blanc (signal) et noir (terre) sont nécessaires.
Étape 9: Assemblage - Assembler le tout
Une certaine gestion des câbles était nécessaire pour tout assembler, cependant, le boîtier a bien fonctionné.
Étape 10: Logiciel - Code
Il n'y a qu'un seul fichier Java requis pour ce projet que vous pouvez trouver ici. Le programme utilise un objet PhidgetIR et deux objets DigitalInput. Vous pouvez créer ces objets comme ceci:
PhidgetIR ir =nouveau PhidgetIR();
DigitalInput tvButton =new DigitalInput(); DigitalInput otherButton=new DigitalInput();
Les objets d'entrée numérique sont mappés sur un bouton-poussoir physique sur le hub VINT. Les événements d'attachement, de détachement, d'erreur et de changement d'état sont également souscrits à:
tv.setIsHubPortDevice(true);
tvButton.setHubPort(4); tvButton.addAttachListener(onAttachListener); tvButton.addDetachListener(onDetachListener); tvButton.addErrorListener(onErrorListener); tvButton.addStateChangeListener(onStateChangeListener); tvButton.open(); otherButton.setIsHubPortDevice(true); otherButton.setHubPort(5); otherButton.addAttachListener(onAttachListener); otherButton.addDetachListener(onDetachListener); otherButton.addErrorListener(onErrorListener); otherButton.addStateChangeListener(onStateChangeListener); autreBouton.open();
L'écouteur de changement d'état référencé ci-dessus ressemble à ceci:
privatestatic DigitalInputStateChangeListener onStateChangeListener =new DigitalInputStateChangeListener(){@OverridepublicvoidonStateChange(DigitalInputStateChangeEvent disce){
DigitalInput ch =(DigitalInput) disce.getSource();try{if(ch.getHubPort()==4&& disce.getState()==true){ tvButtonActivated =true;}if(ch.getHubPort()==5&& disce.getState()==true){ otherButtonActivated =true;}}catch(PhidgetException ex){ System.out.println("Error: "+ ex.getDescription());}}};
Lorsqu'un bouton est activé, le code d'événement s'exécute et définit un indicateur. Ces drapeaux seront référencés et réinitialisés dans la boucle principale. La boucle principale attend simplement un changement dans l'état du bouton, puis envoie des commandes IR en utilisant la fonction de transmission qui est disponible à partir de l'API PhidgetIR.
while(true){if(tvButtonActivated){
tvButtonActivated =false; Log.log(LogLevel. INFO, "CHANGEMENT DE SOURCE - TV"); ir.transmit(sourceButtonString, codeInfo); Thread.sleep(500); ir.transmit(rightButtonString, codeInfo); Thread.sleep(500); ir.transmit(enterButtonString, codeInfo);}if(otherButtonActivated){ otherButtonActivated =false; Log.log(LogLevel. INFO, "CHANGEMENT DE SOURCE - DVD"); ir.transmit(sourceButtonString, codeInfo); Thread.sleep(500); ir.transmit(leftButtonString, codeInfo); Thread.sleep(500); ir.transmit(enterButtonString, codeInfo);} Thread.sleep(250);}
Étape 11: Logiciel - Commandes CIR
Voici un exemple de création d'une commande (une commande d'augmentation du volume dans ce cas):
//Code RI
IRCodeInfo sourceButtonCI =nouveau IRCodeInfo(); String volumeUp ="77e1d0f0";//Configurer le bouton source sourceButtonCI.bitCount=32; sourceButtonCI.encoding=IRCodeEncoding. SPACE; sourceButtonCI.gap=108921; sourceButtonCI.trail=549; sourceButtonCI.zero=newint[2]; sourceButtonCI.zero[0]=549; sourceButtonCI.zero[1]=627; sourceButtonCI.one=newint[2]; sourceButtonCI.one[0]=549; sourceButtonCI.one[1]=1755; sourceButtonCI.header=newint[2]; sourceButtonCI.header[0]=9084; sourceButtonCI.header[1]=4600; sourceButtonCI.repeat=newint[3]; sourceButtonCI.repeat[0]=9084; sourceButtonCI.repeat[1]=2308; sourceButtonCI.repeat[2]=549; sourceButtonCI.length=IRCodeLength. CONSTANT;
Afin d'obtenir les informations pour cette commande, j'ai simplement utilisé l'exemple PhidgetIR fourni avec les bibliothèques Phidget. Après avoir pointé la télécommande vers le PhidgetIR et maintenu enfoncé le bouton d'augmentation du volume, l'IR « apprend » le code et remplit l'exemple. Cette information peut ensuite être simplement copiée dans le code.
Étape 12: Exécuter le programme
Le fichier Java peut être écrit et compilé sur un ordinateur externe. Placez PhidgetRemote.java et phidget22.jar dans le même dossier et exécutez la commande suivante:
Windowsjavac -classpath.;phidget22.jar PhidgetRemote.java
macOS/Linuxjavac -classpath.:phidget22.jar PhidgetRemote.java
Après la compilation, copiez les fichiers de classe générés sur le PhidgetSBC4 et configurez-le pour qu'il s'exécute au démarrage.
Étape 13: Résultat
Quand j'ai donné la télécommande au grand-père de ma petite amie et lui ai montré comment l'utiliser, il a été étonné de voir à quel point c'était simple. Regardez la vidéo pour le voir en action!
Troisième Prix du Concours Télécommande 2017
Conseillé:
Vidéoconférence automatique pour grand-mère avec Raspberry Pi : 9 étapes (avec photos)
Vidéoconférence automatique pour grand-mère avec Raspberry Pi : je m'inquiète pour ma grand-mère de 90 ans car même elle devrait rester à la maison pendant l'épidémie de COVID, elle sort continuellement, faisant "essentiel" des choses dans la rue, comme acheter des billets de loterie, parler avec les voisins. JE
Comment créer votre propre passerelle WIFI pour connecter votre Arduino au réseau IP ? : 11 étapes (avec photos)
Comment faire votre propre passerelle WIFI pour connecter votre Arduino au réseau IP ? : Comme beaucoup de gens, vous pensez qu'Arduino est une très bonne solution pour faire de la domotique et de la robotique ! Je travaille sur un robot qui doit être connecté en permanence à un serveur qui tourne ar
Adaptateur grand format pour votre appareil photo sans miroir : 10 étapes (avec photos)
Adaptateur grand format pour votre appareil photo sans miroir : les appareils photo numériques modernes sont incroyablement petits, mais parfois grand est beau. Appareils photo argentiques grand format, le plus souvent conçus pour accepter le format 4"x5" feuille de film coupée, ont un certain charme. Ce n'est pas seulement parce que le grand film est cool, mais aussi parce que
CityCoaster - Construisez votre propre sous-verre de réalité augmentée pour votre entreprise (TfCD) : 6 étapes (avec photos)
CityCoaster - Construisez votre propre sous-verre de réalité augmentée pour votre entreprise (TfCD) : une ville sous votre tasse ! CityCoaster est un projet né en pensant à un produit pour l'aéroport de Rotterdam la Haye, qui pourrait exprimer l'identité de la ville, divertissant les clients du salon avec la réalité augmentée. Dans un environnement tel que
Comment construire un lecteur de livres audio pour votre grand-mère : 8 étapes (avec photos)
Comment construire un lecteur de livres audio pour votre grand-mère : La plupart des lecteurs audio disponibles sur le marché sont créés pour les jeunes et leur fonction principale est de jouer de la musique. Ils sont petits, ont de multiples fonctions comme la lecture aléatoire, la répétition, la radio et même la lecture vidéo. Toutes ces fonctionnalités rendent le jeu populaire