PGS-2

Hace años me gustaban mucho los simuladores de vuelo. Desde pequeño me han gustado mucho los aviones, así que supongo que me venía de ahí. Tengo muchos simuladores, pero la verdad es que nunca he dedicado mucho tiempo a jugar. Y ahora tampoco lo hago. Aun así, tengo instalado el DCS (el simulador tope gama que hay en la actualidad) y un Joystick HOTAS. Suelo jugar con el avión Su-25T.

Como no juego mucho, me suele suceder que se me olvidan las teclas para manejar el avión. Esto hace que abra el paracaídas cuando lo que quería abrir era el aerofreno, o cosas así.

Así que un día pensé que sería fantástico tener una especie de controlador externo que tuviera unos cuantos botones con nombres para controlar algunos de esos comandos.

Rebuscando en internet encontré que hay gente que se fabrica sus propios controladores. Incluso hay quien se fabrica su propia cabina entera. Yo me conformo con algo más simple. Investigué bastante para ver como se hacía todo esto. Hice un curso básico de electrónica (aunque luego es más simple de lo que parece). Incluso construí un primer prototipo muy simple para ver que podía funcionar.

Cuando ya supe todo lo que tenía que hacer para construirlo, compré los materiales y me puse manos a la obra. Durante la construcción surgieron numerosos problemas, pero una vez solucionados, este es el resultado.

Panel de control PGS-2 terminado

Al contrario de lo que suele ser habitual, no he construido una réplica de un panel de los que hay en el avión real. Lo que he construido es un panel mixto, que tiene los controles que más me interesan.

Además, no he seguido ningún orden especial para situar los controles. Principalmente los he puesto de manera que me gustara el resultado. Solo he intentado agrupar un poco los que iban a actuar sobre unos determinados leds que muestran el estado de los flaps, aerofreno y tren de aterrizaje.

Os dejo un pequeño vídeo y luego os cuento más detalles sobre el panel.

Algunas características del panel:

Está retroiluminado. Es decir, tiene luces por dentro que iluminan las letras blancas del frontal, de manera que si juego en penumbra, puedo ver los textos sin problema. Hay un interruptor para encender y apagar esta iluminación

Es fácilmente desmontable por si hay que ajustar o arreglar algo. Se puede quitar la tapa trasera y la delantera.

Todo funciona internamente con una única placa arduino. Es decir, no hay un circuito aparte (con su propia alimentación) para la retroiluminación, o para los leds. Todo funciona con los 5v que me puede proporcionar el arduino. Solo hay un cable que sale del panel; un USB que va al ordenador.

Y he intentado que sea lo más barato posible. Aun así, este en concreto no ha sido barato, ya que he gastado bastante dinero en pruebas y material que luego no he utilizado.

La caja exterior es de metacrilato blanco pintado de negro (los laterales y la parte trasera). He cortado las piezas de los laterales y las he pegado. La trasera no va pegada. Lleva pegados por dentro unos listones de madera justo a la medida del interior de la caja. Esto hace que “encaje” y no se mueva. En uno de los lados he cortado un poco el metacrilato para poder sacar el cable que va al USB del ordenador.

Caja de metacrilato

El frontal está formado por 3 paneles. Uno de madera, en el que se roscan casi todos los interruptores y botones. Otro de metacrilato transparente, que sirve para ocultar las tuercas de los interruptores. Y finalmente uno exterior de metacrilato blanco translúcido, que oculta los anteriores paneles. Sobre este, he puesto una cartulina blanca, donde he imprimido, en negro, todo menos las letras. De esta manera, las letras quedan en blanco y el frontal negro.

Los tres paneles frontales

Los interruptores que llevan guarda, se atornillan a este último panel

El frontal se atornilla a unas tuercas que van dentro de la caja. De esta forma se mantiene todo unido. Al mismo tiempo, es fácil de reparar cualquier avería, ya que se puede quitar el panel delantero y la tapa trasera.

Además, va retroiluminado. Detrás de cada palabra hay unos leds verdes que iluminan las palabras para que se vean en la oscuridad. Toda esta iluminación va conectada, a través de un interruptor, directamente a la fuente de 5v de la placa arduino. De esta forma, al pulsar el interruptor, se encienden todos estos leds.

Retroiluminado

Hay otra forma de hacer el panel frontal. Consiste en utilizar, como capa superior, un panel de metacrilato bicapa. Se trata de un panel que es blanco (mejor si es translúcido) y por un lado lleva una fina capa de color negro. Lo que se hace es grabar las letras con un láser sobre este lado. Eso hace que el color negro se levante, quedando las letras con el color blanco que hay detrás. Y, si luego se le ponen leds por detrás, pues se iluminan las letras. Esta forma es más costosa, claro, porque necesitas a alguien que tenga una grabadora láser y que te haga esto bien. Pero queda mucho más profesional. Yo encontré un grupo de makers (3KMedialab) que me lo hicieron, aunque todavía tengo montada la versión que va con la cartulina.

Metacrilato bicapa grabado a láser

Hay otro conjunto de leds, donde está dibujado el avión, que indican el estado de los flaps, del tren de aterrizaje y del aerofreno. Estos leds se controlan también con la placa arduino. No hay conexión directa entre estos leds y el estado de dichos leds en el juego, sino que van con el estado en el que se encuentran los interruptores del panel. Si en el panel, el interruptor del tren de aterrizaje está abajo, las luces del tren de aterrizaje estarán encendidas (aunque en el juego se hubiera producido algún fallo y no hubiera bajado). Para una siguiente versión investigaré la posibilidad de que pueda leer estos valores directamente del juego.

Internamente hay muchos cables (los de los botones y los de la iluminación), pero la verdad es que las conexiones son muy sencillas. La mayoría de los interruptores y botones, tienen dos cables;  uno de ellos a tierra y el otro a una patilla del arduino que se encuentra en pull-up. De esta manera, es muy fácil leer el cambio de estado en un interruptor. Cuando un interruptor cambia de estado, lo que se hace es enviar al ordenador un evento de que se ha pulsado una determinada tecla (como si fuera una tecla del teclado). Luego, en el ordenador, tengo instalado un programa que “traduce” esa pulsación, en una pulsación de la tecla concreta que yo quiero (por ejemplo, la tecla L). De esta forma, cuando estoy jugando y acciono el interruptor de las luces de navegación, lo que realmente llega al juego es que se ha pulsado la tecla L del teclado.

Casi todo el cableado interno

La programación tampoco ha sido difícil. He utilizado la librería Joystick, que tiene funciones para controlar la pulsación de botones. Cuando pulsas un botón o un interruptor, llamas a una función que envía una señal de que se ha pulsado un botón (van numerados). Maneja hasta 32 botones, si no me equivoco, y movimientos de palanca. En mi caso solo he necesitado mandar pulsaciones de botones.

Otra forma de hacerlo es utilizando la librería Keyboard, que hace lo mismo. Esta la tengo que probar, pero seguramente sea incluso más fácil que la anterior.

He tenido que programar también unos temporizadores para los leds del tren de aterrizaje. Cuando se pulsa este interruptor, el temporizador cuenta 3 segundos, en los que hay un led parpadeando en rojo, y luego ya se encienden o se apagan los tres leds del tren de aterrizaje. Estos temporizadores los he programado con la función millis() de arduino. Hay buenos ejemplos por internet.

Las luces de los aerofrenos y de los flaps también se activan por software cuando se pulsan los interruptores correspondientes, aunque esta vez sin temporizador.

En el blog voy a ir poniendo todo el proceso de creación con más detalle (planos, medidas, programación, etc), pero en esencia, es tan simple como lo que he explicado aquí.

Por supuesto, han surgido problemas no previstos (hotspot, pintura de la caja, paneles demasiado gruesos, atornillar el frontal, etc), que he ido solucionando de la mejor manera que he encontrado. Gracias a esto también he encontrado varios puntos de mejora. Si en algún momento me decido a hacer una nueva versión del panel, intentaré llevar a cabo estas mejoras.

Os dejo con unas fotos más del panel. Para cualquier duda, podéis poneros en contacto conmigo de alguna de las formas que están en la parte de “contacto” de este blog.

PGS-2: Construir un panel de control
Etiquetado en:

Deja una respuesta

Tu dirección de correo electrónico no será publicada.