Espectáculo de luz MIDI (6 / 7 paso)

Paso 6: Codificación de conceptos

Aquí está el primer pedazo principal de nuestro código.

 //These are the midi commands to interact with the arduino byte midi_on = 0x90; byte midi_off = 0x80; /* These global variables are used specifically with the check_midi() function listed later in the program */ byte location_byte; byte in_note; byte in_volume; 

En primer lugar establecemos una variable constante para el mensaje midi_on y el mensaje de midi_off para que rápidamente podemos referirnos a ellos en el código. A continuación, creamos variables de 3 bytes para la entrada de las funciones de midi como notado anteriormente.

A continuación vuelven a ser las funciones de midi:

Esta es la función de internet para escribir el tono vacío midi_send (byte cmd, nota de byte, byte volumen) {digitalWrite(3,LOW); Serial.Write(CMD); Serial.Write(Note); Serial.Write(Volume); } //Here is the internet function for writing out the pitch void midi_send(byte cmd, byte note, byte volume) { digitalWrite(3,LOW); Serial.write(cmd); Serial.write(note); Serial.write(volume); } //reads the serial port to see if there is any incoming information boolean check_midi() { while (Serial.available() >= 3)//when three bytes available { if (Serial.available()) { digitalWrite(3,HIGH); location_byte = Serial.read();//read first byte in_note = Serial.read();//read next byte in_volume = Serial.read();//read final byte return true; } } } 

Aquí están las funciones que mencionamos anteriormente.  Se copian simplemente por causa de la continuidad. Movimiento...

 //arduino specific setup void setup () { Serial.begin(31250); pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5, OUTPUT); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5, LOW); } 

Esto es una parte muy importante de la Arduino.  Esto fija la tasa de baudios y la tasa en la cual el Arduino Lee los bits que se está enviando a la velocidad que requieren los sistemas midi.  A continuación establece pines 3, 4 y 5 a los pines de salida.  Finalmente escribe los pines de salida para fuera o bajo.

void light_on() {int switch_note = in_note % 12; switch(switch_note) {//C caso 0: digitalWrite(3,HIGH); break; //D caso 2: digitalWrite(4,HIGH); break; caso //E 4: digitalWrite (5, HIGH); break; //F caso 5: digitalWrite(3,HIGH); digitalWrite(4,HIGH); break; caso //G 7: digitalWrite(4,HIGH); digitalWrite(5,HIGH); break; //A caso 9: digitalWrite(3,HIGH); digitalWrite (5 ALTO); rotura; Caso B 11: void light_on() { int switch_note = in_note % 12; switch(switch_note) { //C case 0: digitalWrite(3,HIGH); break; //D case 2: digitalWrite(4,HIGH); break; //E case 4: digitalWrite(5, HIGH); break; //F case 5: digitalWrite(3,HIGH); digitalWrite(4,HIGH); break; //G case 7: digitalWrite(4,HIGH); digitalWrite(5,HIGH); break; //A case 9: digitalWrite(3,HIGH); digitalWrite(5,HIGH); break; //B case 11: digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH); break; } } //quick call to turn all the lights off void light_off() { digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW); } rotura; llamar a //quick}} para encender todas las luces off void light_off() {} //the main loop void loop() { //checks if there is a midi to use, then sends it out (echoes echoes echoes echoes) if(check_midi()) midi_send(location_byte,in_note,in_volume); if(location_byte == midi_on && in_volume != 0) { light_on(); } else light_off(); } 

La primera función es realmente la carne del código, mientras que el segundo es simplemente una llamada de referencia rápida para apagar todos los LEDs a la vez.  La primera función lee la entrada de la variable in_note, se divide por 12, (puesto que hay 12 tonos en música).  Basado en lo que cuenta es, se enciende el color apropiado escribiendo los pernos a alta.  Ahora para la culminación final de todos estos:

Aquí es el bucle principal de la función.  En primer lugar, comprueba si hay en venir entrada midi y si lo es, envía a través de la función midi_send.  Puesto que el check_midi() se llena las variables globales, comprobamos si hay una llamada midi_on y que el volumen de la nota entrante no es 0.  Si se cumplen esas condiciones, funciona a través de la función light_on() y enciende las luces. De lo contrario, apaga las luces por defecto.  Y eso es todo!

Artículos Relacionados

Chaqueta de espectáculo de luz que reacciona a la música

Chaqueta de espectáculo de luz que reacciona a la música

Este tutorial ha sido elaborado como parte de mi proyecto final de carrera de licenciatura en música tecnología y electrónica aplicada en la Universidad de York. Está dirigido a músicos con un interés en la electrónica. El producto final será una mat
ESPECTÁCULO de luz cristal motorizado LED con VIDEO

ESPECTÁCULO de luz cristal motorizado LED con VIDEO

este instructable le dará un conocimiento medio sobre cómo hacer un espectáculo de luces de cristal motorizadas. Es muy hermosa y por favor voten por él en el haz del LED hacia fuera COMP. Tampoco soy bueno en dibujo esquemas:). También perdón por no
Espectáculo de luz en la música

Espectáculo de luz en la música

Siempre he querido una manera económica de hacer un espectáculo de luz que trabajan en la música. En este instructable le muestro cómo construir mi Show de luces. Espero que te gusta la música y las luces y que este instructable te será de ayuda para
Espectáculo de luz EEAwesome

Espectáculo de luz EEAwesome

Este instructable fue creado en cumplimiento de la exigencia de proyecto de Makecourse-arte en la Universidad de Florida del Sur (www.makecourse-art.com).Todo el mundo debe tener algo para mostrar alrededor de la casa. Este un proyecto de gran arranq
Música simple espectáculo de luz (led lpt)

Música simple espectáculo de luz (led lpt)

realmente simple y barata-barra de luz, alimentado y controlado desde el pc (por puerto lpt).Te costará algo de $10-20 para construir esta(Tenía el plexi y lpt cable gratis, por lo que sólo pagué $3 para antorcha led y $3 para tornillos y tuercas)= d
Espectáculo de luz LED RGB 50W

Espectáculo de luz LED RGB 50W

En una venta de la etiqueta y vi un golpe 6 pies encima de calabaza por 10 dólares. Parecía tener poco uso así que lo cogí. Yo llegué a casa y él encontró 5 Bombillas interior se rompieron un poco. Eso está bien ya que quería añadir un chip LED RGB d
Hacer una bricolaje unidad dimmer para espectáculos de luz

Hacer una bricolaje unidad dimmer para espectáculos de luz

necesario para controlar el nivel de luz de unas luces de inundación a la luz un evento teatral de pequeña escala en una iglesia. Quise comprar yo mismo una plataforma de iluminación agradable, pero el presupuesto no permite. Asi que me hice mi propi
Caja de música, espectáculo de luz y caja de joyería de Sophie

Caja de música, espectáculo de luz y caja de joyería de Sophie

yo acabo de terminar de construir una caja de música / luz mostrar / caja de joyería para mi amiga Sophie. Un microcontrolador compatible Arduino se utiliza para generar el sonido de la caja de la música y para controlar las luces. El Arduino código
Espectáculo de luz ventana arte

Espectáculo de luz ventana arte

la idea era hacer una obra de arte que atrapará la atención de los transeúntes... gente un paseo sus perros etc....Tiene las luces de la CCL de Xoxide, consiguió mm 6 diodos láser de una tienda de eBay, tiene el espejo de 60 x 90 cm (parte posterior
Espectáculo de luz fría con hielo seco y magnesio!

Espectáculo de luz fría con hielo seco y magnesio!

Proyecto de combustión fría que es un montón de diversión!Paso 1: Lo que se necesita, -Two blocks of dry ice-enrollado de magnesioguantes de protector - temprature-soplete-gafas-tijeras-extintor de incendiosMat - TempraturePaso 2: preparar poner en l
Una uva para hacer un espectáculo de luz de microondas

Una uva para hacer un espectáculo de luz de microondas

Hola. Este es mi primer instructable. Voy a mostrar lo que sucederá cuando se coloca una uva en el microondas.Paso 1: Cosas que necesitaTe hace falta:1 plato de microondas. cualquiera va a hacer.1 uva1knifeCortar la uva casi por la mitad, así que un
Espectáculo de luces en caso

Espectáculo de luces en caso

Este instructable fue creado en cumplimiento de la exigencia de proyecto de la Makecourse de la Universidad de South Florida (www.makecourse.com)Este proyecto es un espectáculo de luces que utiliza 3D piezas impresas, un servo, un motor paso a paso,
Música impulsada por el espectáculo de la puntero de láser de luz

Música impulsada por el espectáculo de la puntero de láser de luz

a diferencia del espejo en el truco de subwoofer, este DIY muestra cómo crear una música muy barata, por el espectáculo de luces que realmente visualiza el sonido!Paso 1: Hacer el cuerpo del visualizador usé una lata de café plástico para el tubo de
Cómo crear un espectáculo de homenaje Daft Punk

Cómo crear un espectáculo de homenaje Daft Punk

¿Que siempre quisiste ser Daft Punk? Bien esto es una forma de presupuesto medio para crear una gran mirada barra Mostrar tamaño homenaje. No voy a entrar en todos los detalles de los trajes y tal porque hay ya gran Instructables en esto así que voy