Este proyecto es una vela electrónica inalámbrica de todo color. Varios de estos dispositivos pueden ser colocados alrededor de una habitación y controlados con una computadora capaz de Wi-Fi para crear efectos especiales o música sincronizada espectáculos de luz.
Se ofrece todo el diseño de hardware y software libre y de código abierto.
HARDWARE
El hardware se basa en un módulo RN-XV Wi-Fi para proporcionar conectividad de red inalámbrica. Un PIC12F683 microcontrolador se comunica con la RN-XV, procesa los mensajes entrantes de la red y genera las señales de ancho modulado (PWM) de pulso para manejar una matriz de LEDs rojos, verdes y azules. Esto permite el dispositivo para reproducir el espectro de color completo en una amplia gama de brillos.
El módulo RN-XV WiFly sirve un papel crucial en la formación de una red adhoc inalámbrica con la computadora de control. El módulo está programado con una dirección IP única. Mensajes de control son enviados desde la computadora de control a través de datagramas UDP. El formato de datos es muy simple, permitiendo que los dispositivos múltiples para manejarse en la red con una latencia mínima. El módulo WiFly automáticamente procesa los datagramas UDP entrantes y transforma los mensajes en una secuencia serial asíncrona que puede ser leída y procesada por el microcontrolador PIC que sirve como el controlador PWM.
El PIC12F683 es un microcontrolador muy pequeño, económico y conveniente para esta aplicación. Es un dispositivo simple de 8 pines, pero con un poco de esfuerzo, que proporciona todas las capacidades que necesitamos. El 12F683 carece de un integrado UART, por lo que toda comunicación serial con la RN-XV se realiza a través de golpes poco. El 12F683 también proporciona un conjunto de instrucciones muy limitada, que hace un poco difícil de aplicar ciertas operaciones matemáticas. Sin embargo, todos estos problemas pueden superarse e implementan usando puro lenguaje ensamblador PIC.
La mayor complicación de este esfuerzo de desarrollo es el hecho de que el microcontrolador PIC12F683 tiene solamente un generador PWM a bordo. Para que tres salidas PWM de 8 bits se ejecutan en el código utilizando los pines de I/O de propósito general y las interrupciones de temporizador. Esta tarea se hace aún más difícil porque las rutinas PWM deben ser sincronizado con la rutina de la UART (también implementada en el código). La primera aplicación de esta rutina resultó en un fallo muy pronunciado en la salida PWM debido a interrupciones por los datos entrantes en serie. Este problema fue resuelto al asegurar que el período de bit serial es uniformemente divisible por el PWM ciclo. Entonces interrupción solo temporizador se requiere, y cada bit de entrada se puede simplemente leer cada número N de ciclos PWM.
El dispositivo puede ser alimentado por una fuente 5-15VDC, regulada a 3.3V--un requisito del módulo RN-XV. El PIC12F683 tiene un mucho más amplio operación rango de voltaje, pero 3.3V se utiliza no sólo para mantener la compatibilidad con la tensión de alimentación del RN-XV, sino también para garantizar la compatibilidad con los 3.3V señalización requisitos de la UART de RN-XV. Otra nota interesante es que el regulador lineal LD1117V33 operar cómodamente con hasta un 15VDC entrada, incluso en un paquete TO-220 con sin disipador de calor. Esto es debido a que el RN-XV extrae muy poca corriente, una de varias razones se escogió el módulo XBee de Digi Wi-Fi para esta aplicación. Con un módulo XBee, la disipación de energía requerida para un 15VDC de entrada requieren algunas medidas de gestión de calor adicional, que a su vez requerirá cambios en el PCB.
Para hacer el dispositivo de energía verdaderamente inalámbrica y autónoma, es proporcionada por 4 pilas AA. Un portapilas conectado funciona como una base conveniente para apoyar la placa de circuito. Porque los circuitos normalmente se oculta dentro de una caja decorativa, una simple banda elástica mantiene el circuito en su lugar.
El hardware esquemático y código de firmware microcontroladores están disponibles para su descarga en el sitio web principal del proyecto (ver fuentes sección abajo para hipervínculo).
FORMATO DE MENSAJE DE CONTROL
El formato de mensaje de control es muy sencillo y diseñado para una latencia mínima. Cada color se controla de manera independiente mediante el envío de un valor de byte único que consta de una dirección de color de 2 bits (A) y nivel de intensidad de 6 bits (L):
MSb LSb
A L L L L L L
Direcciones de color: Rojo = 00, verde = 01, azul = 10
Intensidad: 000000 = Off, 111111 = totalmente en
Mensajes típicos del software consisten en todos los bytes de control de tres colores concatenados en un único mensaje de 24-bit que asegura que los tres colores se actualizan simultáneamente.
DISEÑO DE PCB
El circuito era original desarrollado para un proyecto diferente, por lo que el diseño del componente no es ideal para esta aplicación, pero es funcional. Los archivos PCB layout gerber están disponibles para su descarga en el sitio web principal del proyecto (ver fuentes sección abajo para hipervínculo). Preste especial atención a la disposición del PWB versus el esquema, ya que para utilizar correctamente el diseño, cortar los rastros en el U2 (microcontrolador) lado entre C4 y D1, C5 y C6, D2 y D3. No cortar los restos en el lado de tierra. Entonces el lado del puente el U2 de C4, C5 y C6 al lado J1 de R1, R2 y R3, respectivamente. Esto se asegurará de que las salidas del microcontrolador se dirigen cada uno a través de la limitación de corriente resistencias en el camino a sus respectivos LEDs.
La interfaz principal para el dispositivo PhantomLink es un conector DB-9. El pinout estándar es modificado para proporcionar energía al dispositivo. Las líneas de datos en serie sólo se utilizan para la programación inicial del RN-XV (aunque generalmente fácil de programar el XV con su adhoc comando mode).
CONFIGURACIÓN DEL MÓDULO WI-FI
El módulo RN-XV WiFly debe formar una red adhoc inalámbrica para el ordenador de control a unirse y comunicarse con las diferentes luces. Siga las instrucciones de RN-XV para acceder a su modo de comando, entonces Introduzca la siguiente secuencia de comandos y guardar la configuración. Nota que este es un proceso una sola vez, así que una vez los ajustes no se guardan en el módulo WiFly, que nunca Irán cambiar.
Set wlan join 4
Set wlan ssid PhantomLink
Set wlan chan 1
configurar dhcp ip 0
configurar dirección ip 169.254.1.1
configurar ip netmask 255.255.0.0
configurar ip local 2000
establecer formato de opción 0
uart modo 0
Set máscara sys 0x2100
configurar ip protocolo 3
establecer uart velocidad en baudios 2400
RECINTO
Los tres LEDs no producen una mezcla de buen color sin una buena forma de difundir la luz. Para conseguir el efecto adecuado, un 4 "x 4" x 6 "caja de plástico transparente fue forrada con papel de seda blanco arrugado.
Este recinto proporciona suficiente ancho para ocultar el contenido interno y altura suficiente para colocar la fuente de luz en el centro de la caja. El resultado es un brillo que parece emanar del centro de la caja pero no tiene ninguna fuente distinguible.
SOFTWARE
El software de controlador de luz proporciona un amplio conjunto de características para el control de una o varias velas. El software está escrito en Java y puede funcionar en cualquier sistema capaz de comunicarse en una conexión de internet inalámbrica Wi-Fi. Control de mensajes se envía mediante datagramas UDP utilizando un formato sencillo de 24 bits de mensaje. El software del controlador proporciona varios efectos predefinidos controles, así como manuales para cada dispositivo conectado a la red.
Una secuencia de funcionamiento entero también puede ser programada en un plazo de tiempo, que puede ser opcionalmente sincronizado a una fuente de archivo de música (visualizada en la parte superior de la pantalla). Esta primera implementación importa archivos WAV (actualmente 22050/mono solamente), aunque el futuro soporte para más formatos seguirán pronto.
La interfaz de programación es conducido y altamente intuitiva. El usuario simplemente selecciona una región en la escala de tiempo, luego ratón para seleccionar en un menú emergente de efectos disponibles y colores. Cada efecto o color puede aplicarse a un solo dispositivo o a todos.
Otra característica interesante es un modo de "entrenamiento" que permite al usuario activar manualmente una luz en tiempo real como la fuente de audio se reproduce. Estos factores desencadenantes se registran en tiempo real, lista para la reproducción inmediata cuando el audio se reinicia. Este grabado desencadenadores se pueden trucar y editados según sea necesario, pero el trabajo más tedioso, sincronizar las luces el sonido--ya se realiza por el proceso de capacitación.
FUENTES
El firmware y software de código fuente, binarios y los archivos PCB están disponibles para su descarga en la Página principal del proyecto en http://www.phantomlink.com/lab/light.aspx