Corazón en las manos su LED caja (7 / 9 paso)

Paso 7: Programa el MCU

El programa es bastante simple. Una vez que se inicializa el MCU entra en el bucle principal donde el brillo de cada LED es aumentado o disminuido. Una interrupción de 100ns sirve como el momento para los LEDs. Cada 10ms (100hz) se encienden los LEDs. Cada LED se activa entonces cuando obtiene un contador para el nivel de brillo adecuado.

El siguiente es un ejemplo de uno de los controles de brillo de LED en el bucle principal del programa. En primer lugar, la "dirección" es comprobarse. Un 1 significa aumento de brillo; un 0 significa disminución de brillo. A continuación, el nivel es aumentar o disminuir a una tasa basada en su nivel actual. Para mantener el LED en un estado amortiguador más largo (es un montón brillante durante la mayor parte de su operación) su nivel cambia lentamente al principio. Una vez que llega a Estados más brillantes, más rápidamente cambiará el nivel. Si desea que los LEDs se comportan diferente, este es el lugar para hacer los cambios.

if(stat_flag & DIRECTION0) {/ / si LED 0 debería aumentar de brillo

Si brightness0 (brightness0 < 25) ++;   Aumentar lentamente durante Estados dim
else if (brightness0 < 40) brightness0 += 5; Aumentar un poco más rápido
else if (brightness0 < 100) brightness0 += 10; Aumentar rápidamente
Else CLEAR_BIT (stat_flag, DIRECTION0);  Tiempo para cambiar de dirección
}
Else {/ / si LED 0 debe disminuir en brillo
Si brightness0 (brightness0 > 40)-= 10;  Disminuir rápidamente
else if (brightness0 > 25) brightness0-= 5; Disminución ligeramente más lento
else if (brightness0 > 1) brightness0--;  Disminuir lentamente durante Estados dim
otro SET_BIT (stat_flag, DIRECTION0);   Tiempo para cambiar de dirección

}

El siguiente ejemplo es parte de la interrupción de 100ns que enciende y apaga los LEDs. Cuenta con un contador para cada LED a 100, en el cual se enciende el LED y restablece el contador. Si el contador no está al 100, se comprueba para ver si ha alcanzado el nivel de brillo actual. En este momento, el LED se apaga y permanece apagado hasta que el contador llegue a 100. Esto se conoce como PWM (modulación de anchura de pulso) y controla con eficacia el brillo del LED.

Si (++ cnt0 == 100) {/ / 100 * 100ns = 10ms (100Hz)
LED_ON(0);             Enciende LED 0
cnt0 = 0;                    Reiniciar contador
}
else if (cnt0 == brightness0) LED_OFF(0); Si alcanza el nivel de brillo deseado, apagar LED 0

He adjuntado el archivo principal (valentine.c) así como el fichero makefile necesario para el uso con WinAVR. También está disponible si desea programar el chip y no altera en absoluto el archivo Hex. También se incluyen en este archivo zip es el esquema para el uso en Cadsoft Eagle.

Artículos Relacionados

Corazón de madera en forma de caja del corte del laser

Corazón de madera en forma de caja del corte del laser

Aquí es una caja en forma de corazón que puede cortar con láser y montar justo a tiempo para el día de San Valentín.El archivo ha sido tamaño para caber en una sola hoja A3 y puede ser cortado con una máquina como el amarillo A3 láser de corte. Yo he
Corazón en la mano y San Valentín Star Wars

Corazón en la mano y San Valentín Star Wars

este corto instructable le da las indicaciones para las dos diferentes día de San Valentín dieron a mis hijos este año.Es mi más antiguo en primer grado y mi hija está en edad preescolar.Ambas ideas de San Valentín se inspiraron en los Pins de Pinter
Galletas de Chocolate crujientes de DOOM! ~ un camino en el corazón de las tinieblas

Galletas de Chocolate crujientes de DOOM! ~ un camino en el corazón de las tinieblas

¿Te gusta el chocolate? Quiero decir ¿te gusta chocolate? Entonces estas son las galletas para ti.Paso 1: Ingredientes y herramientas Aquí encontrará todos los ingredientes necesarios para el descenso en el corazón de la exquisitez de chocolate oscur
Ayudando a las manos y habilidad con las herramientas

Ayudando a las manos y habilidad con las herramientas

solo recogí las últimas manos ayudando a básicamente porque tenía una buena lupa claro más grande. Mi viejo Helping Hands tenía lupas inútiles poco aburridos. Quería que la lupa en el nudillo del centro. Aquí es donde la experiencia con las herramien
Las manos EXTRA para soldar - pulpo

Las manos EXTRA para soldar - pulpo

Un extra de las manos (mano), también conocido como una tercera mano, es un tipo de manos extremadamente ajustables para sostener los materiales de cerca unos de otros para que el usuario pueda trabajar en ellos.Paso 1: Materiales utilizados Pedazo d
Fotón generador complementario para ayudar a las manos

Fotón generador complementario para ayudar a las manos

Mi anterior "Instructable" demostró una manera fácil de añadir una base a un accesorio "manos ayudando", para que sea más útil.Este complemento, ayudará a aquellos que les gusta ver lo que están trabajando.Paso 1: Las partes...Mi "
¿Las manos cálidas de WAKA WAKA

¿Las manos cálidas de WAKA WAKA

lo que es mejor que una almohada? Una almohada con las manoplas! ¿Qué es mejor que una almohada con las manoplas? Una almohada de PAC-MAN con las manoplas! En este instructable le mostraré cómo tomar cualquier tipo de diversión loca tela tienen a la
Bicicleta de viento protectores para las manos

Bicicleta de viento protectores para las manos

es caída, y por la mañana ha conseguido bastante nítida. Yo uso mi bicicleta para conmutar para trabajar, y mientras el clima más frío lo hace más cómodo en general, la sensación es realmente a partir de lastimar mis manos. Los guantes son sólo una s
Las manos del cadáver

Las manos del cadáver

ya que no podía usar un par de manos extra?Halloween se realiza para arriba grande en mi casa, normalmente por mi! He tomado un montón de inspiración e instrucción de internet en los últimos años y pensó que era hora de que dio vuelta. Así que hoy qu
Evitar quema las manos con un tirador de cremallera de horno

Evitar quema las manos con un tirador de cremallera de horno

vio uno de estos en el Hardware de Amish de Lehaman, pensé yo podría hacer uno barato.Un par de tiradores de estante de horno se utiliza para obtener la bandeja fuera del horno así que hay menos posibilidades de burinig las manos.Mi esposa tiene poco
El corazón púrpura en forma de caja

El corazón púrpura en forma de caja

Hoy voy a mostrar cómo hice a mi esposa un corazón púrpura en forma de caja para el día de San Valentín.Paso 1: Elija su madera.Mi primer paso fue ir a mi patio madera local y recoger un trozo grande de 28 "x 9 1/2" x 7/4 púrpura corazón de poco
Indicador ocupado / libre Led caja

Indicador ocupado / libre Led caja

Este cuadro se hace simplemente para mostrar y contar la gente si está ocupado o no, mostrando la luz roja que está ocupado así que no hay tiempo para preguntas o lo que sea, luz verde, usted es libre, por lo que es el momento!Sería realmente útil en
Las mejores diapositivas del cajón dos vías

Las mejores diapositivas del cajón dos vías

Han necesitado alguna vez un cajón que se podía abrir desde cualquiera de los extremos; ¿como para un carro cocina isla o herramienta? Si has visto, hay dos diapositivas que se pueden comprar. Son bastante caros. Además, la manera en que están constr
Las manos sólo CPR

Las manos sólo CPR

Un estudio de 2010 demuestra que las manos solamente CPR por el laico es tan eficaz como el convencional CPR. Esto debe animar a extranjeros para ayudar a una persona en paro cardíaco.Paso 1: Recongnize que existe una situación de emergencia y llame