El videojuego de David Bowie

  • January 19, 2016
  • duend
  • 01see12801280_10

    Allá por el año 1999, salió para PC y Dreamcast un videojuego llamado “Omikron: The Nomad Soul”: un juego de rol que, en su momento pasó sin pena ni gloria, pero que contaba con algunas características muy interesantes, como una gran profundidad en la historia o un estilo cinematográfico que no se había visto hasta entonces y que posteriormente se fue popularizando en el mundo de los videojuegos.

    El recientemente fallecido David Bowie, no solo prestó su imagen y su voz a dos personajes en el juego, sino muchas canciones propias, inéditas en aquel momento, que posteriormente fueron recopiladas en algún album como “Hours”.

    Por todos estos detalles, actualmente este juego es considerado un videojuego de culto por muchos.

    Actualmente y hasta el próximo 22 de enero, podéis conseguirlo totalmente gratis en la tienda de Square-Enix

Mi show de luces y música de Navidad con Raspberry Pi

  • January 18, 2016
  • tuxotron
  • 20151212_141833.jpg

    En otro de mis proyectos “juguete” con Raspberry Pi, le di un poco de vida a las luces de esta pasada Navidad y añadí música y sincronización entre estas.

    Había querido publicar esta entrada por la época navideña, pero el tiempo no me lo permitió.

    Este proyecto es realmente sencillo, ya que vamos a usar lightshow, un proyecto que nos va  a proporcionar la sincronización entre las luces y la música, así que todo el trabajo realmente está en el cableado de nuestros componentes.

    En este proyecto usaremos:

    • Raspberry Pi 2
    • Relay SSD de 8 canales
    • 8 enchufes (estos son los enchufes que yo usé, estándar en EEUU. Depende de dónde vivas será distintos, pero la funcionalidad será la misma).
    • Cables: rígido para la interconexión de los enchufes y flexible para el resto.
    • Ficha de empalmes
    • Cinta aislante
    • Altavoz (conectado a la salida analógica del Raspberry Pi)
    La idea detrás de este proyecto es que podamos enchufar hasta 8 luces, tocar música y que las luces que enciendan y apaguen al ritmo de ésta.

    Lo primero que vamos a hacer es instalar lightshow (asumo que usas Raspbian, aunque el procedimiento debería funcionar en otras distribuciones Linux):

    # Actualiza tu sistema sudo apt-get update sudo apt-get upgrade sudo rpi-update

    Instala git

    sudo apt-get install git-core

    Clona el repositorio en /home/pi/lightshowpi

    cd ~ git clone https://[email protected]/togiles/lightshowpi.git

    Sitúate en la versión estable

    cd lightshowpi git fetch && git checkout stable

    Corre el script de instalación

    cd /home/pi/lightshowpi sudo ./install.sh

    Reinicia

    sudo reboot

    Durante el proceso de instalación me dio un error cuando el script intentó instalar una de las dependencias: Beautifulsoup. En la versión de Raspbian que usaba, dicha librería había sido renombrada a BS4. Tus opciones aquí son instalarla manualmente (sudo apt-get install python-bs4), modificar el fichero que contiene las dependencias (lightshowPi/install-scripts/raspbian) o simplemente ignorarla. Una de las funcionalidades de lightshow es que te permite interactuar con el mismo a través de SMS (yo no configuré esa parte) y ahí es donde requiere Beutifulsoup para trabajar con unos ficheros XML.

    Ahora que ya tenemos instalado nuestro software. Toca empezar a cablear. Lo primero que vamos a hacer es cablear nuetro RPi al relé. Por defecto lightshow asume que el relé está conectado a los 8 primeros GPIO pines (GPIO0 - GPIO7). Si quieres usar una configuración distinta, entonces tienes que modificar el fichero lightshowPi/config/defaults.cfg en la sección [hardware]:

    Using 8 pins of GPIO on the pi:

    gpio_pins = 0,1,2,3,4,5,6,7 ….

    Y cambiar esos números por los pines que hayas elegido. Lightshow también nos ofrece la posibilidad de retransmitir nuestra música a través de ondas FM, para la cual usa el pin 7, con lo que si quires usar dicha funcionalidad, tienes que dejar el pin 7 libre (ahí conectarás la antena). Un poco más abajo de la línea mostrada anteriormente tienes:

    #

    Using 8 pins of GPIO with FM transmitting on the pi b+:

    #pin 7 cannot be used in FM mode because that is used for the antenna #gpio_pins = 0,1,2,3,4,5,6,21

    Cómo ves el pin 7 sería sustituido por el 21. Tendría que de-comentar dicha línea y comentar la anterior de forma que quedaría algo así:

    Using 8 pins of GPIO on the pi:

    gpio_pins = 0,1,2,3,4,5,6,7

    ….

    Using 8 pins of GPIO with FM transmitting on the pi b+:

    #pin 7 cannot be used in FM mode because that is used for the antenna gpio_pins = 0,1,2,3,4,5,6,21 …

    En mi caso, tampoco usé la función de retransmitir por FM. Así que nos quedaremos con la configuración por defecto usando los GPIO0-GPIO7.

    A continuación os dejo el esquema del cableado entre el RPi y el relé:

    rpi_relay.png Rapsberry Pi - Relé

    GPIO_Pi2.png Pines de Raspberry Pi 2

    Una vez tenemos nuestros dispositivos cableados, podemos hacer la primera prueba. El relé dispone de un LED por cada canal lo que nos permite visualizar si lo hemos conectado correctamente. Lightshow dispone de un script de prueba que nos permitirá saber si hemos conectado los cables correctamente. sudo python ~/lightshow/py/hardware_controller.py --state=flash

    Éste encenderá y apagará los LEDs del relé de forma consecutiva de uno en uno. En el siguiente vídeo podemos verlo en funcionamiento:

    Lightshow trae algunas canciones de ejemplo. Puedes probar una de ellos con este comando:

    sudo python ~/lightshow/py/synchronized_lights.py –file=/home/pi/lightshowpi/music/sample/ovenrake_deck-the-halls.mp3

    Si todo funciona bien, deberías ver algo así:

    Una vez hemos comprobado que todos los LEDs se encienden en orden, toca conectar los enchufes. Voy a usar cuatro enchufes dobles, lo que me da un total de ocho conectores. El esquema del cableado sería algo así:

    relay_sockets.png

    Las líneas azules representan la conexión de cada enchufe a cada una de las entradas de nuestro relé y la línea marrón, es la alimentación que iría al otro par de cada una de las entradas del relé, además de alimentar el primero de los enchufes (izquierda). Las líneas verdes (cable rígido) hacen de puente entre los enchufes y pasan la corriente de uno al otro. Por último la línea negra (abajo) es la de tierra (yo no la usé, ya que las luces que conecté no tenía toma de tierra, pero la pongo como referencia).

    Aquí un par de fotos del montaje:

    20151212_141904.jpg

    Parte trasera

    20151212_141819.jpg

    Parte delantera

    Para conectar la corriente usé un cable de alimentación de un ordenador antiguo que tenía por ahí. Le corte el extremo que se conecta al ordenador, y de ahí salían tres cables: negro, blanco y verde (tierra). Como comenté antes, el cable de tierra (verde) no lo conecté. 20160118_150450.jpg

    Una vez tenemos montado todo el cableado, sólo nos queda probarlo y rezar por que todo salga como esperamos :).

    Para la música, yo personalmente busqué en youtube canciones de Navidad y allí multitud de “vídeos”, algunos que duran horas. Los cuales puedes descargar con algo así:

    youtube-dl –extract-audio –audio-format mp3 -l [URL VIDEO]

    El mp3 lo copias a tu Raspberry Pi y puedes tocar con el comando:

    sudo python ~/lightshow/py/syncronized_lights.py –file=/path/tu/mp3

    Si quieres tocar varios mp3s, también puedes crearte una lista.

    El resultado final de mi montaje podéis verlo en los siguientes vídeos:

    Cómo decía anteriormente, el proyecto lightshow además de luces y audio, te permite transmitir tu música via FM e incluso mandarle comandos via SMS, para ello échale un vistazo a la documentación.

    Si queréis algo espectacular también montado con Raspberry Pi, échale un vistazo a http://www.johnsonlightshow.com/.

    Hasta aquí hemos llegado. Tuve funcionando las luces por 2-3 semanas sin ningún problema. Espero que esta entrada te sirva de algo, sobre si te la has leído entera :)

    PD: mis conocimientos de electrónica son muy básicos, así que si le he pegado una patada a la convención de colores de los cables en los esquemas o algún símbolo, pido disculpas :)

     

John Romero acaba de crear un nivel nuevo para Doom