Paso 20: Instalación de Firmware
El firmware utilizado en la luminaria de LED de la WiFi del Saiko5 es de código abierto y libremente disponible en nuestra página de descargas . Está diseñado para funcionar con arduino, o los sistemas de aficionado de arce e integrar con el tablero de extensión WiFi de escudo de luz. El código está basado originalmente en el async_labs WiShield, pero con modificaciones para mejorar la estabilidad así como añadir soporte de biblioteca de Control de sonido abierto para permitir que la Junta recibir órdenes sobre UDP en el formato de Control de sonido abierto.Para hacer uso de los archivos del firmware, descargar el repositorio de saiko5, así como el repositorio WiShield y asegúrese de que el repositorio WiShield está correctamente colocado en el directorio de bibliotecas de la carpeta arduino-sketchbook. El entorno de arduino debe configurarse para utilizar la carpeta arduino-sketchbook como sketchbook para garantizar que las bibliotecas están bien situadas.
Arduino-sketchbook carpeta, ubicado en /saiko5/firmware/arduino-sketchbook /, hay dos ejemplos de proyecto junto con las bibliotecas.
smooth_fade
smooth_fade es un ejemplo muy básico adaptado del tutorial de arduino descoloramiento por David Mellis. En este ejemplo de programa simple, es demostrada la manera de cambiar la salida de PWM conectada a un LED rojo, verde y azul.
#define delaytime 5
#define fadestep 1
#define redPin 3
#define greenPin 5
#define bluePin 6
Este bloque de código se configura las variables de configuración básica. bluePin, redPin y greenPin se definen para corresponden a los pines de arduino/arce que están conectados a la lámpara del LED a través del jefe de cinco pines en la placa de la pantalla de luz. Si no está usando este firmware con el tablero de pantalla de luz, puede cambiar los pernos que se usan aquí. fadestep es el incremento de brillo por rebotes, y delaytime es la demora por rebotes. El resto del programa smooth_fade desvanece la luz del LED de rojo a verde a azul usando la función analogWrite para establecer el valor PWM en cada salida.
LightBrick
La carpeta LightBrick contiene los dos archivos principales para el firmware Saiko5 que realmente se utiliza en la producción, junto con el liblo y WiShield bibliotecas encontradas la carpeta de bibliotecas. El archivo LightBrick.pde contiene toda la configuración básica y puesta en marcha, incluyendo la configuración de la red. Para configurar un dispositivo para conectarse a su propia red inalámbrica, se debe actualizar la información de configuración aquí. La función de configuración indica la luz inicialmente bajo consumo rojo, seguido por inicialización de WiFi, y una vez haya finalizado la inicialización WiFi y el dispositivo se ha conectado con éxito, brilló brevemente azul antes de apagar la luz. Posteriormente, ejecuta el programa WiFi.run() para manejar la recepción de paquetes.
El archivo udpapp.c contiene el controlador de eventos actual para recibir un paquete UDP en el puerto 2222. No en particular, la función udpapp_init, que configura el servidor UDP. La configuración por defecto indica la lámpara sólo aceptar paquetes UDP en el puerto 2222, procedentes de la dirección IP 192.168.1.2. Si su servidor real se encuentra en otra dirección IP, esto * debe * cambiar o bien las luces ignorará los datos ser enviados a ellos.
Después de la configuración inicial de la pila de red para aceptar paquetes como sea necesario, la función de parse_msg maneja análisis paquetes UDP que se reciben. En primer lugar, el paquete entrante es deserialised con lo_message_deserialize, que convierte los paquetes UDP en un mensaje de OSC. Si falla la deserialización (es decir, recibió un paquete mal, o se recibe un paquete de OSC no), no hace nada. De lo contrario, el firmware saca las tres carrozas adjunta al paquete OSC y las pone en el fRed fGreen y valores flotantes de fBlue. A continuación, este valor se escribe en los pines de salida usando analogWrite. En el caso de Arduino, este valor se convierte en un entero de 8 bits multiplicando por 0xFF y refundición como un unsigned char. Sin embargo, el arce es también capaz de PWM de 16 bits, por lo que esto puede modificarse a multiplicar por 0xFFFF para mayor resolución PWM. El uso de Maple en modo PWM de 16 bits permite colores 281 trillones a ser producida, en comparación con los 17 millones colores que son característicos de la muestra PWM de 8 bits (y la mayoría de los monitores). En nuestra experiencia, color de 8 bits generalmente ve "bien", pero la suavidad de las transiciones es mejor con colores de 16 bits, especialmente para bajas intensidades.
Instalar firmware
Para instalar el firmware, usted necesitará instalar los entornos de desarrollo de Arduino o arce. Por favor, consulte las instrucciones y la información sobre el uso básico de los fabricantes para obtener más información. En el caso de un completo accesorio Saiko5, el puerto USB de programación de arduino está expuesto en el lado de la caja para su fácil modificación.