Minipunto 2 - la holoclock (3 / 6 paso)

Paso 3: Algoritmo de regulación - la Cruz fade efecto y doble búfer

La transición entre un modelo y el siguiente fue previamente inmediata. Para este reloj que quería mostrar un patrón decreciendo gradualmente en brillo y en el siguiente patrón aumentando poco a poco... es decir una cruz se desvanece.

No es necesario tener LEDs individuales para ser controlado en los niveles de brillo distintos para hacer un fundido cruzado. Justo necesitaba el primer patrón con un brillo y el segundo con un brillo bajo. Entonces durante un breve periodo sería disminuir un poco el brillo de la primera y aumentar la segunda... esto sería seguir hasta el segundo modelo al completo. Entonces el reloj sería esperar hasta el siguiente patrón debía Mostrar y habría otra transición.

Por lo tanto necesitaba almacenar dos patrones. La muestra actualmente y el segundo modelo que estaba a punto de mostrarse. Estas son las matrices [] de nLedsA y nLedsB. (tenga en cuenta nada que ver con los puertos en este caso). Este es el búfer doble.

La función de update_display() fue modificada para recorrer ocho Marcos y mostrar un número de fotogramas de la primera matriz, luego el otro. Cambiar el número de marcos asignados a cada buffer a lo largo de los ocho ciclos definidos cómo brillante cada patrón sería. Cuando terminamos de ciclismo entre buffers nos cambiamos el 'display' y 'próximo display' neutraliza, por lo que el patrón de generación de función entonces escribiría sólo al buffer 'a continuación Mostrar'.

El siguiente diagrama muestra esta suerte. Usted debe ser capaz de ver que la transición tendrá 64 marcos de análisis. En la imagen, muestra en el recuadro pequeño el fram de exploración del diagrama de la página anterior ingeniosamente reducido.

Una palabra sobre la tasa de re-fresh. Todo esto debe hacerse muy rápidamente. Tenemos ahora dos niveles de cómputo extra, uno para la pantalla de ambiente dimmness y uno de los ciclos de ocho marco pasó haciendo una transición entre dos tampones. Así era este código debe ser escrito en Asamblea, pero es lo suficientemente bueno en 'C'.

Artículos Relacionados

Microdot - reloj de pulsera reloj LED modelo

Microdot - reloj de pulsera reloj LED modelo

producción otro RGB Sunset producciones!Este proyecto es un circuito para hacer una versión de tamaño reloj de muñeca de mi reloj minipunto:con unas cuantas funciones más más aplicables a un dispositivo portátil. Un montón de ayuda y sugerencias prov
Charlieplexing LEDs - la teoría de la

Charlieplexing LEDs - la teoría de la

este instructable es menos a construir su propio proyecto y más una descripción de la teoría de charlieplexing. Es conveniente para las personas con los fundamentos de la electrónica, pero no completa principiantes. Que he escrito en respuesta a las