Paso 3: circuito
D1 (diodo Schottky) y C2 forman un rectificador para crear tensión de Joule Thief. Diodo Zener D2 se agrega a "sujetar" o limitar la tensión a 5.1V para evitar dañar el microcontrolador (tensión máxima que puede soportar este chip es 6V). Sin el diodo Zener allí, la tensión de salida del circuito de impulso puede pasar 6V cuando no se ilumina ningún LED.
Cuando la batería se conecta en primer lugar, la tensión de carga del condensador C2, entonces nada sucede hasta SW1 está cerrado. Una vez cerrado el SW1, corriente pasa a través de R1 para activar la Q2, y el circuito Joule Thief comienza a trabajar. En una fracción de segundo, la tensión en C2 alcanza lo suficientemente alta para el microcontrolador poner en marcha. Una vez que el microcontrolador empieza a correr, pone señal PWR alta, para que el Joule Thief va seguir funcionando incluso después de SW1 está abierto. (Energía en cierre)
Tenga en cuenta que después de encendido inicial, microcontrolador relojes de su propia tensión de alimentación a través de conversor A/d y ajusta ligeramente por debajo de la tensión de zener, para no desperdiciar la preciosa energía de la batería. Conexión de "PWR" al microprocesador hace girar encendido sesgo actual a Q2.
Este pin "PWR" tiene dos propósito; uno es el circuito del aumentador de presión de control, el otro es leer el estado del interruptor de botón. (este arreglo guarda un pin del microcontrolador precioso).
El interruptor SW1 es más que un interruptor de encendido, proporciona el cambio de patrón, velocidad de la animación cambiar (doble toque para aumentar la velocidad, el triple tap para disminuir la velocidad). Microcontrolador lee el estado del botón girando el perno de "PWR" periódicamente en un pin de entrada. Esto sucede aproximadamente cada 8 milisegundos (125 veces por segundo). La lectura del botón toma alrededor de 2 microsegundos. El circuito del aumentador de presión apaga durante este 2 microsegundos, pero no se sentía porque condensador C2 proporciona el poder durante ese período.
PWM Control de brillo de LED
Cada uno de los ocho LEDs puede tener su propio nivel de brillo. Brillo se especifica (firmware) en número de 8 bits 0 - 255. Rutina de interrupción del contador de tiempo Lee los niveles de brillo y activar/desactivar cada LED por lo tanto, en sincronía con la señal PWM de hardware. (Frecuencia PWM es 31.25 kHz. Interrupción se produce cada 32 microsegundos con firmware versión 1.0)
Cambio de brillo es muy suave - utilizando la misma técnica PWM como mis proyectos de Aurora. A diferencia de otras implementaciones de PWM, la curva de cambio de brillo no es lineal, sino exponente (anti-logarítmica). Esto es importante porque la respuesta de nuestro ojo a cambio de brillo es más o menos logarítmica, por lo tanto LEDs necesitan cambiar el brillo de la manera opuesta.
Con onda JT, la salida PWM de hardware se utiliza como un reloj de precisión para conducir el autobús de LED (línea común que une a todos los LEDs) y pins "COLx" seleccione que pulso para encender el LED que está conectado.
(Véase mi Aurora 9 x 18 instructable para explicación más profunda si usted está interesado.)