Diseñar una lámpara Multi nodo LED PWM (4 / 6 paso)

Paso 4: Software

El software realmente hace que esta garrapata de proyecto!

El código fuente en el 12F609 es realmente complicado. Estoy usando siempre última posición de memoria! Los 64 bytes se han consumido por mi código. Tengo una friolera 32 bytes de izquierda flash encima como de repuesto. Por lo tanto, estoy usando 100% del RAM y el 97% de la flash. Sin embargo, es increíble cuánta funcionalidad tienes que complejidad.

Comunicación a cada lámpara se archiva mediante el envío de paquetes de datos de 8 bytes. Cada paquete de datos termina con una suma de comprobación - así que en realidad, hay siete bytes de datos además de una suma de comprobación final. A 9600 baudios, un paquete de datos tarda unos 8 milisegundos en llegar.

El truco está en multitarea mientras que llega el paquete de bytes. Si alguno de los LED se activa con una señal PWM, la salida PWM debe ser mantener actualizados incluso mientras recibe bytes de paquete nuevo. Ese es el truco. Me llevó semanas y semanas para arreglar esto. Pasé una gran cantidad de tiempo trabajando con mi LSA Logiport tratando de seguir cada bit. Esto es parte del código más complicado que nunca he escrito. Es porque el micro es tan limitado. En micros que son más de gran alcance es fácil escribir código fácil flojo y el rápido micro rip a través de él sin quejarse. Con el 12F609, cualquier código suelto con costarle un montón. El micro código está escrito en C excepto la rutina de servicio de interrupción.

Por qué tienen tales usted puede pedir los paquetes de datos grandes. Bueno, porque queremos tener la rampa LED arriba y abajo en su propio acuerdo. Una vez que se carga un perfil de rampa, el LED puede ir y comenzar incrementando incluso mientras se reciben nuevos comandos para el otro LED. Cada lámpara tiene que recibir y decodificar todos tráfico de paquetes de datos incluso si el paquete no es para él.

Un perfil LED consiste en un nivel de inicio, comienzo habitan tiempo, rampa, tiempo de detención superior, nivel superior, rampa de bajada tasa, de nivel inferior. Ver la figura adjunta. Wow, eso es mucho para un LED. Ahora, multiplicar eso por el número de LEDs. Se convierte en demasiado - podría solamente hacer un seguimiento de tres LEDs con perfiles de rampa completo. La cuarta (LED blanco en el tablero de dev) sólo tiene rampa de capacidad. Es un compromiso. Echar un vistazo a la foto adjunta de un perfil de rampa.

La señal PWM se genera un temporizador que se ejecuta en 64uS por garrapatas. El temporizador de 8 bits se vuelca cada 16.38mS. Esto significa que la señal PWM está funcionando en 61.04 Hz. Esto no es bueno para tocar video! Por lo tanto, utilicé un truco de software y saltó un par de cuentas adicionales en el controlador estirar a 60Hz. Esto hace tapping video mirar mucho mucho mejor.

En cada vuelco del temporizador PWM (16.67mS) actualizar los perfiles de la rampa. Por lo tanto, cada señal de rampa/dwell es 1/60 de segundo, o 60Hz. El segmento más largo de perfil (mediante una cuenta de 255) lo últimos segundos 4,25 y el más corto (usando una cuenta de 1) dura 17ms. Esto da una gama agradable para trabajar dentro. Echar un vistazo a la foto adjunta desde el analizador de lógica. Para ver el detalle en la foto, abrir el pic en el modo de alta resolución. Esto toma un par de clics adicionales en el sitio web instructable. También hay un dibujo de un perfil que se muestra a continuación.

Documentación del Protocolo de comando está en mi lista de todo. Planeo escribir un hoja de datos tipo de documento a describir para protocolo completamente. He empezado una hoja de datos para el chip - una versión preliminar en mi sitio web ahora.

Artículos Relacionados

Modding de una lámpara de escritorio LED de cama, baño y más allá

Modding de una lámpara de escritorio LED de cama, baño y más allá

se trata de una lámpara de escritorio LED hecho expresamente para cama, baño y más allá. No sé cuánto tiempo he tenido. Sin embargo, ha durado me un buen 2 o 3 años. Sin embargo, tuve problemas con el mecanismo del interruptor. Salen a veces y tengo
Una lámpara de lectura LED lujo hecha de una lata de spray

Una lámpara de lectura LED lujo hecha de una lata de spray

prólogo:Esta es mi primera edición aquí, también don t dude en preguntarme, si mi intento de escribir en inglés no tiene sentido en algún momento ;)La Idea:Otra vez como mi desodorante spray vacío me preguntaba qué podía hacer con este agradable alum
Adaptación de una lámpara CFL a LED

Adaptación de una lámpara CFL a LED

Bueno, aquí va - este es mi primer Instructable.Cuando compramos nuestra casa hace varios años y había actualizado todas las luminarias de estilo antiguo para un look más acorde con nuestro gusto, dos accesorios seleccionamos utilizan los tubos fluor
Reparar una lámpara multi-switch

Reparar una lámpara multi-switch

adquirí una lámpara colgante de una antigua casa de la mina donde no había ninguna encima de la cabeza de iluminación (50 + años de edad la casa) pero sólo un gancho para colgar algo.  El interruptor siempre ser un poco exigente pero puesto que el po
Construir una lámpara de luz LED madera en TechShop

Construir una lámpara de luz LED madera en TechShop

este Instructable muestra cómo construir una simple LED luminaria, con un cortador láser. Utiliza múltiples capas de material pegados juntos para conseguir formas complejas fácilmente.He fabricado y había construido este artículo en TechShop.Paso 1:
Convertir un viejo ratón en una lámpara de escritorio LED con USB

Convertir un viejo ratón en una lámpara de escritorio LED con USB

¿Tiene un viejo ratón poner alrededor? Por supuesto que hacer. ¿Necesita más LEDs en tu vida? POR SUPUESTO QUE HACER. Volvamos ratón viejo en una fuente de alimentación USB de algunas luces de LED. Vamos a utilizar algunos Sugru e imanes para hacer e
Cómo hacer una lámpara de pared (aplique)

Cómo hacer una lámpara de pared (aplique)

quería diseñar y hacer lámparas de pared (Apliques) que podría trabajar en mi piso de alquiler y que eran fáciles de personalizar para adaptarse a cualquier look que quería. El resultado son estas lámparas de pared barato hechas en 2 partes, la base
Lámpara de escritorio LED alimentado por USB

Lámpara de escritorio LED alimentado por USB

Hola chicas!Hoy, a 5 min USB había accionado lámpara de escritorio. He tenido problemas con las luces de neón en el trabajo, así que decidí construir una lámpara de escritorio LED fácil y rápida que es alimentada por el puerto USB en mi PC de escrito
Multi-color LED lámpara utilizando una v.3 controlador de LED de canal 8

Multi-color LED lámpara utilizando una v.3 controlador de LED de canal 8

que quería experimentar con el uso de diferentes colores de LEDs, que no sea el estándar RGB, para crear efectos multicolores en una lámpara funcional.Esta lámpara utiliza cian, Magenta, amarillo, morado, Aqua-verde y azul 5mm LED junto con el superi
Convertir su lámpara halógena de escritorio en una lámpara de LED

Convertir su lámpara halógena de escritorio en una lámpara de LED

en este Instructable, voy a mostrar cómo convertir uno de esos potentes de halógenas de escritorio en 10 x más eficiente LED lámpara con sobre el mismo brillo. Pido disculpas por cualquier gramática u ortografia cual puede aparecer, soy un alemán, as
Convertir una lámpara de LED de batería para alimentación USB.

Convertir una lámpara de LED de batería para alimentación USB.

Saludos,Mi escritorio en el trabajo tiene un aparador con una ventana de enfrente, y después de un cambio de sistema de teléfono perdido el retroiluminado paneles LCD en nuestros teléfonos.  Puesto que mi teléfono quede bajo mi aparador y no me impor
Hackear vacío panal Bin recarga casetes en una lámpara LED modulable

Hackear vacío panal Bin recarga casetes en una lámpara LED modulable

HistoriaQue vieron esos casetes de tipee tommy o angelcare (perdón si olvido a otra compañía, estoy seguro que usted puede encontrar una o dos empresas más :)), notó que los tuvo mucho lugar en la basura.Me dije, son bastante rápida vacía y entonces
Cómo convertir una lámpara Jonisk de IKEA con LEDs

Cómo convertir una lámpara Jonisk de IKEA con LEDs

compré una lámpara Jonisk de IKEA en mi sala de estar, pero cuando encendido la lámpara con una bombilla de 60W calentarse como ***. Comencé a averiguar cómo convertir a una lámpara de LED en su lugar.He encontrado una empresa que vende alta potencia
Una lámpara de LED Multicolor

Una lámpara de LED Multicolor

Este proyecto, mi primer documentado aquí en Instructables, permitirá crear un programables Multicolor LED lámpara de lujo, usando una caja impresa 3D, algunos bares de plexiglás, un circuito microcontrolador basado y un anillo de leds.Surgió la idea