El noviembre pasado le regalé a Maria una cajita de luz para iluminar la habitación [1]. Estoy contento del resultado, pero se puede mejorar tanto en la parte de construcción de la cajita, como en la parte de la electrónica (un timer 555 que hace apagar la luz después de 20 minutos).

Aquí va el script cncboxparam para automatizar la creación de cajitas (con un texto en la cara frontal). Genera un fichero que se puede enviar directamente a una máquina de corte láser. La idea que me persigue desde hace tiempo es hacer este tipo de cajitas minimizando los costes y el tiempo. Sería una prueba de concepto de diseo industrial y fabricación digital, ver hasta qué punto con pocos recursos se puede automatizar hasta hacer rendible un pequeo proceso industrial. El curso que viene me gustaría adquirir una máquina de corte láser, pero ya me hago la idea de que ser una de las máquinas xines más pequeñas.

La parte de la electróncia también la tendría que mejorar de cara al curso que viene. La idea es diseñar una nueva placa PCB y utilizar sólo componentes SMD, pero esto ya es otro tema.

El script está programado en C++ y compila sin ninguna librería especial. Para generar el texto se ha de tener instalada la utilidad truetype-tracer-dxf. Las pruebas las he hecho con LibreCAD, que es el programa de CAD que utilizo habitualmente.

Enlaces:

El fanorona es un juego de mesa típico de Madagascar. Lo he estado probando en la versión para móvil, y he hecho un pequeño prototipo con la CNC, tanto las fichas como el tablero.

Ya está funcionando el proyecto de IoT basado en NodeCMU y el sensor de temperatura/humedad/presión BME280, y visualización de los datos en thingspeak.com. También he empezado a hacer el curso de IoT en el Institut Rambla Prim, que imparte Jordi Binefa.

Enlaces:

Abalone Bord Game and hexagonal gridAbalone Es un juego de mesa diseñado por Michel Lalet y Laurent Lévi en 1987. Es un tablero con agujeros donde colocamos 14 canicas por jugador, y se trata de hacer fuerta seis canicas del contrincante. De hecho nunca he jugado a este juego, pero de momento construiremos un tablero.

El problema consiste básicamente en hacer una red en formato de colmena de abejas, que de hecho son hexágonos y triángulos equiláteros. Para dibujar los puntos sobre un programa de CAD (yo utilizo LibreCAD), enseguida necesitamos el cos(60) y el sin(60). Partiendo de una parrilla ortogonal no es fácil hacer esta parrilla. Lo mejor es crear un script y generar los puntos de forma automática.

Partimos de un fichero vacío de LibreCAD, creamos la capa puntos, y meto tres puntos de prueba. Abrimos con un editor de texto (los ficheros de CAD tienen un formato de texto plano) y localizamos los puntos de referencia. Ahora ya sabemos el formato que han de tener los puntos que queremos generar programáticamente.

Mostramos el trozo de código más representativo que genera la geometría de mi parrilla, script bee_grid.cpp:

...
for (j=0; j std::cout << "fila " << j-par << std::endl;

float posx;
if ((n-abs(j-par))%2 == 0) { //parell
posx=(n-abs(j-par))/2-.5;
} else { //senar
posx = (n-abs(j-par))/2;
}
for (i=0; i std::cout << (i-posx)*2*dcos << " - " << posy_inicial-j*dsin << std::endl;
}
}
...

El script genera un fichero de texto con las líneas que podemos inserir en nuestro fichero original, y el resultado lo podemos ver en la foto. Es una parrilla de puntos para el juego del Abalone. La otra foto, la del juego del Abalone, no es mía (la he encontrado por Internet), pero este es mi objetivo: construir un tablero de Abalone. Para hacerlo ya tengo el fichero de CAD, después tendré que generar el G-Code, y finalmente fresar todos los puntos sobre una madera. Ya enseñaré el resultado cuando lo tenga acabado.

Enlaces:

update 21/06/2018: Este es el resultado final. He aprovechado una madera de cocina, que estaba muy marcada, pero el resultado final me gusta.

Jacks Open Mini Pinball

Jacks Open Mini Pinball

Finalmente ya hemos finalizado el Mini Virtual Pinball que he estado construyendo y configurando los últimos meses (junto a otros proyectos que he tenido que ir empujando en paralelo). El pinball está basado en el el Jacks Open de Gottlieb del año 1977.

El trabajo de pintura es muy mejorable, aunque la idea de utilizar máscares y spray me ha gustado, y si perfecciono la técnica, se pueden hacer cosas muy chulas.

He metido 200 mesas de diferentes fabricantes y diferentes épocas. A mi particularmente me gustan las mesas sencillas y electromecánicas de los años 60 y 70, y no la sofisticación plena de luces y sonidos de las mesas de estado sólido.

Para la siguiente máquina que vaya a construir hay bastantes cosas a mejorar. Estaría bien que las patas se puedan sacar, y que el backglass se pueda plegar hacia adelante. En esta ocasión no lo he hecho por falta de tiempo, y ahora me encuentro con un mueble que no puedo meterlo dentro del coche. También quiero añadir un plunger/tirador analógico, e implementar el tilt/nudge analógico con un acelerómetre y arduino.

Ya tengo un nuevo pinball a la vista. Como este no lo puedo transportar en coche, me gustaría hacer una versión mínima de pinball a dos pantallas (B2S), con una placa de ordenador Mini-ITX de las pequeñas (formato barebone). Es lo que se llama un pocket pinball. Empezaré a recopilar el material, ya explicaré como siempre los avances.
barebone
Presento dos videos de esta máquina. El primero es un video de presentación; y el segundo es un video del proceso de construcción. En los videos he puesto las canciones de un grupo de música que están triunfando mucho entre los chavales: los Buhos, música cañera en catalán.

Para hacer la primera máquina B2S (2 pantallas: el playfield y el backglass) he escogido el tema del pinball Jacks Open de Gottlieb (1977). El original es un pinball electro-mecánico, y probándolo con el Visual Pinball me ha gustado especialmente. De hecho, me gustan mucho todos los pinballs de esta época, que no tienen muchas florituras.

Me he decantado por el diseño del Jacks Open porque no es un diseño demasiado difícil y quiero probar, más que imprimir vinilos, hacer un trabajo de pintura y pintar con spray las máscaras para hacer la transferencia del disenño. Como se puede apreciar, sólo se utilizan los colores rojo y negro (a parte del blanco del fondo). He reproducido los diferentes motivos del dibujo en el Inkscape, y he utilizat una cortadora de vinilos (la Silhouette Cameo) que tenían sin utilizar en el MOB de Barcelona. Es la primera vez que utilizaba esta máquina, y con más tiempo y paciencia habría conseguido un mejor resultado. Para ser la primera vez que hago un trabajo de pintura con máscara estoy contento, però hay bastantes cosas a mejorar, y de hecho tendré que repasar con pincel algunos detalles y acabados.

Ya he avanzado bastante con la máquina, y espero poder acabarla y disfrutarla ahora en el mes de junio. Finalmente el plunger analógico, y el accelerómetro para detectar el tilt, tendrán que esperar. El backglass y las patas son fijas, y esto quiere decir que difícilmente podré meter esta máquina en el coche. Son aspectos que tendré que mejorar de cara a una segunda máquina.

Enlaces:

En la escritura en catalán se utiliza frecuentmente la ela geminada con la grafía l.l (por ejemplo, Brussel.les), en vez de utilizar el punto volado: Brussel&middledot;les.

Vamos a actualizar un blog de WordPress (www.joanillo.org) substituyendo en la base de datos, con SQL, todas las eles geminades con la grafía del punto volado. Proceso:

1. los posts que están publicados

select ID,post_title,post_status from ins_posts where post_status=’publish’;

2. los posts que están publicados, mostramos también el contenido:

select ID,post_title,post_status, post_content from ins_posts where post_status=’publish’;

3. I ahora mostramos los posts que tienen ele geminada:

select ID,post_title,post_status, post_content from ins_posts where post_status=’publish’ and post_content like ‘%l.l%’;

4. Y ahora que ya vemos cuáles son los posts afectados, podemos modificar su contenido substituyendo las eles geminadas mal formatadas con el punto volado:

Ante todo hacemos una prueba de cómo quedaría la substitución:

select ID,post_title,post_status, replace(post_content,’l.l’,'l·l’) from ins_posts where post_status=’publish’ and post_content like ‘%l.l%’;

5. Y ahora ya podemos hacer la substitución (update):

update ins_posts set post_content=replace(post_content,’l.l’,'l·l’) where post_status=’publish’ and post_content like ‘%l.l%’;
Query OK, 49 rows affected (0,07 sec)
Rows matched: 49 Changed: 49 Warnings: 0

NOTA: También funciona, y quizás es mejor:

update ins_posts set post_content=replace(post_content,’l.l’,'& middledot ;’) where post_status=’publish’ and post_content like ‘%l.l%’;

Este es un pequeño ejemplo de cómo podemos hacer cambios directamente en la base de datos, si conocemos las tablas y la relación que hay entre ellas.

Enlaces:

He realizado las primeras pruebas de la parte pneumática del whack-a-mole. A veces comprar en Aliexpress es realmente complicado. Quería unos pistones pneumáticos de una sola acción con retorno de muelle, y he recibido unos pistones de doble acción. El título del producto y las fotos del producto no concordaban. Creo que al final estos pistones de doble acción me irán bien, aunque al final necesitaré el doble de solenoides (2 solenoides por pistón, tal com se ve en el video).

El compresor que utilizo es el más simple que he encontrado. Me ha costado 10e de segunda mano, y es bastante ruidoso, pero haré una buena amortiguación del sonido. Un compresor de más potencia y con calderín sería ideal, pero el precio se incrementaría mucho.

Así pues, el material que se necesita para hacer esta prueba es: compresor, pistón pneumático, dos solenoides (válvulas pneumáticas), 2 rácores para los pistonse, 4 rácores para los solenoides, una T, y tubo de 6mm. El siguiente paso será la parte electrónica: un arduino y los relés para controlar todos los solenoides.

Enlaces:

La nueva recreativa que haremos es un whack-a-mole (aunque tengo otros proyectos por acabar…). Es un proyecto de neumática, y tenía ganas de hacer uno, aunque trabajar con aire comprimido, pistones y solenoides es sensiblemente más caro que trabajar sólo con electrónica.

I qué es un whack-a-mole? Es un juego arcade, que viene de los Estados Unidos pero aquí también se puede ver en ferias, donde unos topos salen de los agujeros de la mesa, y se tienen que golpear con un mazo para que se vuelvan a esconder. Cuanto más topos, más puntos. El juego se complica porque salen varios topos al mismo tiempo y la velocidad se va incrementando.

De aquí viene la expresión inglesa This is like playing whack-a-mole. Precisamente to whack significa golpear, y mole es un topo. Y la expresión describe la situación donde te surgen de golpe muchas tareas a las que atender, y a medida que las vas haciendo te surgen más, y no das abasto. Igual que en el juego, donde has de ir dando mazazos a los topos y te vuelves loco. En España se tradujo por guacamole, que suena igual pero que no tiene nada que ver con el sentido original de la palabra. Por ejemplo el juego de guacamole de la marca MB (ver video de la publicidad).

Así pues, he empezado a reunir el material: pistones, válvulas neumáticas, compresor barato, rácores, tubos, arduino, y una tira de NeoPixels para hacer el display, que quizás esto será la parte más interesante pues quiero hacer dos displays de tres dígitos bien gordos y chulos.

Este ha de ser un proyecto diferente y divertido. Lo que es una incógnita es si el presupuesto final compensará es esfuerzo.

Enllaços:

Estoy avanzando en el proyecto del Pinball B2S, aunque ahora tengo faena porque estoy haciendo un par de máquinas. Estoy a punto de pintar de blanco el mueble, y antes de pintar he de hacer algún agujero más. Pero antes de hacer los agujeros que me faltan, he de disponer todos los componentes en su posición final.

Así que he cogido el ordenador sobre el que he estado haciendo las pruebas, y lo he desmantelado todo. Es lástima porque es un ordenador que conseguí hace un par de meses a un buen precio y que tiene una caja muy insonorizada y una fuente de alimentación muy buena. Como se ve en la foto, a parte del ventilador de la fuente de alimentación, tiene tres ventiladores más y un disipador de la CPU muy grande. Es una buena máquina con una placa ASUS P5Q-E y un Intel Core 2 Quad Q9550 a 2.83GHz. Tiene 4GB de RAM, en alguna mesa de pinball que he jugado creo que sería mejor tener 8GB de RAM, pero de momento lo dejaré así. Cogí este ordenador porque llevaba la gráfica NVidia GeForce 240, que aunque no es muy potente ya lo había probado en otra màquina con muy buen resultado.

Así pues he desmontado la placa, la fuente, la gráfica, el disco duro, un conector USB, todos los cables, … i lo he dispuesto todo sobre la base del pinball. Al principio quería hacer un cajón en la parte trasera de manera que se pudiese acceder a todos los componentes del ordenador sin tener que desmontar la pantalla. Pero com se ve, en la parte trasera tengo la fuente d alimentación y tres ventiladores. Espero no tener que acceder nunca al ordenador, pero si se diese el caso, se tendrá que sacar el vidrio y la pantalla del playfield, tampoco será tanto trabajo.

En la foto no están todos los componentes. Falta un IPAC, todos los botones y cables, y toda la electrónica de la TV. Pero no es problema, veo que tengo suficiente sitio, y además se puede podner algún componente en los laterales.

Tenía ganas de hacer el plunger analógico, pero de momento prefiero acabar la máquina y más adelante ya miraré de meterlo. Ahora veo que la altura del mueble podría haber sido 2 o 3 cm menos alto, pero da igual, lo que importa es que las proporciones entre la pantalla del backglass, el mueble principal, y las patas, sea la correcta. De hecho, me quedará un pinball pequeñito: es un mini virtual pinball. Tenía ganas de hacer uno de pequeño antes de meterme en un pinball de dimensiones reales. Como no se podrá jugar de pie, supongo que lo mejor será jugar sentado en una silla. Ya veremos.

El proyecte en la wiki:

Page 1 of 1512345»...Last »