La cueva de Batman. Presentación

El cuarto proyecto consiste en una “urna” donde se ubicará un maniquí con un traje a tamaño real del “Caballero Oscuro”, la versión de Batman de la trilogía cinematográfica de Cristopher Nolan. El traje se confeccionó como incursión cosplay en el año 2019, y estaba ocupando sitio en un armario de la casa. Digamos que la operación “salir del armario” de Batman era una necesidad física.

La fase 1 consiste en crear la urna que proteja el traje del entorno agresivo del taller y que sea parte del efecto. La fase 2 consiste en crear un espectáculo de luz y sonido basado en Arduino y una tira Neopixel de 360 leds y focos DMX. La fase 3 tratará de implementar un modelo animatrónico donde al menos se muevan los pinchos del guantelete, los ojos y la boca, y probablemente un brazo.

El modelo mental que perseguimos en la “urna” se basa en el soporte del traje que aparece en la segunda película del Caballero Oscuro, básicamente una estructura de hormigón. Lógicamente tendremos que usar plástico transparente para que sea una urna protectora y no podremos usar hormigón real como base de la estructura, pero esta imagen sirve de inspiración:

Mi hijo quiere que el proyecto se quede en la fase 1, ya que esto significa que yo soy Bruce Wayne, y tengo el traje disponible en la Batcueva. No es malo el concepto. En el momento que le ponga animación de luces y sonido en la fase2, pasará a ser un muñeco animado, no un traje de batman. Es curioso que ese “problema” ya lo identifiqué en su momento, pero es algo que poca gente percibiría. Mi hijo tiene “olfato”. Yo creo que la fase 2 va a ser espectacular, por lo que hay que ir a por ella. Después se alegrará.

La cueva de Batman. Construcción. Maniquí

El soporte del traje se basa en un maniquí, que lo trinqué por wallapop lo más barato que pude (30€). Era negro, lo cual es muy bueno y de 1,90 de estatura, lo cual era perfecto para Batman, pero como el modelo del traje soy yo (1,78m) podía resultar un poco alto. Al final no ha habido ningún problema con la adaptación del traje.

Su precio era inferior a lo que suelen costar los maniquies porque le faltaban los brazos, así que hay que fabricárselos.

La postura no es neutra, tiene una pierna avanzadilla, con un aire un poco blandenguito, pero es lo que hay.

El flequillo del sujeto también es incompatible con la máscara de Batman, por lo que hay que pasarlo por la peluquería.

Vamos a ello.

Caballero, tome asiento en la peluquería “El serrucho”:

“No se mueva, le vaya a cortar en la oreja”
“Ha quedado fresquito, a lo Cristiano Ronaldo”

Solucionar la amputación de los brazos parecía más complicado. Primero, fijé unas piezas de madera con unos tornillos a los hombros del maniquí. Sobre ese soporte, fijé dos alambres gruesos que finalizaban en dos tacos de madera simulando la articulación del codo y de la muñeca.

Para las manos tuve que hacer un “molde” con mi mano en papel y usar un alambre con “relleno” de espuma para generar una mano. La ventaja de usar alambre es que se puede modificar la posición de cada dedo para generar cualquier postura.

La fijación de las manos la hice con un taco de madera que simula la muñeca con unas piezas de metal que permite atornillar los 4 alambres (dos de las manos y dos de los brazo).

Reto conseguido.

La cueva de Batman. Construcción. Urna

La fase 1 del proyecto “La cueva de Batman” consiste en fabricar una urna protectora del traje de Cosplay inspirado en la trilogía del Batman del “Caballero Oscuro” de Nolan que realicé en 2019.

La base de fabricación es una estantería metálica, utilizando 4 perfiles y 2 baldas de 100x50cm. Los perfiles sólo hay 2 medidas, 2m (corto) y 2,5m (un poco alto), por lo que la estantería tiene 2m dedicados a “exposición”, 20cm por abajo a modo de pedestal y 30cm por arriba para ubicar la parte futura de electrónica (altavoces, arduino, etc.).

Sobre la estructura se fijan los paneles de policarbonato transparente de 2x1m y 2×0,5m, haciendo agujeros a la distancia adecuada para fijar los tornillos. Es mejor hacer los agujeros apoyando el policarbonato contra una madera, para evitar el efecto golpe final con el taladro, que puede llegar a partirlo. Conviene no quitar los plásticos protectores:

Una cosa que parece simple, pero que es jodida, es la forma de atornillar toda la estructura cuando tiene que cerrarse por los 4 lados. Además, cuando no tienes ayuda para realizarlo. Se me ocurrió pegar cinta americana por un lado mientras atornillaba por el otro, y funcionó:

Para poder acceder al Batman le puse en el lateral una bisagras que permitieran hacer de puerta lateral. En el techo puse una balda de madera, porque ahí se va a alojar la electrónica (luces, altavoces, transformador, arduino, etc.) de la segunda fase.

Una estantería con vinilos transparentes parece bastante cutre como armario secreto de la cueva de Batman. Por eso hay que vestirlo con algún tipo de recubrimiento. Como en la película de Batman (en la segunda) el traje está en una estructura de hormigón, que le da sensación de brutalistmo, la idea es recubrir la parte de arriba y abajo con unos paneles de DM recubiertos con un papel pintando imitando el hormigón. Las “columnas” son angulos de pvc de 4×4 recubiertos con el papel pintado.

Y aquí una foto de la urna casi terminada. Sólo hacen falta unos retoques y hacerle una sesión fotográfica batmaniaca. En directo impresiona.

La mazmorra de Igor (Personalizando la puerta del taller)

Casi no llega a la altura de “proyecto” porque no lleva Arduino, pero encaja en eso de “trabajo rápido + grandes resultados” y profundiza en las posibilidades de los “trampantojos”. Básicamente consiste en comprar y pegar unos vinilos para la puerta del taller.

Hay múltiples opciones donde elegir en Amazon y Aliexpress:

Las 3 últimas opciones son posibles fotos que se podrían imprimir en la tienda de abajo. creo que saldría por el mismo precio, lo que abre un mundo creativo de posibilidades chulas.

Las opciones ganadoras junto a mi primo han sido la “puerta metálica” (amazon) y por dentro el “Han Solo en Carbonita” (Aliexpress, todavía esperando que llegue). La fijación del vinilo no es difícil, viene dividido en dos partes y permite despegar y volver a pegar. Hay que tener cuidado con las dichosas burbujas y las arrugas, aunque con un poco de paciencia se consiguen buenos resultados.

Como siempre, hay que darle un toque personal. En este caso mi primo ha ideado un ventanuco con cerrojo, para crear la ilusión de mirar dentro del taller, que he fabricado con unos paneles de MDF y un acabado con témpera plata y betún de judea, junto con unas chinchetas.

El efecto al abrir el ventanuco era inicialmente ver a un batman, pero ha mejorado con la propuesta de mi primo de usar la potente mirada de Igor homenaje a la película “El Jovencito Frankestein”.

El taller está siempre en continua transformación desde “La Batcueva”, pasando por el taller del “Juguetero de Blade Runner” hasta “La Mazmorra de Igor”. Mi hijo dice que el taller parece un parque temático, no anda desencaminado.

Actualización: Por fin llegó el “Han Sólo en Carbonita” para la parte interior de la puerta y ha quedado muy chulo, aunque de cerca le falta resolución, un poco lejos da el pego total. Así no está sólo el RD2-D2, el mundo friki sigue en expansión:

Increíblemente, incluso en esta tontería se cumple mi teoría de los 3 planos: el plano de diseño (“vamos a decorar la puerta, con múltiples opciones”), el plano de ejecución (“dónde compro el vinilo, cómo se pega, cómo se fabrica un ventanuco”) y el plano de personalidad o historia (“Es la mazmorra de Igor, que está detrás de la puerta”).

Presentación de TELEKING, el “Pollo Automatemático”

“TELEKING” –el Pollo Automatemático-bisnieto del artimómetro electromecánico de D. Leonardo Torres Quevedo– es una marioneta robótica basada en Arduino que figura un pollo enjaulado de estilo Steampunk . Como los mejores espectáculos de finales del siglo XIX, puede responder a las preguntas de cualquier persona del público sobre la tabla de multiplicar, así como amenizar la velada con bailes y chistes.

Teleking rinde homenaje al insigne inventor español Leonardo Torres Quevedo, que fabricó hace más un siglo varias precursores de ordenadores y robots ajedrecistas, así como el TELEKINO (un autómata gestionado remotamente) y el ARITMÓMETRO ELECTROMECÁNICO.

La marioneta-robótica puede mover las patas, la boca, la cabeza, bailar, hablar, cantar.. incluso sabe multiplicar!!!, de ahí el sobrenombre de “automatemático”.

Funciona autónomamente con una inteligencia casi-artificial o también se controla con un mando de Playstation, renovando la experiencia marionetista en el siglo XXI. Como diría el Doctor Frankenstein: ¡ESTA VIVA!

Puedes ver más videos en el canal de Youtube de Teleking

Teleking. Construcción I –

ACTUALIZACION: Hemos publicado a Teleking en Instructables, la web de los makers!.

Puedes ver la publicación aquí

A continuación trataré de explicar cómo construir la marioneta “TELEKING” – el Pollo Automatemático-bisnieto del artimómetro electromecánico de D. Leonardo Torres Quevedo- es una marioneta robótica basada en Arduino que figura un pollo enjaulado de estilo Steampunk . Como los mejores espectáculos de finales del siglo XIX, puede responder a las preguntas de cualquier persona del público sobre la tabla de multiplicar, así como amenizar la velada con bailes y chistes.

Algunos pasos de construcción están resumidos y también supongo que la persona que quiera fabricar algo parecido debe tener ya ciertos conocimientos sobre arduino y algunas dotes para el bricolaje. Las medidas de los elementos tampoco las detallo porque entiendo que si alguien quiere hacer algo similar debe tomar sus propias decisiones de construcción.

El objetivo es fabricar una marioneta tipo “pollo” , que es una de las más simpáticas a la vez que simples de construir y manejar. La idea es controlarla mediante servomotores que fijamos en “techo” de una estructura que, como se trata de un pollo, podríamos simular que forman parte de una jaula.

Lógicamente, el pollo no puede andar, solo moverse de forma estática, por lo que estar encerrado en una “jaula” tiene mucho sentido. Para esconder la electrónica y los motores, el techo es una caja fabricada con cuatro listones de madera y una tapa con bisagras para facilitar el acceso a la electrónica y los ajustes mecánicos.

MECÁNICA

Los servomotores mueven diferentes poleas que al girar suben el hilo de cada articulación: cabeza vertical, pata izquierda, pata derecha, más otro servomotor para el movimiento lateral de la cabeza. Básicamente se trata de una “grúa” controlada por dos servos y otros dos servos para levantar las patas.

Al principio pensé en un motor adicional para subir y bajar el cuerpo, pero la sincronización de todos los servos en ese movimiento no creo que compense el esfuerzo para el efecto conseguido. De forma que la marioneta cuelga de un hilo central fijo sujetado al techo.

El material elegido para fijar los servos y las poleas es un panel de madera fino (chapón) que permite facilidad de fijación de los elementos y de corte, a la vez que ofrece suficiente firmeza. Es necesario hacer un hueco con forma semicircular para que los hilos de la “grúa” se puedan mover hacia los lados. El brazo de la grúa está construido con una pequeña canaleta de plástico de las que se usan para fijar los cables eléctricos a la pared.

Primero se fija la polea con un clavo y se mide
Se fija un engranaje al servo
se corta con segueta permitiendo la fijación del servo
se coloca una fijacion para el soporte metálico
Detalle de una polea de pata terminada

Tuve dificultades para encontrar “poleas” pequeñas que pudieran servir para enrollar cada hilo, por lo que he usado ruedas de juguete sin los “neumáticos”, unidos a engranajes de plástico. Los servos tienen engranajes que hacen la función de piñones para transmitir el movimiento. Al principio pensaba colocar las poleas directamente en los servos, pero necesitamos más giro que los 180º de un servo.

Por el tipo de movimiento idóneo para mover una polea se podrían utilizar motores paso a paso que permiten un giro continuo sin estar limitado a 180º, pero tengo entendido que su control es bastante complejo y hay que entender que la sincronización posterior de todos los motores es un reto importante. Poner un servo en el ángulo 37 es muy simple. Controlar la realimentación de 5 motores paso a paso supongo que es bastante más complejo, pero no lo se, es la primera vez que uso un motor con arduino.

La polea roja para la cabeza vertical es más grande, permite más recorrido para el movimiento de cabeza a mayor velocidad. Dado que los motores ejercen mucha presión sobre las poleas, es necesario añadir una chapa de metal que sirva de soporte superior de las poleas, y además, hace las veces de guías para los hilos. Quizás las poleas sean la parte que más esfuerzo ha costado del proyecto, lo ideal es encontrar poleas que sean más grandes sobre todo en la parte de enrollamiento del hilo y eviten que los hilos se salgan con relativa facilidad si hay desajustes.

MECÁNICA – LA BOCA

La marioneta está bastante limitada, por lo que decidí añadir más expresividad: el movimiento de la boca. Aquí estaba ante un reto, porque es necesario sincronizar el movimiento del hilo de la boca con el de la cabeza. Pensaba que no iba a funcionar, pero resultó que funcionó prácticamente a la primera, la suerte del novato. La cabeza está fabricada con una pelota de pingpong, donde se fija un “pico” construido con el plástico de una botella de leche, que permite darle forma si aplicamos aire caliente con una pistola de calor y que una vez enfriado, mantiene la forma aplicada con rigidez. La parte inferior del pico es un “balancín”, con el eje en un par de alfileres. El balancín tiene un contrapeso detrás, de forma que si tiramos del hilo hacia arriba, la boca se abre y al soltar el hilo se cierra por efecto del contrapeso (tuerca). Es necesario que la cabeza tenga también un peso adicional para que la gravedad “tire” hacia abajo de la cabeza al tirar hacia arriba del hilo de la boca.

Los dos hilos de la cabeza deben estar sincronizados, porque cuando la cabeza se mueve, el hilo de la boca debe moverse a la vez. La boca se abre cuando el hilo de la boca “tira” un poco más que el hilo de la cabeza. La sincronización de los dos hilos podría hacerse con poleas por separado, pero también funciona con los dos hilos que se enrollan en la misma polea y un quinto servomotor independiente que al girar “amplía” el camino del hilo de la boca cuando queremos abrirla.

Los hilos de la cabeza y la boca lo ideal es que estén lo más separados posible durante su recorrido desde la polea hasta la cabeza, por lo que fijé una pequeña rueda en el extremo del brazo de la grúa para que el hilo de la cabeza vaya separado del hilo de la boca, además de usar distintos agujeros de las chapas metálicas que hacen de guías.

Hay que realizar ajustes finos para que todo funcione y calibrar la longitud de los hilos con cuidado, quizás la parte que requiere más esfuerzo “marionetista”. Como los hilos son sedales de pesca, tienden a resbalarse cuando se anudan, dificultando la precisión del proceso. La solución que mejora ha resultado ha sido emplear el interior de una clema eléctrica pequeña para atrapar el hilo con un destornillador.

CONSTRUCCION DE LA MARIONETA

Todas las marionetas deben tener personalidad. En nuestro caso, seleccionamos un estilo de pollo SteamPunk, porque la marioneta rinde homenaje al gran inventor español de finales del siglo XIX y principios del XX, D. Leonardo Torres Quevedo, que fue precursor de ordenadores (aritmómetro electromecánico), de un autómata controlado remotamente (telekino), e incluso de un robot que jugaba al ajedrez.

Mi hijo Mario, ayudante meritorio en el proceso de creación fue el que le dio el nombre definitivo: Teleking (¿o Telekin?), que enlaza con el telekino y con nuestro nombre de guerra: Telekomor. El prototipo inicial tenía el cuerpo de lana, pero finalmente usé una bola de polispan a la que pegamos unas plumas y unos engranajes metálicos de decoración.

Para la cabeza la idea era usar un sombrero steampunk fabricado con goma eva y unas gafitas de alambre. El reto era fijarlo pero que a su vez se pudiera desmontar, porque todos los elementos del proyecto deben ser fácilmente desmontables para poderse ajustar o modificar con facilidad. La cabeza de pinpong está cortada y debe poder abrise. Al final la solución es un tubo fijado a unos soportes de plástico (de nuevo, usando un trozo de botella de leche, que gran material!) que permite el movimiento de los hilos y la fijación de la peluca y el sombrero.

Detale dela cabeza
Usamos fieltro en otra bola de pingpong y ojos
La peluca final es más pequeña y amarilla
Pequeños velcros sirven para fijar la cara amarilla

La jaula también debe estar decorada como un mueble viejo, para ello usamos barniz oscuro, aunque lo aplicamos un poco rápido. Se trata de cuatro palos y un panel de chapon con bisagras. La verdad que no nos hemos esmerado mucho, pero al fin y al cabo se trata de una jaula rústica, no un mueble rococó.

Por último, el cartel anunciador sobre la tapa está basado en un anuncio vintage de Apple de los años 70, que encaja muy bien con el espíritu de principios del siglo pasado donde se ubica la estética Steampunk.

ELECTRÓNICA

La electrónica se basa en una placa arduino Nano, conectada a los 5 servomotores, con un componente para disparar los sonidos en el altavoz y unas entradas de jostick y mando IR. En realidad es muy simple.

Los servomotores deben alimentarse con una fuente de alimentación lo suficientemente potente. Al principio las pruebas las hice con una pila y fue un desastre, los servos parecían unos motores vagos y maleantes. De los servos hay mucha información en Internet, sólo comentar que usamos la librería “VarSpeedServo” que permite modificar la velocidad de los servos y su control de forma asíncrona.

Muy importante poner un condensador de al menos 100micro faradios entre Vcc y Gnd, ya que los servomotores introducen inestabilidad en la corriente y provocaban reinicios en el Arduino y creo que llegaron a quemar alguno.

También controlamos por serie un circuito DFPlayer mini conectado a unos altavoces que permite reproducir canciones, mensajes o frases grabadas para darle voz a la marioneta. De esta forma la marioneta puede moverse y hablar de forma autónoma. No hay que olvidar la resistencia de 100k en el puerto serie o los resultados son inciertos.

Para el prototipado he usado una placa motherboard, después he optado por usar una placa PCB para soldar los conectores de la alimentación y de los servomotores, el módulo DFPlayer mini, así como condensador y resistencias. En lugar de soldar el Arduino, he optado por usar una “chaqueta” que permite atornillar los cables, lo que facilita la manipulación posterior.

CONTROL MANUAL

Como estamos fabricando una marioneta es imprescindible introducir la posibilidad de un control humano manual en tiempo real. He utilizado dos métodos de entrada de forma simultánea: Por un lado, un circuito de comunicación por infrarrojos, que permite introducir comandos con un pequeño mando a distancia, y por otro lado, un jostick modificado de playstation que se conecta por cable.

Al principio había pensado usar una conexión bluetooth y un móvil como herramienta de control, incluso desarrollando una aplicación que use el cinemómetro del móvil para simular el movimiento de una “cruceta” tradicional. Pero creo que es un esfuerzo elevado y los métodos de control que he usado han sido simples y satisfactorios.

El jostick tipo playstation es muy sugerente, es una especie de conexión del mundo actual del videojuego con el mundo tradicional de las marionetas. Aquí también hubiese podido usar un mando bluetooth, pero creo que no merece la pena tanta sofisticación, lo dejamos para una versión posterior.

Para el mando he usado dos jostick analógicos (resistencias de 10K) unidos a un chapón (por supuesto) y con un cable serie que se conecta en la parte trasera de la caja para transmitir las 7 señales de control (Jos_x1, Jos_x2, Jos_y1, Jos_y2, botón, Vcc y GND). El jostick de la izquierda (1) mueve la cabeza arriba/abajo e izquieda/derecha y el jostick de la derecha (2) mueve la pata izquierda, pata derecha y la boca al pulsarse hacia adentro.

El control mediante mando a distancia infrarrojo se basa en un receptor discretamente ubicado en la parte de abajo del techo y un mando a distancia númerico barato del chino. Permite mover con los cursores la cabeza y subir las patas. Para lanzar las coreografías hay que seleccionar el número correspondiente de cada una y pulsar el botón ok para reproducirla.

SPOILER: El control mediante el mando a distancia de infrarrojos es discreto, permite lanzar comandos sin que la gente lo perciba, por ejemplo para que la marioneta responda ante la pregunta de una persona sobre la tabla de multiplicar, funciona de forma “mágica” o como yo digo con “inteligencia casi-artificial”. Al pulsar dos números se leen ambos valores, se multiplican y se reproduce la secuencia de voz de multiplicación (“tres por cinco son quince”), es decir, teleking puede recitar toda la tabla de multiplicar. Bueno, alguien podría pensar que es un truco mentirosillo, pero es que al fin y al cabo una marioneta siempre debe tener una persona detrás que le aporte vida.

HABLAR Y CANTAR

Teleking puede hablar y cantar moviendo la boca, pero es necesario que reproduzca sonidos, claro. La forma de hacerlo es utilizando un módulo para arduino reproductor de MP3 llamado DF-Player. Es un módulo barato, unos pocos euros, y conectado mediante una resistencia al puerto serie, permite enviarle comandos que reproducen ficheros mp3 de una memoria SD. Su programación no es difícil y las posibilidades que le ofrece a arduino son infinitas. Los ficheros se organizan en carpetas y se nombran comenzando con un número (001, 002, 003…). El sonido se reproduce conectando un altavoz a la salida de audio, pero aunque se escucha, el ruido de los servomotores es elevado, por lo que he decidido usar la salida de audio del DF-Player como entrada auxilar de un altavoz portátil con batería de 10W.

Para generar los sonidos he utilizado el software libre AUDACITY, que permite grabar frases o modificar canciones. Además, permite modificar las canciones y añadirles la voz de Teleking, y encima sin pagar un euro. Que caña el software libre.

Tiene una función muy útil dentro de “efectos” que es “cambiar tono”, que permite modificar las voces a tipo más agudo, es decir, “apitufarlas”. De esta forma podemos habar o cantar normalmente, y al procesarlo como 5 notas más alto, conseguimos el efecto “pollo”.

PROGRAMACIÓN

El código arduino de Teleking está siempre en construcción, aquí comentaré las funciones principales. comentar que utilizo la librería “VarSpeedServoI” que permite un control asíncrono y con distintas velocidades para cada servo. Controlar los motores con el jostick es algo bastante trivial, hay multitud de información en Internet. Para el mando a distancia IR he utilizado la librería “TinyIRReceiver”, fácil de implementar.

Pero el reto más importante era la programación de las “coreografías”. Teleking debía cantar y bailar, lo que significa la programación de decenas o centenares de posiciones de 5 servomotores sincronizadas con la música. La primera aproximación fue sincronizando los servos “a mano”, con la canción de MC-HUMMER. El resultado es simpático, pero el esfuerzo de sincronización en base a cuenta de milisegundos (millis) es descomunal.

Más videos en el canal de youtube de Teleking

Una canción tiene un ritmo, es decir, unos BPM (beat per minute). Una forma de simplificar el movimiento es sincronizar los movimientos de teleking con esos golpes del compás. No tiene sentido hacer una coreografía que los movimientos no sean rítmicos, fuera del compás.

Con la librería “MsTimer2.h” generamos una interrupción en cada BPM que incrementa el compás. Si el compás ha aumentado, leemos la variable de un array que almacena la posición de cada motor para ese instante. Así que para crear la coreografía, lo que hay que hacer es una tabla con excell donde se ubican cada servo en cada inicio de cada compás. Puede parecer también muy complejo, pero es una forma mucho más simple de imaginar y programar los movimientos.

De la hoja excel exportamos un fichero .csv que se convierte de forma muy simple en una variable array dentro del código de arduino, cambiado , por ; y añadiendo {}.

int partiture1 [ ] [maxcompas]

{

{100,100,100,100,100,100,100,100},

{30,30,30,90,30,30,90,90},

{0,0,45,0,45,0,45,0},

{0,0,45,45,0,45,0,0},

{100,130,100,130,130,130,130,100},

};

...

...

 if (compas != previus_compas){ // interrupt increment compas

    servo1.write(partiture1[0][compas], head_lat_vel, false); // Head_lateral_servo

    servo2.write(partiture1[1][compas], head_ver_vel, false); // Head_vertival_servo

    servo3.write(partiture1[2][compas], left_leg_vel, false); // Left_leg_servo

    servo4.write(partiture1[3][compas], right_leg_vel, false); // Right_leg_servo

    servo5.write(partiture1[4][compas], mouth_vel, false); // Mouth_servo

CONCLUSIONES

Esta es la primera marioneta robot que he hecho. Si tengo que resumir este proyecto, creo que el viaje ha sido muy satisfactorio. ¡A veces frustrante, muchas veces emocionante! . La ejecución de la idea original ha superado las expectativas. El proyecto ha sido muy creativo tanto físicamente (marioneta) como abstracto (diseño, programación).

Quería hacer un robot original con mi hijo, además de seguir las instrucciones de otra persona. Supongo que existe, pero no he encontrado ninguna información sobre marionetas robóticas en Internet, solo material animatrónico, que no es exactamente lo mismo. Todo este instructable nació de mi mente retorcida. Quizás puedas seguir el camino: ¿Un curso de Teleking? ¿Un títere robótico pianista? (tengo un diseño primario).

Ahora queda trabajar para que Teleking tenga vida propia … oh, mierda, … ¡ESTÁ VIVO!

R2-D2 VACUUM. Construcción.

Este es un proyecto “express”. El objetivo es “transformar” (skin)  una aspiradora Einhell (modelo TC-VC 1820)  en un R2-D2 de manera fácil y rápida. 

También publicado en instructables: https://www.instructables.com/r2-d2-vacuum/

ATENCION: Si sigues estas instrucciones, no me hago responsable de la pérdida de garantía del aspirador ni de ningún problema de seguridad que puede suponer este tipo de modificación. Todo lo debes hacer bajo tu responsabilidad. Yo sólo te cuento lo que he hecho con mi aspiradora por mi cuenta y riesgo.

  1. La base del proyecto es un papercraft que puedes obtener aquí (pag1): https://www.papercraftplaza.com/r2d2/
  • La idea es imprimir la primera hoja del papercraft en un vinilo adhesivo y pegarlo al aspirador. Para ello, he ido a una tienda de impresión y he pedido que impriman la hoja (A4) en un tamaño a escala. Esta tienda está en los bajos de mi edificio, y ha funcionado genial. Por 16€ tenía un vinilo de casi metro y medio. La escala de impresión la calculamos midiendo la altura del aspirador (parte metálica), 30cm y haciendo una regla de 3 con el ancho de un A4. Es decir, imprimir el A4 en un tamaño  141,4 x 100 cm. De esta forma puedes calcular el tamaño de impresión si tu aspiradora es diferente.
  • Para conseguir que la aspiradora tenga forma esférica en la cabeza, he quitado el asa y he usado un balón de baloncesto de la mayor talla posible (7). Lo he cortado por la mitad y he unido ambas partes para que tengan consistencia. He recortado la forma de la toma de aire y del cable de corriente. Es un poco más pequeño de lo necesario, se podría hacer una semiesfera con una pelota más grande y papel maché, pero ya no sería un proyecto express.

La fijación del vinilo me resultó más difícil de lo que pensaba: arrugas, bolsas, desalineamientos… cuando acabé, el R2-D2 era un casi churro.

Así que decidí implementar una versión tipo “sucia” del R2-D2, simulando óxido y suciedad con “betún de judea”. Creo que el efecto oxidado o viejuno le pega mucho al concepto robot aspiradora, a la vez que disimula todas las imperfecciones.

Una vez abierto el melón vintage, se pueden añadir más efectos de óxido, placas electrónicas, simulación de reparaciones, etc.

No se si hemos conseguido la transformación o más bien hemos hecho un traje de Halloween para la Einhell, jajajaja. Muy probablemente se puede mejorar el acabado final con más cuidado al fijar el vinilo usando agua o bien añadiendo las patas, pero ya no sería un proyecto “express”.

La segunda fase de este proyecto consiste construir con arduino los circuitos de luz y sonido propios de R2-D2, y mejorar la cabeza, en concreto, usando una ensaladera de acero de IKEA (5€) que tiene una pintaza estupenda como base, aunque implica la dificultad de cortarla para la toma de aire y el cable eléctrico. El arduino tendrá un sensor de movimiento (tilt) para que cuando tiremos del cable haga el típico ruido de “grito” R2-D2 dotando al “robot” de interactividad. De momento, aparcamos esta fase.

Como siempre en nuestros proyectos, es necesario dotarlo de una “historia” (el tercer plano): El droide es una vieja unidad de combate modelo R2-D2 veterano de las Guerras Clones que, tras una apuesta en el bar de Instructables, ha acabado sus días aspirando el polvo de un taller clandestino en un remoto rincón de la Galaxia.

Pero lleva escondido un secreto en su interior que puede que cambie el curso de la historia…

El espejo mágico. Presentación

Mientras trabajaba en el primer proyecto del Espejo de Halloween o Maldito, la imaginación comienza a volar. Se me ocurrían alternativas, como por ejemplo, crear el efecto del “espejo mágico” del cuento de “Blancanieves y los 7 enanitos”. Para el que no sepa de que va esto, puede ver un fragmento en youtube.

Pero claro, el rollo espejo mágico de Disney era muy viejuno. Así que pensé en usar el mismo concepto, un espejo al que le preguntas “¿quién es la más guapa del reino?” y te responde, pero con un personaje más cercano (malagueño!!) y divertido: EL GRAN CHIQUITO DE LA CALZADA. Este espejo trata de rendirle un modesto homenaje a este humorista inmortal que cambió durante años la forma de hablar en todo el pais.

No puedor, fistro, pecadorrrr…. UN GRANDE INMORTAL

Con ustedes, el ESPEJO MÁGICO:

Como todo buen espejo mágico, debe invocarse para iniciarse: hay que chasquear los dedos tres veces, ni muy rápido ni muy lento, para despertar al mago del espejo.

El efecto de “hablar” se ¿consigue? con unos leds detrás de la boca, que se apagan de forma sincronizada con el audio. Los ojos también se encienden. Ha quedado un poco “kitsch” u hortera, pero se trata de tener un mago impactante.

Uno de los problemas de diseño consistía en eso de “la más GUAPA” que parece muy sexista en los tiempos que corren. ¿Por qué no preguntar por el MAS GUAPO del reino?. Pero ¿cómo resolver este problema aparentemente irresoluble de lenguaje sexista?. Pues lo primero es que el espejo te pregunta el nombre. Y como no le suele gustar, te lo cambia por otro, que puede ser de mujer o de hombre, de forma aleatoria. Así solucionamos el problema, por la vía del posible transexualismo.

Por último se realiza un sorteo que puede ser de feo/a o de guapo/a , de manera que cada vez que se invoca al espejo, el resultado puede ser distinto según la persona que pregunte. Diversión a raudales.

Para los que estén interesados en la parte técnica, tenemos otra entrada que explica los entresijos de la creación (en construcción).

El espejo maldito. Presentación

La idea de base consiste en usar un espejo de una cara, de forma que cuando se ilumina la parte de atrás mediante unos leds, el espejo deja pasar la luz. De esta forma se puede hacer el efecto de rotura con una cartulina.

“El Espejo Maldito” es el primer proyecto Arduino. El efecto buscado es una broma para Halloween. Consiste en un espejo aparentemente normal (en concreto, un espejo del IKEA), que cuando te acercas, comienza a hablarte para que te mires y se acaba rompiendo. La voz del espejo te recuerda que tienes 7 años de mala suerte mientras se ríe de tí… Cangüelo en el cuerpo.

Hay que añadirle un detector de presencia, para que se active cuando detecte una persona cerca, y un reproductor MP3 con un altavoz para la musiquilla con la voz y hacer el ruido de rotura.

Como anécdota comentar que la primera versión del espejo…se rompió de verdad, al caerse del soporte. Nada extraño, estaba mal construido. Aquí no somos supersticiosos, como bien sabe mi amigo Steve Wonder.

En otra entrada explico la forma de construcción paso a paso para los técnicos.

El Espejo Maldito. Construcción.

OBJETIVO: Construir un espejo de Halloween que detecte la presencia de una persona, reproduzca una música inquietante y una locución que invite a mirarse en el espejo y a continuación, se produzca la rotura del cristal. Por último, la voz recuerda a modo de maldición que la rotura del espejo implica 7 años de mala suerte y se ríe.

El efecto se logra mediante un espejo falso o un “semi-espejo”, que en nuestro caso se trata de un cuadro de cristal RIBBA del IKEA donde se pega un film semitransparente al cristal. Este tipo de espejo podría ser más rústico o inquietante ya que se trata de asustar. Pero creo que precisamente al ser un espejo moderno minimalista creo que causa más efecto.

Sobre el espejo hay que pegarle una cartulina que recorte la forma de “rotura” que queramos crear:

En la cartulina vamos a pegar los leds que provocaran el efecto de rotura y también le adherimos un film tipo metálico porque es necesario que los leds brillen lo más posible. De hecho, la primera versión tenía 3 “roturas” en lugar de 2, pero al repartir más los leds, el efecto era peor a la luz del día. La versión original de 3 roturas se quedó en el camino porque se veía menos:

Los leds los puse en salidas digitales en grupos de dos, con una resistencia de pull-down, en total uso 4 salidas, dos para simular la rotura de arriba y dos para la de abajo, con un total de 8 leds. Se podrían haber usado más incrementar la luz, porque de noche se aprecia bien, pero de día le falta un poco de intensidad, pero estaba cansado de soldar cables a los leds. Es un espejo para usarlo de noche, jejeje. Una cartulina separa ambas zonas para que no se mezcle la iluminación.

El efecto de rotura es fácil, consiste en encender los leds para que parezca que se ha producido una rotura, pero el sonido es lo que marca la diferencia. En este proyecto hemos utilizado un módulo MP3 que funciona fantástico. En concreto se trata del módulo DFPLAYER MINI MP3 que permite ejecutar sonidos de una tarjeta SD . Por 3€ tenemos un completo reproductor MP3 o WAV que lee ficheros de sonido de una tarjeta SD y los reproduce por un altavoz pequeño conectado directamente. Muy completo en funcionalidades, lo mejor es conectarlo al puerto serie con una resistencia (ojo) . Aquí un tutorial simple para utilizarlo. Merece la pena comprender su funcionamiento porque nos permite añadir la capacidad de generar todo tipo de frases, efectos sonidos y controlarlos desde Arduino con mucha facilidad en nuestros proyectos. En este proyecto utilizo el método de transmitirle un pulso desde Arduino al DF Player para que reproduzca el siguiente fichero, pero es mejor utilizar el puerto serie y direccionar el fichero de sonido deseado, es un método fácil y más potente.

Para los efectos de sonido he utilizado un par de roturas de cristal de una base de datos de efectos de sonido gratuítos, muy útiles para nuestros proyectos.

Y para la grabación de las frases “inquietantes” he utilizado un software de edición de sonido de licencia libre llamado AUDACITY . Merece también la pena aprender a usar la aplicación para entender cómo editar los sonidos para recortarlos, añadirle efectos tipo reverberación o mezclarlos con la música de fondo. En nuestro espejo hemos usado el tema principal de HALLOWEEN de John Carpenter, un clásico del cine de terror. Tiene derechos de autor, pero no creo que el bueno de John venga a casa a llevarse un susto con el ESPEJO MALDITO.

Aunque en la foto de arriba está alimentado con un powerbank, al final le he puesto una alimentación a pilas. También añadimos un interruptor en la parte trasera para evitar que el espejo esté siempre en funcionamiento.

El sensor de movimiento he utilizado un módulo SENSOR-PIR pequeño, mucho mejor que los sensores que había usado hasta ese momento, más discreto.

El marco de Ikea está diseñado para que la parte de atrás no esté separada del cristal, pero se puede hacer el apaño. Básicamente he atornillado en las esquinas aprovechando de las guías de metal del espejo tenían unos agujeros. Ha sido un poco trabajoso, pero ha funcionado.

Respecto a la programación de arduino es simple, ya que se trata de esperar 30segundos desde que se conecta la alimentación, detectar el movimiento en el sensor de proximidad, iniciar el sonido de “acercate al espejo”, a continuación la iluminación de la parte de arriba sincronizada con el efecto de rotura y lo mismo con la de abajo y por último el mensaje de la maldición de 7 años de mala suerte y el apagado del conjunto.

Adjunto el código del sketch de Arduino, muy sencillito:

//PROYECTO ESPEJO HALLOWEEN v1.3

int sensorpir = 2;
int led_a1 = 7;
int led_a2 = 3;
int led_b1 = 4;
int led_b2 = 5;
int sonido = 6;
int pausa_inicio = 30000; //Pausa antes de empezar
int pausa_ab = 1000; //Pausa entre zonas de rotura
int pausa_fin = 20000; // Pausa antes de apagarse
int long duracion = 0;
int long inicio = 0;
int long pulso = 0;

void setup()
{
//Asignamos las entradas y salidas
pinMode(sensorpir,INPUT);
pinMode(sonido,OUTPUT);
pinMode(led_a1,OUTPUT);
pinMode(led_a2,OUTPUT);
pinMode(led_b1,OUTPUT);
pinMode(led_b2,OUTPUT);
//Asignamos el estado inicial de entradas y salidas
digitalWrite(led_a1, LOW);
digitalWrite(led_a2, LOW);
digitalWrite(led_b1, LOW);
digitalWrite(led_b2, LOW);
digitalWrite(sonido, HIGH);
digitalWrite(sensorpir, LOW);
delay(pausa_inicio);
inicio = millis();
pulso = millis();
}

void loop()
{
if (digitalRead(sensorpir) == HIGH){
pulso = millis();
}
else
{
inicio = millis();
}
duracion = pulso – inicio;
if(duracion > 3000) //Cuando el sensor detecte algun movimiento mayor de dos segundos se inicia la secuencia de iluminación y sonido
{
digitalWrite(sonido, LOW); // Se crea un pulso para que EF Player ejecute el efecto de sonido “Mirate en el espejo”
delay(200);
digitalWrite(sonido, HIGH); //
delay(15000); //tiempo de la narración “mirate en el espejo” menos 3 segundos
digitalWrite(sonido, LOW); // Se crea un pulso para que EF Player ejecute sonido de rotura de la primera zona de rotura
delay(200);
digitalWrite(sonido, HIGH);
delay(300); // espera para sincronizar con los leds
digitalWrite(led_a1, HIGH);
digitalWrite(led_a2, HIGH);
delay(pausa_ab); // Se espera antes de iniciar la segunda zona de rotura
digitalWrite(sonido, LOW);
delay(200);
digitalWrite(sonido,HIGH);
digitalWrite(led_b1, HIGH);
digitalWrite(led_b2, HIGH);
delay(3000);
digitalWrite(sonido, LOW); //se crea un pulso para que EF Player ejecute efecto sonido “Siete años de mala suerte”
delay(200);
digitalWrite(sonido,HIGH);
delay(pausa_fin);
digitalWrite(led_a1, LOW);
digitalWrite(led_a2, LOW);
digitalWrite(led_b1, LOW);
digitalWrite(led_b2, LOW);
pulso = millis();
inicio = millis();
delay(pausa_inicio);
}

}