MIDI Piano Lighting (8 / 11 paso)

Paso 8: Software: Timers y las interrupciones

No sé qué fotos publicar para explicar el software, así que, obviamente, probablemente mejor solo post una foto con un gato. También, el código de arduino completo está disponible para descargar por encima. (lbdOrganPWM.ino)

Timers y las interrupciones

Para poder utilizar el hardware PWM en secuencia con la línea de CA accionar, todo lo que tenemos que hacer es asegurarse de que el contador que se utiliza para el valor de PWM se reposiciona en el cruce por cero de la tensión de línea. Con el circuito de disparo, explicado en el paso 7, atribuimos una interrupción de hardware a este pin a cero los contadores cuando desencadena.

Cada contador se inicializa en el inicio del programa en el modo de generación de forma de onda de modo rápido PWM con ICRn como valor superior. Este modo es lo que hace usando el hardware PWM posibles.

Ya que tenemos 7-bits de resolución en la velocidad de la nota MIDI, queremos acercarnos bastante a esta resolución para la intensidad de la bombilla. Francamente, cualquier cosa por encima de 16 pasos es bastante despreciable, pero puesto que podemos así podríamos. Si fijamos el prescaler de los temporizadores a 1024 (pág. 161 de Atmega2560 hoja de datos), entonces tenemos 16 Mhz / 1024 para nuestro reloj = 15625 Hz. Nuestra frecuencia objetivo de nuestra forma de onda PWM total es 120Hz, para que coincida con el semiciclo de la tensión de línea de 60Hz. Por lo tanto, dividimos 15626/120 para obtener ~ 130. Esto significa que si fijamos nuestros ICRn registro to130, obtenemos una frecuencia que empareja la frecuencia de línea con ~ 130 pasos. Es perfecto ya que contamos con 128 pasos en la velocidad MIDI!

Después de probar esto, hay alguna variación en la frecuencia de línea, y así que acabé utilizando un valor superior (ICRn) de 122. Esto parecía un seguro suficiente valor donde haría que se apago el triac en el cruce de cero. Si vas demasiado lejos más allá del umbral de la cero-cruz, te lo puedes perder y la luz nunca se apaga o atenúa.

Lo último, sobre la configuración del temporizador es la polaridad PWM. Porque una vez que el temporizador llega a su punto queremos hacer que el triac se apaga (esto significa que estamos cerca de la Cruz cero), tenemos que usar el modo invertido del perno PWM, así que cuando el temporizador = 0, el pin es baja. Eso significa que sólo cuando obtenemos un valor de velocidad de 100, que realmente queremos establecer el registro PWM a 127-100 = 27.

Para el manejo de la cero-cruz, la biblioteca arduino tiene una función de este uso de la interrupción de hardware:

 attachInterrupt(5,zeroCrossDetect,FALLING); 

Donde 5 es el número de interrupción (pin 18 en la Mega), descendente indica sólo se activa en el flanco descendente (1 -> 0, no 0 -> 1) del perno de interrupción, y zeroCrossDetect es la función a continuación.

Trabaja poniendo todos los contadores utilizados por los pines PWM específicos que he elegido a cero en el cero de la Cruz. También establece el modo de generación de prescaler y forma de onda para cada temporizador, la razón de esto es para que el temporizador comienza el ciclo de CA en el inicio del programa, haya no hay offset desde el comienzo.

 void zeroCrossDetect() { TCNT1 = 0; TCNT3 = 0; TCNT4 = 0; TCNT5 = 0; TCCR1B = (1<<WGM12) | (1<<WGM13) | (1<<CS10) | (1<<CS12); TCCR3B = (1<<WGM32) | (1<<WGM33) | (1<<CS30) | (1<<CS32); TCCR4B = (1<<WGM42) | (1<<WGM43) | (1<<CS40) | (1<<CS42); TCCR5B = (1<<WGM52) | (1<<WGM53) | (1<<CS50) | (1<<CS52); } 

Artículos Relacionados

Piano de zanahoria (un proyecto MaKey MaKey)

Piano de zanahoria (un proyecto MaKey MaKey)

¿has pensado que una zanahoria puede crear un buen sonido? Con la ayuda de un MaKey MaKey pueden. Pero simplemente tener unas teclas no es lo suficientemente bueno, vamos a construir uno que puede tener 18 teclas y 2 octava completa.Paso 1: materiale
Makey Makey melódica electrónica

Makey Makey melódica electrónica

Conexión a tierra cuando el teclado Makey Makey quita un poco de la diversión, como esto a menudo significa que usted extremo para arriba con un alambre a menudo enganchado a su muñeca o en su mano. Por lo tanto, Divya ocurrió la excelente idea de po
Convertir un piano de juguete para trabajar como un dispositivo midi y utilizar con Synthesia

Convertir un piano de juguete para trabajar como un dispositivo midi y utilizar con Synthesia

objetivo de este proyecto:Convertir un piano de juguete barato para trabajar como un dispositivo midi y utilizar con Synthesia (http://www.synthesiagame.com/)También pueden utilizar otros programas que utilizan entradas de midi.Enfoque:Las teclas del
88 teclas de un Piano sensible - Bluetooth-MIDI. Búsqueda de fondos.

88 teclas de un Piano sensible - Bluetooth-MIDI. Búsqueda de fondos.

Hola,después de frustrado con mi piano 5 octavas, tratando de jugar más exigentes partituras de 6 octavas. Me decidí a construir uno de 7 octavas MIDI que puede oírse por bluetooch en PC. Mi idea es buscar financiamiento, gracias a su ayuda y desarro
Pinza para la ropa Piano para el iPad

Pinza para la ropa Piano para el iPad

Pantallas táctiles son grandes, pero cuando se trata de reproducir música en ellos, la falta de teclas físicas puede ser un lastre. Así que decidí reunir algunas cosas en casa y hacer un teclado de piano que engaña el iPad de pensamiento es tocada po
Light-Up de agua

Light-Up de agua

¿Así que tenemos un viejo par de esquís que se quieren hacer en tu trono luminiscente en la montaña? ¡ Excelente!¿O quieres darle tus esquís actuales un nuevo giro? Incluso mejor!Los esquís del Light-Up son un gran pedazo de conversación, así como un
Hacer un Piano de pulgar (Mbira)

Hacer un Piano de pulgar (Mbira)

esta es una guía básica para la construcción de un Piano de pulgar, o Mbira. Se han hecho durante siglos en África (y otros lugares) y varían mucho en forma, tamaño y sonido. Pertenecen a un grupo de instrumentos denominados "Lamellophones" que
Controlador Arduino personalizado MIDI

Controlador Arduino personalizado MIDI

Hola y Bienvenidos a este instructable sobre cómo construir un controlador USB MIDI personalizado, barato y fácil, basado en Arduino. La mejor noticia: sólo tiene que conectar sin problemas con interfaces USB a MIDI, o herramientas de software como M
Apple Logo Glow Light

Apple Logo Glow Light

soy un Macolyte, hice un Logo Apple Glow Light, usa legos, los LED y una pegatina de Apple.Yo no estoy avalando Apple y Lego, ni trabajo para ellos, esto fue solo por diversión proyecto! ***Aquí están las piezas que se utilizaron en este proyecto:Eti
Light-Up mesa de mensaje borrar seca

Light-Up mesa de mensaje borrar seca

convertir un viejo marco de fotos en un centro de mensaje iluminada!En este Instructable, te guiará a través de cómo hice un tablero de mensajes del light-up para dejar notas u obras de arte.Para el reciclaje astuto DIY más, echa un vistazo mi blog e
Humano Piano

Humano Piano

Hola, soy un estudiante de la Politécnica de Singapur. Este proyecto se llama el Piano humano donde se utilizan sensores infrarrojos para detectar el movimiento y cada sensor tiene un tono diferente con a Digital al convertidor de análogo (DAC).* Not
MIDI que controla luces de Arduino

MIDI que controla luces de Arduino

Hola, este post es creado por Jesus Alberto Cejas y Pablo Javier Ruiz para mostrarte nuestro proyecto sobre un teclado musical, hermosas luces y Arduino.Este proyecto fue para la 'Electrónica creativa', una electrónica de Beng ingeniería 4 º módulo d
Piano de LED tira de aprendizaje

Piano de LED tira de aprendizaje

Introducción¿Cuántas veces has escuchado una canción - en la radio, durante una película, o en un concierto - y pensado a "Ojalá que pudiera jugar que el hombre"?  Ahora usted puede! Este proyecto le permite aprender una canción Nota por nota en
PiMiDi: Una frambuesa Pi caja Midi, o cómo aprendí a dejar de preocuparme y amar MIDI

PiMiDi: Una frambuesa Pi caja Midi, o cómo aprendí a dejar de preocuparme y amar MIDI

Este es mi segundo instructivo sobre el uso el Raspberry Pi para audio digital, Compruebe hacia fuera mi primer instructivo para saber cómo configurar y controlar efectos de audio personalizados en un Raspberry Pi.Si te gusta jugar con efectos de aud