Expositor con selector de época temporal que al accionarse muestra en una pantalla una narración historia protagonizada por alumnos de primaria.

Puede emplearse para cualquier propósito de exposición de vídeos, pues es muy versátil. Otro ejemplo que hemos puesto en práctica en el centro, es usarla para exponer resúmenes en vídeo narradas de 12 cuentos populares trabajados en el aula.


Materiales electrónicos


Indicadores medidores analógicos

Se trata de dos piezas decorativas que recrean un medidor de aguja antiguo. Se moverán de forma aleatoria y espasmódica encendiendo la luz led interior al ser activada la palanca.

En el siguiente PDF se puede ver el procedimiento de ensamblaje de los indicadores de aguja.

En el paso nº2, de forma opcional, podemos poner con adhesivo rodeando el interior del cilindro la tira de leds de 5V, esto añadirá un efecto más vistoso. Estos leds estarán controlados por el transistor NPN que conectaremos al pin D6 del microcontrolador.

En esta parte usaremos un metacrilato de un espesor de 1mm que se muestra en la pieza nº4.

La flecha impresa en la pieza nº2 muestra la dirección para el servomotor y la muesca de encaje de la pieza nº6.

Dentro del complejo de 4 piezas acoplables debe colocarse un pequeño servomotor SG90.

Un servomotor o comúnmente llamado servo, es un motor DC con la capacidad de ubicar su eje en una posición o ángulo determinado, internamente tiene una caja reductora la cual le aumenta el torque y reduce la velocidad, un potenciómetro encargado de censar la posición del eje y una pequeña tarjeta electrónica que junto al potenciómetro forman un control de lazo cerrado.

Distinguir el cable de control es fundamental, en este caso es el naranja, que conectaremos los de un servo al pin D10 y el del otro servo en el pin D11 directamente del controlador.

Por último, mencionar que la distancia entre las piezas nº5 y nº6 es de 3mm, que es la del grosor de la tabla de madera que usaremos como consola de mando en nuestro caso. 


Pieza portadora de los leds de selección.

En este caso presentamos la pieza que contendrá en su interior la tira de leds WS2812b, está dividida en 5 trozos para facilitar su impresión. Los leds irán adheridos de forma vertical para poder ser curvados sobre la pared interior de la guía. Hemos decidido imprimir estas piezas con PETG translúcido, aunque blanco opaco permite también la percepción de la iluminación.

Al principio este fue uno de los grandes temas de discusión para garantizar la correcta iluminación, la forma del embellecedor de los leds. Se tenían en cuenta ante todo el problema de la curvatura del recorrido de  la tira. Se presentaros otros modelos como los que se muestran, pero nos acabamos decantando por el actual.

En la imagen siguiente podemos ver la disposición real de los surcos de los leds con sus medidas. En nuestro caso los imprimimos en mosaico para poder trasladarlos a la plancha de madera de 3mm que usamos de base-soporte.

La cinta LED RGB se basa en el chip controlador WS2812B de Neopixel con el cual podemos realizar proyectos de una manera simple y escalable ya que se tiene el control de cada pixel y de cada color, ya sea rojo, verde y azul a través de un solo cable. Además, tienen la ventaja de poder encadenarse unos tras otros (la salida de uno se puede conectar a la entrada de la siguiente) para obtener cadenas más largas además de formas interesantes gracias a su flexibilidad.

Usaremos 120 de estos leds en una tira de una densidad de 140 leds por metro lo que será algo menos de un metro.

En la programación se controlarán con la librería <Adafruit_NeoPixel.h> que podremos descargar en la sección más abajo. Emplearemos el pin D8 del microcontrolador para Din.

El consumo de cada led será de 60mA, por lo que necesitaremos una fuente algo poderosa para desempeñar sin problemas tal requerimiento además del consumo de la raspberry pi y los servo motores de las agujas.


Fuente de alimentación

La demanda de energía será alta, pues debemos alimentar con la misma fuente la Raspberry pi y la electrónica interna. 

  • 60mA x 120 leds (nunca se encenderán a la vez)
  • 20mA x 12 leds fijos aprox.
  • 2 servomotores
  • Pantalla de 7 segmentos.

Por lo que nos decantamos por unos amplios 30W que suponen 6A a 5V.


Selector

Un Rotary Encoder es un dispositivo electro mecánico que convierte el movimiento de giro de un eje en una señal. Se parece mucho a un potenciómetro, pero a diferencia de este, puede girar indefinidamente tanto en sentido del reloj como al contrario.

Conectaremos los pines CLK al in D2 y DT al pin D3 para usar las interrupciones de Arduino con las que conseguiremos mayor precisión para este dispositivo.

El enconder posee además un pequeño pulsador que no usaremos en el proyecto y que tiene la salida SW, pues para la activación usaremos la palanca que es más vistosa, aunque en caso de no querer usar una palanca podrías emplear dicho pulsador.

En la programación usaremos la librería ESProtary.h que incluimos en la sección adecuada para descargar, pues mencionar que esta librería dispone de distintas versiones y me ha provocado muchos inconvenientes al no usar la adecuada.

Lo colocaremos entre las piezas que se muestran, usando para su fijación la tuerca adecuada. Nótense las pequeñas muescas en la pieza negra que permitirán la fijación adecuada impidiendo que gire sobre su propio eje.


Palanca de activación

La palanca que usamos en este proyecto permite la activación de 4 pulsadores, pues se trata de una de propósito general para videojuegos. 

Con el diseño del embellecedor de la palanca bloqueamos cualquiera de los movimientos y obligamos a que sólo pueda funcionar el pulsador de «hacia abajo«

El pulsador se conectará a D9 con una resistencia en pull up de 4,7k ohm.


Pared lateral

Para poder imprimirla, la hemos cortado en 6 trozos con un software de corte. 

Por el lado izquierdo tenemos los huecos para la alimentación y la salida de video por HDMI.


Embellecedor superior

Su misión es estática y nos ayudará a tapar el corte del cuero negro que cubre la tapa superior ocultando posibles imperfecciones.


Casillas de selección

Aquí se colocarán las pegatinas indicativas para seleccionar una época deseada. Se atornilla sobre la tapa con tornillos de 3mm.


Separadores de selección

De propósito estético también delimitarán la separación de las 12 propuestas, por lo que necesitaremos imprimir 13 iguales.


Visor led de año de destino

En un principio diseñado para mostrar el año de destino del viajero en el tiempo, se puede usar en otros proyectos mostrando el número de la selección. 

Aquí usaremos el display de 6 dígitos controlados por un TM1637 que dispone de 4 pines para su manejo:

  • Vcc para la tensión directamente de la fuente.
  • Gnd a masa.
  • DIO a D5.
  • CLK a D4.

Usaremos la librería <TM1637TinyDisplay6.h> que nos facilitará el proceso de programación.

Que no se nos pase que en el mismo embellecedor colocaremos el buzzer de pc en un hueco destinado para ello que conectaremos al D12 y tierra.


Ensamblaje de partes

  • La pieza nº1 será de unos 3mm de espesor y usaremos madera contrachapada. Estará sujeta a la pieza nº2 mediante tornillos de 5mm.
  • La pieza nº2 será impresa en 6 piezas separadas.
  • La pieza nº3 será contrachapado de 2 mm que una vez cortada respetando los orificios para los contadores analógicos, el selector rotativo, visor led y la palanca; forraremos de cuero negro. Encajará en la pieza nº2 sobre su muesca interior.
  • Por último la pieza nº4, contiene todos los embellecedores irá atornillada a la pieza 3 con tornillos de 5mm y el resto de 3mm.

Esta plantilla ayudará a la hora de realizar el corte de las piezas en madera.


Interacción Arduino <-> Pi

Es un proyecto que podría realizarse tan solo con una Raspberry pi como controlador y reproductor de vídeos, pero en mi caso me siento mucho más cómodo programando en el IDE de Arduino y usando electrónica con voltaje de 5V. Así que emplearemos el Arduino como actuador de entrada y salida y la PI como simple reproductora de los vídeos (característica imposible para Arduino).

Para ello dividiremos la sección de programación en dos apartados para ver la de Arduino y luego la de la Pi. 

Ambas placas se comunicarán entre sí mediante el puerto Serie creado en la conexión USB y será Arduino la que activará la reacción de la Raspberry Pi.

A tener en cuenta que la placa microcontroladora será alimentada además de enviar datos también por la corriente proporcionada por el USB.

Software de acceso remoto

Para cambiar los vídeos que se mostrarán y teniendo en cuenta que la Raspberry se encuentra dentro del aparato, no es posible acceder al puerto USB para traspasar los vídeos con un pendrive una vez cerrada la máquina, así que configuraremos el acceso por wifi, conectándonos al SO con Real VNC server. Sólo en caso de modificaciones, claro, este paso es opcional, pero aconsejable. Por lo que se recomienda configurar una IP fija.

Como para esta versión se decidió albergar la Pi en el interior de la máquina, debemos preparar un acceso al HDMI para la pantalla de televisión, usando un alargador. En caso de decidir dejar la Pi fuera del artefacto, habría que hacer uso del Bluetooth opcional para la comunicación entre Arduino y la Pi.

Para ello hemos dispuesto una pieza stl para imprimir que se encarga de sujetar el alargados HDMI a la parte exterior de un lateral.


Aspecto final pretendido


Esquema electrónico


Códigos

Código para el Arduino Nano


Librerías

Un paquete zip con las librerías usadas en el proyecto para Arduino.


Código para la Raspberry pi

En esencia abre el puerto serie por el que se comunicará nuestra placa Arduino que será uno de los USB y se mantiene a la escucha, mientras muestra una imagen fija con las instrucciones 03.jpg.

Cuando recibe la cadena de texto responde visualizando el video correspondiente que guardaremos en la carpeta ‘Public’ nombrados desde 00 hasta 12.


Proyecto construido