Estilo de Apple LED pulsación utilizando un microcontrolador $1,30 (5 / 6 paso)

Paso 5: El código

Este es mi código.  Esperemos sea lo suficientemente bien, comentó.

 /* LED Pulsate with PWM */ #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/sleep.h> int main() { // Turn on LED output pin DDRB |= _BV(DDB0); // Clear OC0A on match TCCR0A |= _BV(COM0A1); // Set timer to count with F_CPU / 64 TCCR0B |= _BV(CS10); // F_CPU TCCR0B |= _BV(CS01) | _BV(CS00); // /64 prescale // Use Fast PWM, OCRA TOP TCCR0A |= _BV(WGM00); TCCR0A |= _BV(WGM01); //TCCR0B |= _BV(WGM02); // Initial value for our pulse width is 0 OCR0A = 0x00; uint8_t dir = 1; // Direction uint16_t div = 500; // # of clocks per inc/decrement uint16_t stall = 0; // Initial stall counter uint16_t stall_time = 500; // # of clocks to stall at top/bottom for(;;) { // We only want to update every div counts if(TCNT0 % div != 0) continue; // Stall at the top and bottom, and change direction if(OCR0A == 255 || OCR0A == 0) { // Switch directon at top if(OCR0A == 255) dir = -1; else { // Disable LED at bottom // And switch direction DDRB &= ~(_BV(DDB0)); dir = 1; } while(stall < stall_time) { ++stall; _delay_ms(10); } // Turn output back on if necessary if(OCR0A == 0) DDRB |= _BV(DDB0); stall = 0; } // General case - increment direction either way OCR0A += dir; } return 0; } 

Que este código es uno mismo-documentación. Básicamente, estamos cambiando la anchura de pulso cada pocos cientos relojes en una dirección u otra. Tiene un caso especial para cuando llegamos a la parte superior o inferior (cambiar de dirección y detenerse), al igual que la manzana hace cosas. Hay otro caso especial cuando queremos apagar completamente el LED en la parte inferior - si no hacemos esto, todavía tiene (1/256) % ciclo de trabajo y usted puede verlo. De lo contrario, el código debe ser algo conciso. Alentar la crítica constructiva.

Artículos Relacionados

Juego de LED multifunción utilizando un microcontrolador ATmega32

Juego de LED multifunción utilizando un microcontrolador ATmega32

En primer lugar son mis respuestas para el concurso de Make-a-aprenda:¿Lo que?Hice un programa de matriz de LED multifunción, como mi anterior con Arduino UNO, pero esta vez la hice con un microcontrolador ATmega32. He utilizado regular C código a pr
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
LED pulsación para activar CCO

LED pulsación para activar CCO

Este instructable es acerca de cómo utilizar secuencias de pulsos de luz en diferentes longitudes de onda para "resonar" con citocromo c oxidasa en las células para ayudar a generar más ATP con menos calor de los LED. La luz se utiliza principal
GAFAS FUNKY RAVE (LED matriz gafas utilizando un PICAXE)

GAFAS FUNKY RAVE (LED matriz gafas utilizando un PICAXE)

Hi todo el mundo! Este es mi primer Instructable y mi primer proyecto de PicAxe. Se agradece la crítica constructiva.Hice a un par de gafas con Matrices de LED en las lentes que va a utilizar en eventos musicales o discotecas. También como práctica p
4 x 4 x 4 cubo del LED, con MSP430, utilizando sólo 3 pines

4 x 4 x 4 cubo del LED, con MSP430, utilizando sólo 3 pines

este es mi 4 x 4 x 4 cubo led proyecto, realizado con MSP430, usando solo 3 pines del MSP, el diagrama del circuito se muestra en las fotos, el hardware consta de cambio de 3 registros, transistores NPN 74595 y 4...Usted puede aprender cómo hacer un
Un ROBOT muy rentable utilizando el microcontrolador c 89 51.

Un ROBOT muy rentable utilizando el microcontrolador c 89 51.

Hola chicos este es mi primer insuperable, así que por favor ir fácil en mí...Lo que he construido en este insuperable es un Robot. Yo lo llamo un espía Robot (cos si construyen pequeñas y si se añade una cámara actuará como un espía). Cualquier mane
Cómo conducir una gran cantidad de LEDs de unos pines del microcontrolador.

Cómo conducir una gran cantidad de LEDs de unos pines del microcontrolador.

Con el hecho de que muchos pines del microcontrolador tienen tres Estados (+ V, GND, o"alta impedancia", coche N*(N-1) LEDs de pines N. Así que el pequeño 8microcontrolador de PIN como un PIC12Fxxx o un ATtiny11 puede conducir 20 LEDs ensus cinc
ENTRETELA de una matriz de puntos de 8 X 8 LED DISPLAY con un AT89C51 microcontrolador

ENTRETELA de una matriz de puntos de 8 X 8 LED DISPLAY con un AT89C51 microcontrolador

Interfaces en un 8 x 8 matriz de puntos puede ser divertido y es fácil de jugar, así que vamos a entrar directamente en ella!Paso 1: Lo que usted necesitará:AT89C51 MICRCONTROLLERDOT MATRIX 8 X 8UNA PLACA DE DESARROLLO OMÓDULO DE MATRIZ DE PUNTOPaso
Zumbador de quiz 8 candidato utilizando el microcontrolador 8051 (AT89C51)

Zumbador de quiz 8 candidato utilizando el microcontrolador 8051 (AT89C51)

el concurso zumbador sistemas son ampliamente utilizados en escuela, colegios y programas de televisión. El equipo que presiona el timbre más temprano tiene derecho a dar la respuesta. A veces resulta muy difícil identificar qué equipo ha presionado
Instalar una difusor LED luz

Instalar una difusor LED luz

En Ahoymarineproduct.com ofrecemos 2 estilos de luces LED.Óvalo de 15W27W cuadradosExisten varios métodos para instalar una luz de LED difusor en su barra de t-Top. Las luces que ofrecemos en Ahoymarineproduct.com se fabrican con aluminio de alta cal
LED de decoloración con un temporizador 555

LED de decoloración con un temporizador 555

El temporizador 555 es uno de los más ampliamente conocidos y simples circuitos integrados (IC) en el mercado. Puede ser utilizado de muchas maneras con diferentes modos (monoestable, astable y biestable) de cada modalidad que se utiliza para produci
Suave-circuito LED pulsera

Suave-circuito LED pulsera

¿te gusta diseñar o coser? ¿Te gusta LED? Bien, por qué no combinar tus pasiones con este 'alambre libres' pulsera del LED!Aquí es un proyecto de circuito de suave rápido y relativamente fácil que dirigió un taller abril de 2007. Divertirse un poco c
Automático, Biorritmo LED acuario luz

Automático, Biorritmo LED acuario luz

luces del acuario Normal son tubos fluorescentes que requieren que encienda por la mañana y apagado en la noche. Esto no es la manera más eficiente a la luz un tanque, pero por alguna razón es el kit por defecto te dan. Otra cuestión es que el circui
Juego cyber de LED a todo color! (adicional instructables para NES Powerglove control, EQ de Audio en vivo, etc. seguir!)

Juego cyber de LED a todo color! (adicional instructables para NES Powerglove control, EQ de Audio en vivo, etc. seguir!)

** Crédito a LVL1 Hackerspace para comenzarme hacia abajo el camino de la obsesión de LED y ofrece conexiones a algunas personas quienes han sido asombrosos recursos durante los años www.lvl1.org **Simplemente no pude resistir creando un instructable