Construyendo R4-E18 (3)

Tal y como comentaba en mi post inicial, quiero usar mi sistema SHADOW+MD actual para poder controlar las luces del dome R4. Es decir, poder encender y apagar holo, cambiar su color, parpadeos, secuencias de luces frontales y traseras y luz RGB tarsera. Todo ello sin tener que cambiar la programación del droide. Una especie de “plu&play”. Cambio la cabeza, la trajeta SD con los sonidos, y todo debe funcionar sin ningún cambio más.

Para hacer todo esto necesitaba que la cabeza de esta unidad llevara una placa Marcduino, y mediante una programación en una placa arduino auxiliar, trascribir la información que le llega desde la placa marcduino al código que entiende la placa del periscopio del sistema R2-Net, que como dije en mi entrada anterior, es la que he usado para gestionar estas luces.

Como veis, es una conexión sencilla. Voy a intentar explicar un poco como funciona.

La máster de la Marcduino se conecta de la forma normal, es decir, del PC4 sacamos conexión al MP3 Trigger y del RXD a la Mega ADK con el sistema Shadow+MD, o a la Wifi XBee si usas el sistema MarcDuino puro. (Yo tengo al versión 1 del software MarcDuino). Vamos, las conexiones normales de esta placa, que os recuerdo, podéis ver aquí.

El pin PC0, (que es donde conectaríamos la placa Slave normalmente), lo conectamos al puerto receptor serie (RX-0) de una arduino. En la imagen he usado una arduino uno, pero puede ser cualquiera que tenga un puerto serie.

El TX-1 de la Arduino lo conectamos al conversor MAX-485. Esto es necesario ya que la placa de la luces usa este modo de comunicación.

La placa Roja, que como comenté más arriba está diseñada por nuestro compi Xor (Julio) para ser usada en el periscopio de R2, es la que tiene toda la lógica de las luces. Permite encender y apagar las luces, cambiar el color de los RGB, así como la secuencias de luces frontales y traseras. Con la programación que trae puedes incluso hacer parpadeos o desvanecimiento/encendido progresivo de los RGB. Las 3 luces que uso en la placas laterales simplemente parpadean si la placa está encendida.

¿Como funciona todo esto? Pues bien lo primero es leer y entender esto: https://www.curiousmarc.com/r2-d2/marcduino-system/marcduino-software-reference/marcduino-command-reference

Allí tenemos el formato de comandos que entiende la MarcDuino y qué datos se pasan a la placa slave. Dado que MarcDuino trabaja con una conexión serie estándar, podemos leer el comando que expulsaría a esa placa slave, que en nuestro caso leería la arduino, y que según lo que llegue mandaríamos la secuencia o que color de luces queremos usar.

La placa de las luces usa un sistema de comunicación de 9 bytes, dónde podemos indicar cierta cantidad de cosas. Por ejemplo:

Cambio de color de los RGB (9 bytes)

Byte 1 = 64 – Cabecera
Byte 2 = 76 – Comando ascii “L”
Byte 3 = 7 – Unidad (nodo R2-Net)
Byte 4 = 0 – Comando todos (0 – 1)
Byte 5 = 100 – Color R rojo (de 0 a 255)
Byte 6 = 100 – Color G verde (de 0 a 255)
Byte 7 = 100 – Color B azul (de 0 a 255)
Byte 8 = 100 – Color blanco (de 0 a 255, si este valor es mayor que 0 tomara este y descartara los de RGB)
Byte 9 = 13 – Fin de la trama

Os pongo un ejemplo completo. Imaginemos que queremos que cuando suene la marcha imperial, pongamos los leds del RGB a rojo.

En la Arduino leemos datos que le llegan desde la placa master. Si leemos el comando @0T11 (Este es el código de la secuencia “marcha imperial”, tal y como podemos ver en la página que Command Reference que os he puesto antes) entonces mandamos por el puerto serie de la Arduino el código: 64|76|7|0|255|0|0|0|13. (Las | son sólo para indicar los 9 bytes, no se deben mandar.) Con esto los leds se pondrán en rojo para hacer juego con esa música imperial.

Existen más tipos de configuraciones en la placa de luces. Este es sólo un ejemplo de lo que se puede hacer.

Una última cosa. Es importante que conectéis los pines RE y DE del conversor MAX485a a +5v para ponerla en modo transmisor.

Espero que haya quedado más o menos claro. Millones de gracias al compi Julio por curarse esta placa y todo el sistema R2-net. Para más info sobre todo este sistema pionero en el mundo, entrad en el foro de mi club de constructores: Astromech Spain.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Blog de WordPress.com.

Subir ↑

A %d blogueros les gusta esto: