Taula de continguts:

Tecnologia per al teu avi: 13 passos (amb imatges)
Tecnologia per al teu avi: 13 passos (amb imatges)

Vídeo: Tecnologia per al teu avi: 13 passos (amb imatges)

Vídeo: Tecnologia per al teu avi: 13 passos (amb imatges)
Vídeo: Аномально вкусно‼️ ЧЕХОСЛОВАЦКИЙ СУП ИЗ ФАРША. Жена Липована в шоке. 2024, De novembre
Anonim
Image
Image

Quantes vegades heu anat a casa dels vostres avis per ajudar-vos amb un "problema tecnològic" que acabava sent un cable d'alimentació desconnectat, una bateria remota morta o que no podia canviar la font del televisor? Sé que per a mi això passa bastant sovint. Tot i que la majoria dels seus problemes es poden resoldre simplement executant-se a la botiga per obtenir alguns AA nous, de vegades podrien beneficiar-se d’una solució més personalitzada.

Per exemple, l’avi de la meva xicota va aconseguir un televisor nou i vam intentar ensenyar-lo a canviar la font perquè pogués canviar entre DVD i TV, però no ho va saber. També té problemes amb la vista fallida i no li interessa massa intentar recordar processos complicats, només vol veure els seus programes quan vulgui. Després d’intentar explicar amb calma els passos de la nostra última visita sense gaire èxit, vaig decidir que només li convertiria en el seu senzill comandament a distància de dos botons. Això li permetria canviar la font d’entrada del televisor sense cap dolor, canviant entre els seus estimats DVD Matlock i Price is Right amb facilitat.

Pas 1: materials

  • PhidgetIR
  • PhidgetSBC4 (o qualsevol ordinador de placa com el Raspberry Pi)
  • Soldador
  • Talladors laterals
  • Decapants de filferro
  • Filferros de pont
  • Cable USB
  • Cable Phidget
  • Recinte
  • Capçaleres del forat
  • Tubs retràctils

Pas 2: planificació

Impressió 3D
Impressió 3D

Per tal de crear el comandament a distància, necessitava la possibilitat d’enviar comandes d’infrarojos del consumidor (CIR) al televisor. Vaig decidir utilitzar el PhigetIR per a aquesta tasca. El PhidgetIR és un dispositiu controlat per USB que pot enviar i rebre comandes CIR. He escollit això per uns quants motius:

  • Volia acabar aquest projecte el més aviat possible i fer-lo servir, de manera que la idea de trencar el meu oscil·loscopi i tauleta no era atractiva. A més, com és de probable que els meus circuits soldats a mà continuessin funcionant d'aquí a un any o dos?
  • El PhidgetIR té la capacitat d '"aprendre" ordres CIR fent que el desenvolupament sigui extremadament senzill.
  • Podeu utilitzar gairebé qualsevol llenguatge de programació convencional amb el PhidgetIR. Això significava que podia utilitzar Java i acabar les coses ràpidament.
  • Finalment, treballo per a Phidgets, de manera que em sento còmode amb l’API i sempre hi ha dispositius de recanvi.

Com que vaig optar per utilitzar el PhidgetIR, necessitava un ordinador per executar-lo. Volia que aquest projecte fos una aplicació autònoma, com un comandament a distància normal, de manera que no hi havia un ordinador de sobretaula o un ordinador portàtil. Vaig optar per utilitzar un PhidgetSBC4 (un ordinador de placa única que executava Debian Linux), perquè em permetia connectar-me amb els dos botons de pressió sense cap maquinari addicional. Es poden connectar directament al centre VINT integrat. Nota: també podeu utilitzar un Raspberry Pi per a aquest projecte. Finalment, a més de tenir un so funcional, volia que aquest projecte tingués un aspecte fantàstic, de manera que vaig decidir que seria necessari un recinte imprès en 3D.

Pas 3: impressió 3D

Impressió 3D
Impressió 3D
Impressió 3D
Impressió 3D

Per a aquest projecte, Geomagic es va utilitzar per modelar el recinte. Hi ha fitxers de pas en 3D disponibles tant per al PhidgetIR com per al PhidgetSBC4, cosa que ha simplificat el procés. Durant aquest pas es van prendre algunes decisions sobre la mida i la funcionalitat del recinte:

  • El PhidgetIR té dos LEDs IR que han d’estar orientats cap al televisor per enviar ordres. En lloc de dissenyar el recinte al voltant de la placa PhidgetIR, els LED IR es podrien dessoldar i enganxar als forats del costat del recinte. La placa PhidgetIR es podria muntar allunyada dels LED, utilitzant l'espai buit.
  • Els connectors del concentrador VINT del PhidgetSBC4 es podrien inclinar cap amunt, cosa que encara permetria l’accés a les connexions de polsador i també evitaria haver de crear un recinte més gran.

També vaig decidir afegir una etiqueta per als botons i una etiqueta que indiqués la direcció que hauria d’afrontar de manera que els LEDs IR estiguessin apuntats en la direcció correcta. Vaig imprimir el gabinet localment de plàstic ABS negre.

Pas 4: Muntatge: traieu els LED

Muntatge - Traieu els LED
Muntatge - Traieu els LED
Muntatge - Traieu els LED
Muntatge - Traieu els LED
Muntatge - Traieu els LED
Muntatge - Traieu els LED

Els LEDs IR s’acabaran enganxant als forats del lateral del recinte. Això significa que primer cal dessoldar-los.

Pas 5: Muntatge: afegiu capçaleres de forats passants

Muntatge: afegiu capçaleres de forats passants
Muntatge: afegiu capçaleres de forats passants
Muntatge: afegiu capçaleres de forats passants
Muntatge: afegiu capçaleres de forats passants

A continuació, es van afegir capçaleres de forats passants allà on hi havia els LED, cosa que els va facilitar la connexió mitjançant un cable de pont de 4 pins. Utilitzeu tubs termoretràctils per evitar contactes accidentals.

Pas 6: Muntatge: connecteu els LED

Muntatge: connecteu LEDs
Muntatge: connecteu LEDs
Muntatge: connecteu LEDs
Muntatge: connecteu LEDs

Enganxeu els LED al lateral del recinte.

Pas 7: Muntatge: connecteu el PhidgetIR

Muntatge: connecteu el PhidgetIR
Muntatge: connecteu el PhidgetIR
Muntatge: connecteu el PhidgetIR
Muntatge: connecteu el PhidgetIR
Muntatge: connecteu el PhidgetIR
Muntatge: connecteu el PhidgetIR

Connecteu el PhidgetIR al recinte i connecteu els LED.

Pas 8: Muntatge: afegir botons

Muntatge: addició de botons
Muntatge: addició de botons
Muntatge: addició de botons
Muntatge: addició de botons
Muntatge: addició de botons
Muntatge: addició de botons

Els botons polsadors han d’estar connectats al concentrador VINT integrat al PhidgetSBC, de manera que vaig tallar un cable Phidget per la meitat i vaig soldar els extrems als botons. Tingueu en compte que només es requereix el cable blanc (senyal) i el negre (terra).

Pas 9: Muntatge: unir-ho tot

Muntatge: unir-ho tot
Muntatge: unir-ho tot
Muntatge: unir-ho tot
Muntatge: unir-ho tot

Es requeria una certa gestió de cables per aconseguir que tot s’unís, però el recinte funcionava bé.

Pas 10: Programari: codi

Només cal un fitxer Java únic per a aquest projecte que podeu trobar aquí. El programa utilitza un objecte PhidgetIR i dos objectes DigitalInput. Podeu crear aquests objectes així:

PhidgetIR ir = nou PhidgetIR ();

DigitalInput tvButton = new DigitalInput (); DigitalInput otherButton = new DigitalInput ();

Els objectes d’entrada digital s’assignen a un botó físic del concentrador VINT. Els esdeveniments de connexió, separació, error i canvi d'estat també estan subscrits a:

tv.setIsHubPortDevice (cert);

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); otherButton.open ();

L'oient de canvis d'estat referit més amunt té aquest aspecte:

privatestatic DigitalInputStateChangeListener onStateChangeListener = new DigitalInputStateChangeListener () {@ OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {

DigitalInput ch = (DigitalInput) disce.getSource (); prova {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 ());}}};

Quan s’activa un botó, el codi d’esdeveniment s’executarà i establirà un indicador. Aquests indicadors es faran referència i es restabliran al bucle principal. El bucle principal simplement espera un canvi en l'estat del botó i, a continuació, envia ordres IR mitjançant la funció de transmissió disponible a l'API PhidgetIR.

while (true) {if (tvButtonActivated) {

tvButtonActivated = fals; Log.log (LogLevel. INFO, "FONT CANVIANT - 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, "FONT CANVIANT - DVD"); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (leftButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}

Pas 11: Programari: ordres CIR

Programari - Ordres CIR
Programari - Ordres CIR

Aquí teniu un exemple de com crear una ordre (en aquest cas, una ordre d’augmentar el volum):

// Codi IR

IRCodeInfo sourceButtonCI = new IRCodeInfo (); String volumeUp = "77e1d0f0"; // Configura el botó font 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;

Per obtenir la informació d’aquesta ordre, simplement he utilitzat l’exemple de PhidgetIR que inclou les biblioteques de Phidget. Després d’assenyalar el comandament a distància cap al PhidgetIR i mantenir premut el botó d’augmentar el volum, l’IR “aprèn” el codi i omple l’exemple. Aquesta informació es pot copiar simplement al codi.

Pas 12: Execució del programa

El fitxer Java es pot escriure i compilar en un ordinador extern. Col·loqueu PhidgetRemote.java i phidget22.jar a la mateixa carpeta i executeu l'ordre següent:

Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java

macOS / Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java

Després de compilar, copieu els fitxers de classe generats al PhidgetSBC4 i configureu-los perquè s'executi a l'arrencada.

Pas 13: Resultat

Quan vaig donar el comandament a l’avi de la meva xicota i li vaig mostrar com l’utilitzava, es va meravellar del simple que era. Mireu el vídeo per veure'l en acció.

Concurs de control remot 2017
Concurs de control remot 2017
Concurs de control remot 2017
Concurs de control remot 2017

Tercer premi del concurs de control remot 2017

Recomanat: