Archivo de la categoría: Joanillo Productions

Hacer PCB con el método de la plancha: primeras pruebas

Estoy haciendo unas pruebas para hacer una PCB con el método de la plancha. Después de dos intentos esta vez ha quedado bastante bien, la próxima espero que sea la definitiva.

Estoy esperando que me lleguen unas placas de doble capa. La placa se corresponde con la electrónica que tiene que montar la rockola: por una parte el array de botons; y por otra parte los efectos de luz. Habrá tres efectos de luz diferentes que activarán hasta 16 mòduls de LED, a ver cómo quedará.

El software para la rockola va tomando forma

He avanzado bastante en la parte software de la Rockola. Consta de os partes: la primera es un menú, y la segunda es el front-end propiamente dicho.
En el menú se puede escoger la colección de música que se quiere escuchar (Rock, Pop, Salsa, etc.), y se puede filtrar por década (70s, 80s, etc) y por licencia (toda la música o sólo la de dominio público). En cada momento puedes ver el número de canciones que serán seleccionadas.
Además, hay diferentes opciones relacionadas con la máquina hardware que se está construyendo. Por ejemplo: Coin Acceptor habilita o deshabilita tener que poner las monedas para escuchar las canciones; Piped music habilita el hecho de que suene un hilo musical si hace rato que no hay música en la cola de la playlist; Efectos de luz habilita o deshabilita los leds que harán efectos con motivos decorativos; Enable Exit habilita o no que el usuario pueda volver al menú desd el front-end.
Una vez seleccionada una colección podemos ir a la Rockola, que lanza el front-end propiamente dicho. El front-end intenta ser fiel a los modelos clásics de Rockola. Se trata de ir rellenando las etiquetas de papel con las canciones. Cada etiqueta consta de un grupo y de dos canciones. La distribución de las etiquetas es de manera que los grupos queden bastante mezclados y que haya algunas etiquetas medio vacías con una sola canción. En cada pantalla caben 64 canciones, y se puede navegar por las diferentes pantallas.
El front-end gestiona los créditos de que se dispone (una moneda son dos créditos, que dan derecho a dos canciones). La manera de seleccionar una canción es bastante intuitiva. Se dispone de una pequeña pantalla con información de la canción seleccionada, y evidentmente se gestiona la playlist que controla las canciones que están a la espera de ser escuchadas. Tal como está avanzado ahora el proyecto ya se pueden escuchar las canciones. Funciona!
En definitiva, el software, formado por el menú y el front-end, está pensado para integrarse en una máquina con tan solo tres botones (izquierda, derecha y Enter), que ha de cumplir con el requisito de que sea fácil y claro de operar, sin mantenimiento.
Lo que de moment no resulta tan fácil es meter todos los ficheros MP3 en el sistema. Es bastante laborioso. Primero de todo hemos de disponer de unos ficheros mp3 que tengan los tags ID3 rellenados y con la información correcta. Si no es el caso, se ha de actualizar esta información. Se han de leer los tags de los ficheros mp3 y actualizar la base de datos. Se ha de decidir, para las canciones que se quiere incorporar, en qué colecciones saldrán. Se genera un fichero máster con todas las canciones de la base de datos y un fichero de configuración que lleva el recuento del número de canciones clasificado por colección y por década. Hay una serie de scripts que ayudan y automatizan todo el proceso, pero en definitiva si se quiere tener una base de datos de calidad el proceso no es fácil, aunque hay margen para mejorar y automatizar.
Un tema a destacar de estas dos piezas de software es que la geometría reside en ficheros de configuración, de manera que ha de ser fácilmente adaptable a diferentes formatos de monitor. Además, el código se ha compilado tanto en un portátil como en la Raspberry Pi (pues esta plataforma será el motor de la Rockola real que se está construyendo).
En resumen, la parte software ya va tomando forma y no tardaré mucho en hacer un video demostrativo. Paralelamente el mueble también va tomando forma, y espero no tardar demasiado en ver este proyecto de la Rockola finalizado.
Cuando tenga el software acabado publicaré un enlace para descargar el código fuente. De todas maneras este proyecto, programado en C++, se ha escrito de un tirón y de momento no quedará muy bien documentado.

Avanzando en el proyecto de la rockola/gramola/jukebox

Estoy haciendo una caja de música. Este último mes he estado pensando en el diseño del mueble. me ha costado bastante decidirme por el amplificador que ha de integrar la caja de música. Finalmente me he decidido por un Neusonik NE08. Una vez tengo la pantalla y el altavoz, ya quedan bien definidas las dimensiones generales que tendrá la rockola. La botonera estaré en la zona de abajo. Com se ve en la foto, ya tengo los 15 agujeros donde se integrarán los módulos LED que harán los efectos de luz.

Me falta pensar dónde integraré el monedero electrónico (para poner las monedas de 5 duros), y también otros aspectos de decoración. Pero bueno, lo importante es que ya va tomando forma.

Paral·lelament, estic treballant amb el front-end, crec que està quedant bé, ja penjaré unes captures de pantalla.

Hackear una ROM de Gameboy

He tenido bastantes problemas para emular los juegos de Gameboy en la Raspberry Pi. Finalmente el emulador Fednafen es el que funciona, tal y como se hace en Pimame. El mundo de los emuladores es bastante complicado. Para entender cómo funciona una ROM por dentro y cómo se programa un emulador que trabaje con estas ROMs se tiene que estudiar la arquitectura del Z80, conocer el ensamblador, y técnicas avanzadas de depuración en lenguaje C. Pero aquí vamos a hacer una cosa relativamente sencilla.

Se trata de hacer un pequeño hack de una rom de Gameboy. Se trata de poner un libro dentro de la ROM, concretamente meter diferentes artículos y textos del gran filósofo catalán Francesc Pujols, aquél que dijo que un día Los catalanes iríamos por el mundo y lo tendríamos todo pagado.

Parto de una rom que ya es un libro, un libro en polaco: Ziarno_Prawdy_-_Book_by_Andrzej_Sapkowski_polish.gbc. Aunque no tengo ni puñetera idea de polaco, arranco la rom con el emulador y la idea está clara: con los botones puedes navegar por los diferentes capítulos, puedes ir al principio, y tienes dos modos de lectura: línea a línea, o página a página. La idea es localizar las posiciones de memoria donde está la información relevante, y substituirlo por la información (los bytes) que interesa.

Digo que este proyecto es bastante sencillo porque tenemos 5 capítulos con un tamaño concreto y me tengo que limitar a estas posiciones y bloques de información. Lo chulo sería poder meter más capítulos, de longitud variable, y poder navegar por todos los capítulos. Pero para hacerlo se tendría que desensamblar el código y entender cómo funcionan los jumps a los diferentes capítulos, y esto sí que sería interesante y más difícil.

Bien, manos a la obra. Uso la utilidad xxd como lector de ficheros binarios, que a una salida hexadecimal y en la parte derecha se puede localizar la información textual relevante.

0004040: 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0004050: 2020 2020 2020 2020 2020 2041 6e64 727a Andrz
0004060: 656a 2053 6170 6b6f 7773 6b69 2020 2020 ej Sapkowski
0004070: 2020 2020 2020 2020 2020 2020 2020 2020
0004080: 2020 2020 205a 6961 726e 6f20 5072 6177 Ziarno Praw
0004090: 6479 2020 2020 2020 2020 2020 2020 2020 dy

En este bloque hemos localizado el título y el autor. El llibro se llama Ziarno Prawdy y el autor es Adrzej Sapkowski (un nombre muy polaco). La posición del autor empieza en 405b (hex), que es 16475 bytes en decimal. Y donde acaba Prawdy es la posición 4091 hex = 16529. Por tanto, son 16529-16475=54 bytes, que yo substituiré por «EL PENSAMENT I LA FILOSOFIA DE FRANCESC PUJOLS«. Con esta técnica hemos de substituir el título y el autor, el menú, y los diferentes capítulos (hay 5 capítulos).

Muestro un ejemplo de código en lenguaje C para substituir en un fichero binario unos bytes por otros en una posición determinada. Un ejemplo sencillo sería:

#include
#include
#include

int main()
{
int posicio = 10;
int tamany;

char *str = «En un lugar de la Mancha»;
printf(«%d\», strlen(str));
tamany = strlen(str);

int counter;
FILE *ptr_myfile;

ptr_myfile=fopen(«b.gbc»,»r+b»);
if (!ptr_myfile)
{
printf(«Unable to open file!»);
return 1;

}

fseek(ptr_myfile,sizeof(char)*posicio,SEEK_SET);
fwrite(str, 1, sizeof(char)*tamany, ptr_myfile);

fclose(ptr_myfile);
return 0;
}

Partiendo de este ejemplo que funciona ya podemos hacer toda la substitución de las cadenas.

0004040: 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0004050: 2020 2020 2020 2020 2020 2045 4c20 5045 EL PE
0004060: 4e53 414d 454e 5420 4920 4c41 2046 494c NSAMENT I LA FIL
0004070: 4f53 4f46 4941 2044 4520 4652 414e 4345 OSOFIA DE FRANCE
0004080: 5343 2050 554a 4f4c 5320 2020 2020 2020 SC PUJOLS
0004090: 2000 2020 2020 2020 2020 2020 2020 2020 .
00040a0: 492e 2042 494f 4752 4146 4941 0a0a 4c27 I. BIOGRAFIA..L’
00040b0: 6573 6372 6970 746f 722c 2070 6f65 7461 escriptor, poeta
00040c0: 2069 2066 696c c3b2 736f 6620 6361 7461 i fil..sof cata
00040d0: 6cc3 a02c 2046 7261 6e63 6573 6320 5075 l.., Francesc Pu

I el hack ha funcionado como se puede ver (y leer) en la foto. En cualquier caso, la Gameboy no es la mejor consola para leer libros, y por otra parte como era de esperar los acentos no funcionan. Puedes descargar el código entero en la wiki.

Frozen. Grabación en casa de Maria y sus amigas


El martes pasado vinieron a comer Maria y tres de sus amigas (Laia, Adela y Martina), con el objetivo de grabar un par de temas de Frozen. Realmente estas niñas están poseídas por Frozen, Maria ya ha visto la peli 5 veces. La cuestión es que cob dos horas y media teníamos que hacer mucha faena, a parte de comer. La comida la solucionamos rápido, arroz a la cubana para 5 y rapidito que hay mucho trabajo.

Manos a la obra, un poco de calentamiento. Yo lo tenía todo preparado: dos micros para las cuatro niñas, que entraban en una pista de Ardour. En otras dos pistas ya tenía preparado previamente las canciones Vol Volar (Let it Go) y Per primer cop en la Vida (For the First Time in Forever), en sus versiones catalanas, que son las canciones que habíamos planificado de grabar (bien, en principio sólo era Vol Volar, la segunda era de reserva).

Hicimos varias tomas del Let it Go, pero tan sólo dos tomas del Per Primer Cop… El resultado es bastante satisfactorio teniendo en cuenta que son niñas de 9 años. A mejorar realmente las entradas (que tiene solución si se practica), y la afinación (más difícil de solucionar). Además, el hecho de que estuviesen emocionadas con esta experiencia no ayudaba nada.

Al final escogíuna de les tomas. Para exportar el audio sin matarme mucho he equilibrado la pista instrumental con la pista de las voces, y he aplicado a las voces un poco de compresión, chorus y reverb, todo de forma moderada, i ya tengo el mp3. Todo esto hecho con Ardour como DAW multipista. (Linux, of course).

Para el tema del video cometí un error. Me contenté con grabar un solo video, pensando que lo juntaría con la versión buena del audio, y no. En los dos videos que se muestran se ve clarament una falta de sincronía entre el video y las voces. A parte de la falta de sincronía en las entradas, el resultado es un tanto irreal. Para la próxima vez grabaré en video todas las tomas, y siempre seré a tiempo de borrar los videos descartados.

En estas grabaciones lo ideal es utilizar cascos para todas las participantes. Necesitaría una cosa similar a esto. Como no dispongo de un amplificador de auriculares, se ha utilizado un monitor de campo cercano, intentando que el sonido no entre por los micros. Esto se consigue controlando la distancia, el volumen y que el monitor quede detrás de los micros. La parte de señal que ha entrado por los micros es mínima, aunque no nula.

Así pues, el material que se ha utilizado es:

  • Ordenador Linux Ubuntu 12.04 con JACK y Ardour
  • Tarjeta de sonido externa, Edirol UA25EX
  • Mezclador de 4 entradas (sólo se utilizan dos)
  • 2 micrófonos
  • Monitor de campo cercano

A continuación se muestra el resultado: dos videos que se han colgado en Youtube. A las niñas les ha encantado ver cómo su video se mezclaba con las animaciones de las protagonistas de Frozen: Elsa y Anna.

Máquina de marcianitos. Proyecto Pimame/PiPlay (Arcade bartop cabinet)

Uno de los recuerdos de mi infancia fueron las máquinas de marcianitos que había en los bares. De cuando en cuando conseguíamos 25 pesetas y podíamos jugar una partida. Entonces, cuando tenía 12 años, no sabía ni qué eran los juegos Arcade… para nosotros eran las máquinas de marcianitos, y basta. Con el tiempo, evidentmente, los juegos se fuero sofisticando a todos niveles: gráficos, sonido,… Paralelamente, en casa jugábamos al Spectrum, cargando los juegos desde las cintas de cassette. Y entonces llegó la era del PC doméstico que lo cambió todo.va canviar tot

Para los que somos de mi generación (40 y pico), las máquinas de los bares representan todo un mundo de recuerdos y vivencias asociados a un mundo en que la electrónica de consumo lo estaba cambiando todo (relojes digitales, coches teledirigidos, …).

Han pasado muchos años, el mundo de los videojuegos ha evolucionado muchísimo, es una industria tan potente com el cine. Cada vez la gente ve menos televisión y va menos al cine (cosa impensable hace tiempo), y la sociedad en que vivimos se caracteriza por una gran variedad de dispositivos conectados a Internet, con una gran y diversa oferta de ocio.

Una gente al entorno del proyecto MAME (Multi Arcade Machine Emulator,) ha emulado las ROMs originales de aquellas máquinas Arcade a diversas plataformas, concretamente al PC. Una ROM es el chip donde estaba el software (firmware) que hacía correr el juego. Este software en código máquina se puede traducir a líneas de código a otras plataformas y lenguajes de programación. Esto es lo que hacen los emuladores. Por tanto, ahora todo el mundo puede jugar a los juegos de los as ’70, ’80 y ’90 en su PC. I así lo hice hará unos tres años en una máquina Linux, cuando descubrí el proyecto MAME y ya pensé entonces en construirme una máquina Arcade.

En estos tres años también han pasado muchas cosas, y concretamente la eclosión del hardware libre, representado por dos proyectos paradigmáticos como son el Arduino y la Raspberry Pi (entre otros). I lo bueno del caso es que el proyecto MAME se ha portado y optimizado a la plataforma de la Raspberry Pi, con todas las ventajas que esto supone de cara construirse un mueble Arcade (presupuesto, espacio, consumo,…). Esta tarea se ha hecho gracias a Shea Silverman y al proyecto PiMAME, que ahora se llama PiPlay.

Así pues este curso pasado me puse manos a la obra y para el verano ya tenía a punto mi mueble bartop con más de 1000 juegos clasificados por categorías (plataforma, galería, shooter, puzzle, fighting, …) i jugabilidad (preferidos, muy buenos, buenos, malos). El proyecto ha sido muy variado y divertido, e incluye entre otras:

  • Construcción del mueble (cortar las maderas, pulir, pintar,…)
  • Configuración de la Raspberry Pi y de MAME
  • Programación de un front-end propio (más detalles en este post)
  • Interfície joystick-USB. Aunque funciona correctamente esta solución, se ha de explorar la posibilidad de configurar el joystick i los 6 botons sólo con los pines GPIO de la RPi. El resultado sería más sencillo y rápido de implementar.
  • Fuente de alimentación 12V-5V
  • Metacrilato, adhesivos
  • Matriz de LEDs para la markee
  • Pantalla plana, conversor HDMI-VGA
  • Amplificador de sonido. La salia de sonido en la Raspberry Pi no es muy buena, y esto se nota a la hora de amplificar el sonido. En este aspecto faltan más pruebas a ver si hay posibilidad de obtener un sonido más limpio.

Después de muchas horas de trabajo, calculo que el presupuesto es de unos 250 euros. La bona noticia es que hay margen para automatizar/mejorar todo el proceso, por ejemplo utilizando una máquina CNC per cortar las maderas.

Aquí puedes ver el vídeo del mueble acabado.

Para más información:

Script para automatizar la creación de anaglifos 3D

Creo que no había hecho ningún post en este blog sobre mi colección fotográfica de insectos. Esta colección está disponible online en http://arthropoda.joanillo.org. Hace más de dos años y medio que está pública en la red, y en estos momentos consta de unas 2000 fotos de unos 350 insectos identificados (es decir, casi nada). Entre las diferentes opciones que hay en la página web hay la posibilidad de visualizar algunos ejemplares en 3 dimensiones (3D), mediante dos de los métodos comunes: ojos cruzados con pares estereográficos, y anaglifos.

Cryptocephalus aureolusEl método de los ojos cruzados es de los más populares porque no requiere de ningunas gafas ni aparatos. Consiste en poner una al lado de la otra las dos fotos que forman el par estereográfico. A la izquierda ponemos la foto que se corresponde con el ojo derecho; y a la derecha la foto que se corresponde con el ojo izquierdo. La técnica consiste en visualizar la pantalla a medio metro aproximadamente, mirar al punto medio de las dos fotos, enfocar a un punto como si estuviese detrás de la pantalla, y dejar que las dos imágenes se junten solas. Entonces, de forma mágica, aparece la foto en toda su profundidad. Si es la primera vez que lo pruebas puede ser un poco difícil, pero vale la pena intentarlo. Inténtalo con el par estereográfico que se muestra, que se corresponde con un escarabajo de la família Chrysomelidae, concretamente un Cryptocephalus aureolus.

Cryptocephalus aureolusOtro método popular de visualizar imágenes 3D son los anaglifos, en los que hay que utilizar las gafas cyan-rojo (o verde-rojo). Consiste en separar las dos imágenes en sus capas RGB, y eliminar para la imagen izquierda la capa roja; y para la imagen derecha la capa cyan. Esto se puede hacer de forma manual con los programas más populares de edición de fotos como Gimp o Photoshop. Finalmente, volver a juntar las imágenes en una de sola, y visualizarla con unas gafas de colores. La visualización 3D en este caso es muy fácil, es automática con sólo ponerte las gafas. El inconveniente es que el resultado final ha perdido calidad cromática.

En este post lo que hacemos es presentar y explicar el script que se utiliza para automatizar la creación de los anaglifos, tal como se utiliza en arthropoda.joanillo.org. Has de tener en cuenta que este script está pensado para sistemas Linux y está programado en bash script. No puedo dar soporte a otros sistemas operativos, pero la idea es totalmente trasladable. La herramienta principal que se utiliza es la utilidad convert que se encuentra dentro del paquete imagemagick. convert es una utilidad en línea de comandos para manipular imágenes, y que te permite acceder a las capas RGB. Para instalar esta utilidad:

$ sudo apt-get install imagemagick

Si queremos extraer la capa roja de una foto haremos:

/usr/bin/convert left_pic.jpg -separate -channel r left_pic_separate_R.JPG

y si queremos combinar dos fotos haremos:

/usr/bin/convert pic1.jpg pic2.jpg -combine pic_combine.jpg

Con todo esto ya podemos poner todo el script, que de hecho es muy cortito:

#!/bin/bash
#two arguments: left pic and right pic
# ./anaglyph_creation.sh 130609_091940.JPG 130609_091944.JPG

pics_or=./;
pics_anaglyphs=./anaglyph/;
pics_temp=./temp/;

echo $1;
echo $2;

basename=`basename "$1"`;
file_without_ext=${basename:0:13}
file_anaglyph=${file_without_ext}_ana.JPG

#anaglyph creation 
#1.Separate red channel for the left pic, and cyan for the right pic:
/usr/bin/convert $pics_or$1 -separate -channel r ${pics_temp}separate_R.JPG
/usr/bin/convert $pics_or$2 -separate -delete -3 ${pics_temp}separate_GB_%d.JPG #elimina el vermell
#2. Combine modified left and right pics in a new one:
/usr/bin/convert ${pics_temp}separate_R.JPG ${pics_temp}separate_GB_0.JPG ${pics_temp}separate_GB_1.JPG -set colorspace RGB -combine $pics_anaglyphs$file_anaglyph

rm pics_temp/*

Enlaces:
-Pares estereográficos: http://arthropoda.joanillo.org/stereo.php
-Anaglifos: http://arthropoda.joanillo.org/anagliphs.php
-wikipedia: http://en.wikipedia.org/wiki/Anaglyph_3D

Joanillo Arcade Frontend. Un simple frontend para PiMAME/PiPLAY

Joanillo Arcade FrontendAl final he decidido hacerme mi propio front-end para la máquina arcade que me estoy construyendo, basada en PiMAME / PiPLAY. La historia es muy larga, y ahora no es el momento de explicarla. El caso es que AdvMENU, que es el front-end propuesto en el proyecto PiMAME, a mi no me funciona con mi configuración de teclas y la interficie de joystick que me fabriqué en su día, basado en V-USB. El caso es que no soy la primera persona que tiene problemas con la configuración de AdvMenu. Resumiendo, una cuestión que tendría que ser fácil de resolver se convierte en un problema irresoluble. Después de desestimar AdvMENU (y después de compilar desde las fuentes la versión 2.7 y de modificar y modificar el fichero advmenu.rc) consideré la posibilidad de instalar otro front-end para emuladores Arcade que se pudiese instalar bien en la Raspberry Pi. Los requisitos eran que funcionase bajo Linux/Raspberry Pi, y que no necesitase el servidor X de la RPi (lo que desestima el popular front-end Wahcade). Después de analizar las diferentes soluciones, la noticia mala fue que llegué a la conclusión de que tenía que programar mi propio front-end… que al final es una noticia buena, pues por fin tendría un front-end simple y eficiente, con tan sólo las funcionalidades que necesito, que funciona con mi configuración de botones, y que se adapta al diseño y filtros de ROMs a mi gusto.

El resultado es un código C++ de 700 líneas, que utiliza SDL de forma nativa, igual de bien en el portátil que en la Raspberry Pi, donde no hay que arrancar el entorno gráfico. Se puede navegar de forma fácil por la clasificación de los juegos (All Favourites, Bad, Good, Very good, Prefered), y por las categorías de los juegos (Platform, Shooter, Gallery,…). El fichero de configuración es muy simple, resources/romlist.txt, con una línea para cada ROM. Se ha programado a chorro, en muy poco tiempo, seguro que hay cosas a mejorar, pero la lista TODO ha quedado realmente pequeña. Este front-end sólo está pensado para los juegos de MAME (mame4all), por tanto si alguien lo quiere utilizar encontrará a faltar cambiar a otros emuladores. De todas formas, sería fácil hacer la adaptación y disponer de un botón para el cambio de emulador.

Sin embargo, el bartop que estoy construyendo se basa en la simplicidad (un solo joystick y tan solo seis botones, que están mapeados a las teclas ‘0’,…, ‘5’). Y esta simplicidad queda reflejada en el código fuente. Esto hace que lanzar una ROM y volver al front-end sea mucho más rápido (mucho más rápido que con AdvMenu), con una mejor experiencia de usuario. También se ha conseguido una solución elegante para ir a la consola de Linux, o para apagar la Raspberry Pi de forma correcta antes de apagar el interruptor.

En resumen, un front-end para MAME muy simple pero con un diseño correcto, que no tiene ni de largo todas las opciones del proyecto AdvMENU, pero que tampoco se encuentran a faltar.

Puedes descargarte el código fuente de:
http://wiki.joanillo.org/index.php/Fitxer:Joanillo_arcade_frontend.zip

Y aquí tienes un vídeo demostrativo de cómo funciona el front-end y de sus opciones básicas:

Casita de madera

   

Esta es la caseta de madera que he estado haciendo los últimos 5 meses. Tuve la suerte de encontrarme por Navidades bastante madera machihembrada, y me la llevé toda arriba la terraza. El tiempo me diría más tarde que la cantidad de madera que recogí fue casi la que necesité, sólo tuve que comprar meses más tarde algunos tablones para acabar el tejado. Era madera de pino de buena calidad, aunque estaba sucia y llena de clavos.

Lo primero que hice fue subir la electricidad arriba la terraza: 30 metros de cable eléctrico. Instalé dos enchufes en un extremo de la terraza, y dos más en el otro extremo.

Como se ve en las fotos, la terraza hace un rincón donde se ha ubicado la caseta, de manera que no se pierde superficie útil de la terraza. La primera tarea fue nivelar lo que sería el suelo de la caseta, pues como es piso de terraza hay un desnivel para el desagüe. Construí una estructura básica de jaula, que definía las dimensiones generales que tendría la caseta. Al final son 3,5m2 de superficie. Poca cosa, pero teniendo en cuenta el preu a que va el m2 en Barcelona, pues ya puedo estar contento.

Una vez hecha la jaula ya se puede empezar a poner, fijar y clavar los tablones. Me fue de perlas la sierra circular, que estrenaba, y los dos tornavises eléctricos de que disponía (suerte que tenía dos, pues los dos no me duraban una mañana intensa de trabajo). Al final fueros unos 700 tornillos. Primero se hizo el suelo, y después se iban subiendo las paredes, dejando una abertura para las puertas y las dos ventanitas.

Cuando acabé de subir las paredes, fue el momento de cubrir el tejado. Acabé lol últimos tablones que me quedaban. O sea que tube que calcular la madera que me faltaría. Para economizar al máximo encontré tablones de 3 cm de grosor y 2 metros de largo a 1 euro, todo un saldo, que se tuvieron que cortar transversalmente, convirtiéndose en dos tablones de 1,5cm. Toda una faena.


A medida que iba cubriendo el tejado se tenía que poner la tela asfáltica y fijarla con clavos y soplete. Esto de los clavos fue un error, pues a la primera lluvia vi que habían goteras. Y es que construir esta caseta ha sido todo un ejercicio continua de tomar decisiones, a menudo acertadas, a veces no. Por tanto, fue preciso una nueva capa de tela asfáltica para impermeabilizar correctamente la cubierta.

Una vez acabado el tejado, se pusieron la puerta y las ventanas. Varnizar toda la superficie exterior, y mirar que las juntas del suelo quedasen lo mejor posible, cosa difícil dado que el machihembrado original estaba en mal estado. Entonces se llevó la electricidad dentro de la caseta, se hizo todo un anillo de estanterías, y finalmente dos mesas hechas a medida y con madera reciclada encontrada en la calle.

Antes de dar por inaugurada la caseta era preciso pintar toda la terraza y dejarlo arreglado, pues estaba en un estado realmente deplorable. Además, limpiar y fregar mucho el suelo. Tareas duras teniendo en cuenta que de golpe y porrazo ha venido el calor del verano. Se encuentra mucho a faltar, ahora y en el futuro, tener agua corriente en la terraza.

Ahora que ya se puede dar por acabada la caseta hicimos la inauguración como se merece con Rita, Maria y Pere, con una cena al fresco (sentándonos en el suelo de la terraza, la caseta no da para tanto!).

Resumiendo, el gasto de la caseta han sido unos 250e, teniendo en cuenta que la mayoría del material que se ha utiltizado son maderas y otro reciclaje. y muchas horas de trabajo. Un chollo teniendo en cuenta el presupuesto de hacer una caseta de madera. Además, ahora que aprieta el calor se nota que la madera aísla muy bien, al contrario de otras soluciones comerciales como casetas de resina o de plancha de hierro. ¿Y qué se hará dentro? Pues básicamente la idea es meter dentro de la caseta una máquina CNC para hacer trabajos con madera, metacrilato y hacer cirucuitos impresos, pero esto será otra historia. I además poder trabajar arriba en la terraza con las tareas sucias que no se pueden hacer en casa o en una oficina.

diatonicbaixos v1.0: ayuda para los bajos del acordeón diatónico

Maria está estudiando el acordeón diatónico (y de paso yo también me he enganchado). Una de las cosas que siempre he encontrado difíciles es la coordinación de la mano derecha (con la que tocamos la melodía) y la mano izquierda (los bajos). Igual que pasa con el piano, que siempre me ha parecido difícil tocar con las dos mans al mismo tiempo.

Aquí va un pequeño programa para ayudar a poner la mano izquierda en el acordeón diatónico. Mientras suena la melodía (se necesita el fichero midi de la melodía), por pantalla se muestran las posiciones de los bajos que se han de tocar (en el acordeón diatónico hay 8 botones para los bajos/acordes, que suenan diferente si abres o cierras el fuelle). Cuando se muestra un botón en color verde significa que hay que cerrar el fuelle; en color rojo hay que abrirlo.

Para la interficie gráfica se ha utilizado la librería ncurses, que es la primera vez que programaba en esta llibrería (y estoy muy contento del resultat obtenido). El programa es un cliente de JACK (el servidor de audio para Linux, www.jackaudio.org), y de hecho es el time master, es decir, controla el transporte. Para utilizar la aplicación lo mejor es lanzar el script bash que se proporciona, diatonicbaixos.sh, donde se pone de manifiesto toda la cadena de programas que se utilizan.

Primero de todo se cambia el tempo deseado al fichero midi mediante el script change_tempo_smf (se proporciona el código fuente). Luego se arranca el servidor JACK, y el sintetizador fluidsynth, que es el que hará sonar la melodía. Después arrancamos la utilitat jack-smf-player, que se encargará de hacer sonar la melodía. También arranco el klick, que es un metrónomo cliente de JACK. Finalmente ya puedo lanzar mi aplicación, diatonicbaixos. El resultado, com se ve en el video, es que suena la melodía mientras se van mostrando las posiciones de los bajos. Se puede cambiar el tempo, se puede habilitar o no el metrónomo, y hay otro parámetro que permite mostrar el siguiente bajo que se tendrá que pulsar.

Para hacerse una idea del funcionamiento del programa lo mejor es ver el video:

Descargar diatonicbaixos v1.0