Tabla de contenido:

Tecnología para tu abuelo: 13 pasos (con imágenes)
Tecnología para tu abuelo: 13 pasos (con imágenes)

Video: Tecnología para tu abuelo: 13 pasos (con imágenes)

Video: Tecnología para tu abuelo: 13 pasos (con imágenes)
Video: Personalizando el feo y viejos celular de mi sobrino🧒🏻🚗📲 #shorts #parati #viral #foryou #tecnologia 2024, Noviembre
Anonim
Image
Image

¿Cuántas veces ha ido a la casa de sus abuelos para ayudar con un "problema tecnológico" que terminó siendo un cable de alimentación desenchufado, una batería remota agotada o no poder encender la fuente de su televisor? Sé que para mí esto sucede con bastante frecuencia. Si bien la mayoría de sus problemas pueden resolverse simplemente corriendo a la tienda en busca de algunos AA nuevos, a veces podrían beneficiarse de una solución más personalizada.

Por ejemplo, el abuelo de mi novia compró un televisor nuevo y tratamos de enseñarle cómo cambiar la fuente para que pudiera cambiar entre DVD y TV, pero simplemente no pudo entenderlo. También está lidiando con problemas de visión y no está demasiado interesado en tratar de recordar procesos complicados, solo quiere ver sus programas cuando quiere. Después de tratar de explicar tranquilamente los pasos durante nuestra última visita sin mucho éxito, decidí convertirlo en su propio control remoto simple de dos botones. Esto le permitiría cambiar la fuente de entrada en su televisor sin dolor, cambiando entre sus amados DVD de Matlock y Price is Right con facilidad.

Paso 1: Materiales

  • PhidgetIR
  • PhidgetSBC4 (o cualquier computadora de placa única como la Raspberry Pi)
  • Soldador
  • Cortadores laterales
  • Pelacables
  • Cables de puente
  • Cable USB
  • Cable Phidget
  • Recinto
  • Cabezales de orificio pasante
  • Tubo termoretráctil

Paso 2: planificación

Impresión 3D
Impresión 3D

Para crear el control remoto, necesitaba la capacidad de enviar comandos de infrarrojos del consumidor (CIR) al televisor. Decidí usar PhigetIR para esta tarea. El PhidgetIR es un dispositivo controlado por USB que tiene la capacidad de enviar y recibir comandos CIR. Elegí esto por algunas razones:

  • Quería terminar este proyecto lo antes posible y ponerlo en práctica, por lo que la idea de romper mi osciloscopio y mi protoboard no me atraía. Además, ¿qué probabilidad hay de que mis circuitos soldados a mano sigan funcionando en uno o dos años?
  • PhidgetIR tiene la capacidad de "aprender" los comandos CIR, lo que hace que el desarrollo sea extremadamente simple.
  • Puede utilizar casi cualquier lenguaje de programación convencional con PhidgetIR. Esto significaba que podía usar Java y terminar las cosas rápidamente.
  • Finalmente, trabajo para Phidgets, así que me siento cómodo con la API, y siempre hay dispositivos de repuesto por ahí.

Como elegí usar PhidgetIR, necesitaba una computadora para ejecutarlo. Quería que este proyecto fuera una aplicación independiente, muy parecida a un control remoto normal, por lo que no había una computadora de escritorio o una computadora portátil. Elegí usar un PhidgetSBC4 (una computadora de placa única que ejecuta Debian Linux), porque me permitió interactuar con ambos botones sin ningún hardware adicional. Simplemente se pueden conectar directamente al VINT Hub integrado. Nota: también puede utilizar una Raspberry Pi para este proyecto. Finalmente, además de ser funcionalmente sólido, quería que este proyecto se viera genial, así que decidí que sería necesario un gabinete impreso en 3D.

Paso 3: Impresión 3D

Impresión 3D
Impresión 3D
Impresión 3D
Impresión 3D

Para este proyecto, se utilizó Geomagic para modelar el cerramiento. Hay archivos de pasos en 3D disponibles tanto para PhidgetIR como para PhidgetSBC4, lo que simplifica el proceso. Se tomaron algunas decisiones durante este paso con respecto al tamaño y la funcionalidad del gabinete:

  • El PhidgetIR tiene dos LED de infrarrojos que deben apuntar hacia el televisor para enviar comandos. En lugar de diseñar el gabinete alrededor de la placa PhidgetIR, los LED de infrarrojos se podrían desoldar y pegar en los orificios del costado del gabinete. La placa PhidgetIR podría montarse lejos de los LED, utilizando el espacio vacío.
  • Los conectores VINT Hub en el PhidgetSBC4 podrían doblarse hacia arriba, lo que aún permitiría el acceso a las conexiones de botones y también evitaría tener que crear un gabinete más grande.

También decidí agregar una etiqueta para los botones y una etiqueta que indique la dirección en la que debe mirar para que los LED de infrarrojos apunten en la dirección correcta. Imprimí el gabinete localmente en plástico ABS negro.

Paso 4: Montaje - Retire los LED

Ensamblaje: quitar los LED
Ensamblaje: quitar los LED
Ensamblaje: quitar los LED
Ensamblaje: quitar los LED
Ensamblaje: quitar los LED
Ensamblaje: quitar los LED

Los LED de infrarrojos eventualmente se pegarán en los orificios en el costado del gabinete. Esto significa que primero deben desoldarse.

Paso 5: Ensamblaje - Agregar encabezados de orificios pasantes

Ensamblaje: agregar encabezados de orificio pasante
Ensamblaje: agregar encabezados de orificio pasante
Ensamblaje: agregar encabezados de orificio pasante
Ensamblaje: agregar encabezados de orificio pasante

A continuación, se agregaron encabezados de orificios pasantes donde solían estar los LED, lo que facilitó la conexión mediante un cable de puente de 4 pines. Utilice tubos termorretráctiles para evitar el contacto accidental.

Paso 6: Ensamblaje - Conecte los LED

Ensamblaje: adjuntar LED
Ensamblaje: adjuntar LED
Ensamblaje: adjuntar LED
Ensamblaje: adjuntar LED

Pegue los LED en el costado del gabinete.

Paso 7: Ensamblaje - Adjunte el PhidgetIR

Ensamblaje: conecte el PhidgetIR
Ensamblaje: conecte el PhidgetIR
Ensamblaje: conecte el PhidgetIR
Ensamblaje: conecte el PhidgetIR
Ensamblaje: conecte el PhidgetIR
Ensamblaje: conecte el PhidgetIR

Coloque el PhidgetIR en la carcasa y conecte los LED.

Paso 8: Ensamblaje - Agregar botones

Ensamblaje: agregar botones
Ensamblaje: agregar botones
Ensamblaje: agregar botones
Ensamblaje: agregar botones
Ensamblaje: agregar botones
Ensamblaje: agregar botones

Los botones deben estar conectados al VINT Hub integrado en el PhidgetSBC, así que corté un cable Phidget por la mitad y soldé los extremos a los botones. Tenga en cuenta que solo se requieren el cable blanco (señal) y el negro (tierra).

Paso 9: Ensamblaje: unir todo

Ensamblaje: unir todo
Ensamblaje: unir todo
Ensamblaje: unir todo
Ensamblaje: unir todo

Se requirió un poco de administración de cables para unir todo, sin embargo, el gabinete funcionó bien.

Paso 10: Software - Código

Solo se requiere un único archivo Java para este proyecto que puede encontrar aquí. El programa utiliza un objeto PhidgetIR y dos objetos DigitalInput. Puedes crear estos objetos así:

PhidgetIR ir = nuevo PhidgetIR ();

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

Los objetos de entrada digital se asignan a un botón físico en el VINT Hub. Los eventos de adjuntar, separar, error y cambio de estado también están suscritos a:

tv.setIsHubPortDevice (verdadero);

tvButton.setHubPort (4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener (onStateChangeListener); tvButton.open (); otherButton.setIsHubPortDevice (verdadero); otherButton.setHubPort (5); otherButton.addAttachListener (onAttachListener); otherButton.addDetachListener (onDetachListener); otherButton.addErrorListener (onErrorListener); otherButton.addStateChangeListener (onStateChangeListener); otherButton.open ();

El oyente de cambio de estado mencionado anteriormente se ve así:

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 ());}}};

Cuando se activa un botón, el código de evento se ejecutará y establecerá una bandera. Estos indicadores serán referenciados y restablecidos en el bucle principal. El bucle principal simplemente espera un cambio en el estado del botón y luego envía comandos IR utilizando la función de transmisión que está disponible en la API PhidgetIR.

while (verdadero) {if (tvButtonActivated) {

tvButtonActivated = falso; Log.log (LogLevel. INFO, "CAMBIAR FUENTE - TV"); ir.transmit (sourceButtonString, codeInfo); Hilo.sueño (500); ir.transmit (rightButtonString, codeInfo); Hilo.sueño (500); ir.transmit (enterButtonString, codeInfo);} if (otherButtonActivated) {otherButtonActivated = false; Log.log (LogLevel. INFO, "CAMBIAR FUENTE - DVD"); ir.transmit (sourceButtonString, codeInfo); Hilo.sueño (500); ir.transmit (leftButtonString, codeInfo); Hilo.sueño (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}

Paso 11: Software - Comandos CIR

Software - Comandos CIR
Software - Comandos CIR

A continuación, se muestra un ejemplo de cómo crear un comando (un comando de aumento de volumen en este caso):

// Código IR

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

Para obtener la información de este comando, simplemente utilicé el ejemplo de PhidgetIR que viene con las bibliotecas de Phidget. Después de apuntar el control remoto hacia el PhidgetIR y mantener presionado el botón para subir el volumen, el IR "aprende" el código y completa el ejemplo. Esta información puede simplemente copiarse en el código.

Paso 12: Ejecutar el programa

El archivo Java se puede escribir y compilar en una computadora externa. Coloque PhidgetRemote.java y phidget22.jar en la misma carpeta y ejecute el siguiente comando:

Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java

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

Después de compilar, copie los archivos de clase generados en PhidgetSBC4 y configúrelo para que se ejecute en el arranque.

Paso 13: Resultado

Cuando le di el control remoto al abuelo de mi novia y le mostré cómo usarlo, se sorprendió de lo simple que era. ¡Mira el video para verlo en acción!

Concurso de control remoto 2017
Concurso de control remoto 2017
Concurso de control remoto 2017
Concurso de control remoto 2017

Tercer premio en el Concurso de Control Remoto 2017

Recomendado: