Arduino + WiFi, música sensible accesorio de luz LED (21 / 22 paso)

Paso 21: Usando PureData u otro Software para el Control de la Saiko5

El software con la luminaria de LED de la WiFi del Saiko5 está en las etapas de desarrollo. Todo el software está escrito para tomar ventaja del Saiko5 Firmware desarrollado para su uso con los tableros de aficionado de Arduino o arce. El firmware permite que un protocolo de communiation sencillo usando el protocolo de sonido abierto sobre WiFi que permite a cualquier programador escribir software para controlar el color y el brillo de la lámpara. Software se puede encontrar en la sección de descargas .

Formato del paquete de OSC

Funcionalidad básica se puede acceder fácilmente mediante el uso de la biblioteca de liblo, disponible para python, C, PureData y otros idiomas. Ejemplo de código de secuencias de comandos de python básico para el control de luces puede encontrarse en el archivo saiko5 disponible en la sección de descargas, en la subcarpeta/saiko5 software/scripts /

Ejemplo básico de código

liblo de importación

Dirección = liblo. Dirección ("192.168.1.222", "2222")
liblo.Send (dirección, '/ conjunto de luz de colores', ('f', 0, 8), ('f', 0,0), ('f', 0.2))

En este ejemplo de código, que es todo lo que es necesaria para controlar un aparato de Saiko5, hay tres líneas.

1. importación liblo
Esto importa la biblioteca de liblo. Necesita tener python-liblo instalada para que esta función que se active.
2. Dirección = liblo. Dirección ("192.168.1.222", "2222")
Esto crea un liblo dirección objeto, que puede utilizarse para enviar paquetes de OSC a la luz en la dirección IP. Las luces están programadas por defecto para escuchar en el puerto 2222 y el equipo en 192.168.1.2. Sin embargo, estos valores pueden cambiarse fácilmente por subir una versión modificada del firmware. Tenga en cuenta que si usted tiene múltiples luces, usted necesitará enviar los comandos a todas luces para hacer actualizaciones.
3. liblo.send(address, '/light/color/set', ('f', 0.8), ('f', 0,0), ('f', 0.2))
Esto crea y envía un paquete OSC. La especificación de que las luces están esperando es la ruta '/ luz/color/establecer', seguido de tres flotadores, que corresponden al brillo RGB entre 0 y 1.

Tenga en cuenta que esto está configurado para enviar comandos como datos RGB. Este no es el espacio preferido para tratar con iluminación LED, y recomendamos el uso de HSI (tonalidad, saturación, intensidad) para la representación local de color claro. El código está disponible para la conversión de HSI a RGB en python en el repositorio de software saiko5 en /saiko5/software/puredata/server/HSI2RGB.py

Tonalidad es una manera intuitiva de pensar en "color", con valores que van entre 0 y 360 grados, donde 0 grados y 360 grados son rojos, y la tonalidad es mayor, que lo atraviesa primero amarillo, luego verde, luego cyan, luego azul, luego magenta antes de volver al rojo. Esta representación permite la codificación directa de cambios de color constante.

Saturación es una manera intuitiva de pensar en la "blancura" de color, con una saturación de 1,0 significado tan pura como sea posible de un color y una saturación de blanco 0.0 de significado independientemente de la tonalidad. El uso de la saturación de los valores de menos de 1.0 permite la fácil visualización de colores pastel.

La intensidad es la representación natural de la luminosidad de una lámpara LED. Intensidad se define como la suma de los canales rojos, verdes y azules, entre 0.0 y 1.0. Esto es diferente que el "valor" en VHS, donde el valor se define como el valor máximo entre los canales rojos, verdes y azules. Aunque el uso de la intensidad en lugar de valor limita el máximo brillo de la luz al brillo de un solo canal solo, creemos que se trata de una manera más natural de utilizar un color cambio de lámpara. Por ejemplo, en espacio de HSI, un valor HSI, si la intensidad es constante y el color se cambia, la energía total, siendo puesta hacia fuera por la luz permanece constante. Sin embargo, en VHS espacio de color, si el valor es constante y el color se cambia, el poder ser puesto hacia fuera por los cambios de lámpara.

Esto es especialmente evidente en el ejemplo de pasar de rojo a amarillo (o cualquier color secundario primario). En el caso de rojo, un valor HSV de (0, 1, 1) es equivalente a un valor RGB (1, 0, 0). Este es el mismo resultado que utilizar el valor HSI (0, 1, 1). Sin embargo, para el amarillo, el valor HSV (60, 1, 1) resultaría en un valor RGB (1, 1, 0) mientras que un HSI valor (60, 1, 1) resultaría en un valor RGB de (0.5, 0.5, 0). En el caso de valor constante, la cantidad de luz que puso hacia fuera es mayor para el amarillo que rojo por un factor de dos, mientras que en el caso de intensidad constante, la cantidad de luz que se apagó no ha cambiado.

El Software de Saiko5

El Software de Saiko5 se desarrolló principalmente en Ubuntu 10.04. Le recomendamos para estar seguro de que su configuración funcione usted descarga y uso de nuestra imagen de LiveCD que proporcionará un ambiente básico de Ubuntu con nuestro software preinstalado y configurado. Sin embargo, entendemos que esto no es una situación ideal para todos los usuarios, y por lo tanto software también se proporciona en nuestra página de descargas. El repositorio de saiko5 se divide en dos carpetas principales, /saiko5/firmware/y /saiko5/software /. Esta documentación será discutir el software contenido en el directorio/software//saiko5.

interfaz gráfica de usuario

La carpeta gui contiene una interfaz gráfica de usuario escrita en python con wxpython para widgets. Este software permite el control básico de las luminarias mediante un punto y haga clic en interfaz, como eligiendo un color HSI, recogiendo direcciones IP para enviar los comandos a y haciendo del ciclo modos básicos de color. Para utilizar este software, abrir el saikoControlGui.py en python.

secuencias de comandos

La carpeta scripts contiene código de ejemplo básico para el control de las luminarias con liblo en python. Cuenta que con estas se requiere configuración manual de las direcciones IP de las luces que intenta control.

* colorcycle.py--este es un color básico ciclo programa mediante saturación de 100% y una tasa constante de cambio.
* setpurple.py--este es el script muy básico mostrado arriba en tres líneas que se establece el color de la luz elegida en nuestra sombra favorita de púrpura.
* udpstresstest.py--hará hincapié en esta secuencia de comandos prueba tu red y las luces mediante el envío de paquetes udp a las luces. Puede utilizar esto para determinar cómo de estable es su red inalámbrica.

puredata

La carpeta de puredata contiene código fuente para hacer análisis de audio con puredata un servidor adjunto de python para la comunicación real con las luminarias Saiko5. Este es el software que se utiliza para hacer los videos de respuesta de la música en la página. La captura de pantalla muestra la PureData + servidor de Python se utiliza activamente para el control de la lámpara de Saiko5.

* analyzer.pd--este es el analizador de puredata. Requiere pd-extended, así como pd-aubio (la biblioteca de análisis de música aubio) a la función.
* server/HSI2RGB.py - este script en python convierte valores de HSI a RGB.
* server/lightconfiguration.py - este script en python contiene la información de configuración para los accesorios de Saiko5 está bajo control.
* server/lightevents.py - este script en python tiene el código básico para el servidor de python. Este es el código que generalmente será modificado para agregar nueva funcionalidad al servidor.
* server/lightserver.py--este es el script en python general que debe estar en ejecución para el software de analyzer.pd para funcionar. Está diseñado para detectar paquetes OSC en Puerto 2223, y esos paquetes son proporcionados por el software puredata.

Artículos Relacionados

Construcción y diseño de accesorio de luz LED

Construcción y diseño de accesorio de luz LED

Luces con índice de representación de alto color (CRI) eran necesarias para un entorno de estudio de arte. Se consideraron varias opciones de iluminación incluyendo: incandescentes y halógenos, bombillas de repuesto del diodo electroluminoso (LED), c
Accesorio de luz LED y botella de vino

Accesorio de luz LED y botella de vino

Reciclar algunas botellas de vino y establecer un estado de ánimo con este simple artefacto de iluminación LED. Improvisé un botellero de madera contrachapada fina porque la mitad de las botellas se tapan con corcho y la otra mitad eran tipo tornillo
Arboleda de Arduino WiFi habilitado efecto invernadero

Arboleda de Arduino WiFi habilitado efecto invernadero

Lo esencial:GroveSensor de temperatura/humedad de Grove - alta precisiónSensor de luz analógico GroveGrove - EncoderGrove - Sensor UVGrove - humedadGrove - RGB 16 x 2 pantallaGrove - 20CM de Cable x3Grove - 50CM de Cable x2Grove - protector del Senso
Cómo utilizar mBlock software para control de tablero de Arduino UNO - potenciómetro con luz LED

Cómo utilizar mBlock software para control de tablero de Arduino UNO - potenciómetro con luz LED

Comienzo a utilizar el software mBlock ya tengo mi kit de la robusteza de mBot . mBlock es un software de programación gráfico que está diseñado en base a Scratch 2.0 y compaible con Arduino UNO, mega 2560, leonardo y etc., más hardware se apoyará en
¿Luz Led del Control de Sensor de movimiento Arduino

¿Luz Led del Control de Sensor de movimiento Arduino

necesitando un pequeño tutorial útil para cable y programa su nuevo sensor de movimiento con tu arduino? Bueno no busques más. Este tutorial le dará un ejemplo simple de cómo fijar un sensor de movimiento a tu arduino y encender un led o apagar si se
Arduino Wifi Redback

Arduino Wifi Redback

Agregar capacidades inalámbricas a un proyecto normalmente implica conectar otras placas a tu arduino, que aumenta el tamaño de tu gadget. Este ha sido un dolor de cabeza para muchos desarrolladores de hardware durante mucho tiempo. Sin embargo, ahor
Caja de luz LED de música

Caja de luz LED de música

Mi cubo de luz del LED original consiguió asignar de reacciones. Algunos de ellos que trata de hacer el LED reaccionar a la música. Esto hizo sonido muy interesante y encontré algunos instructables aquí.Lamentablemente he encontrado muy difícil enten
Cómo conectar tu Arduino WiFi shield con una aplicación de iOS/Android personalizada desarrollado en HTML5/JavaScript.

Cómo conectar tu Arduino WiFi shield con una aplicación de iOS/Android personalizada desarrollado en HTML5/JavaScript.

Este instructable muestra cómo construir una aplicación móvil que se comunica con tu escudo de WiFi, en este ejemplo en concreto vamos a crear una aplicación que puede encender un LED/de la conexión a tu Arduino. La aplicación móvil se desarrollará u
Cómo construir un Arduino WiFi 4 x 4 con controlador de Android

Cómo construir un Arduino WiFi 4 x 4 con controlador de Android

coches RC pueden ser WiFi coches...?RC coches molan, pero baratos coches RC han limitado la gama y pueden controlarse sólo con el controlador especial que se incluyó con el coche.He comprado un jeep RC, con 4 ruedas, suspensión flexible y neumáticos
Cómo actualizar el firmware de tu Arduino WiFi shield (no 101)

Cómo actualizar el firmware de tu Arduino WiFi shield (no 101)

Probablemente tienes un Arduino WiFi shield (no 101) para la Navidad, o has comprado uno antes o después de eso, pero le da un errores y el LED "error" está encendida eso significa que debe actualizar su firmware para hacer su proyecto de Intern
Arduino wifi redback servidor Web ejemplo

Arduino wifi redback servidor Web ejemplo

Un arduino wifi Redback puede utilizarse como un servidor Web. El ejemplo de servidor Web de redback de wifi está disponible en la biblioteca de CuHead nos muestra perfectamente cómo hacerlo. Voy a guiarte a través de él para que usted pueda entender
Arduino + TFT = música Visual

Arduino + TFT = música Visual

Resumen:Audio: en este proyecto Arduino Lee una cadena de notas escritas en el formato de notación musical que hemos llamado lenguaje de música fácil. Selecciona cada nota musical (o descanso), determina su frecuencia y reproduce esa nota.Gráficos: e
Probador de la batería de Arduino con luz Led

Probador de la batería de Arduino con luz Led

Lo que estoy haciendo es un probador de la batería con luces Led que también funciona en un Arduino.What que muestra cuánta batería queda en él por el encendido del LED. Para el cableado usé un tablero que me ayudó mucho. Por favor comentar sobre mi
Barato Arduino WiFi shield con ESP8266

Barato Arduino WiFi shield con ESP8266

En mi Instructable anterior he descrito cómo enchufar el módulo ESP-01 en un protoboard.Esto es sólo el primer paso para hacer un escudo Arduino WiFi barato utilizando el módulo ESP8266. Con pocos componentes más electrónicos y la biblioteca de WiFiE