Controlador Midi de caja negra (10 / 14 paso)

Paso 10: Añadir un bosquejo para el Arduino

El dispositivo es físicamente completo, todo lo que queda es cargar el código en it.below es una copia del código, de principio a fin, que usé cuando construí mi caja negra. El sketch de arduino también se proporciona como un archivo adjunto.

 <p>#define rowOne 0 // Defines the midi note played by the first row.<br>#define rowTwo 1 // Defines the midi note played by the second row. #define rowThree 2 // Defines the midi note played by the third row. #define rowFour 3 // Defines the midi note played by the fourth row. #define columnOne 2 // Defines the pin connected to the first column. #define columnTwo 3 // Defines the pin connected to the first column. #define columnThree 4 // Defines the pin connected to the first column. #define columnFour 5 // Defines the pin connected to the first column. int delayTime; // Holds the number of milliseconds the program waits between columns.</p><p>byte noteOne; byte noteTwo; byte noteThree; byte noteFour;</p><p>// Sets the pin modes for all of the inputs and outputs of the arduino</p><p>void setup() { pinMode(7, INPUT); pinMode(8, INPUT); pinMode(9, INPUT); pinMode(10, INPUT); pinMode(11, INPUT); pinMode(12, INPUT); digitalWrite(12, HIGH); pinMode(columnOne, OUTPUT); pinMode(columnTwo, OUTPUT); pinMode(columnThree, OUTPUT); pinMode(columnFour, OUTPUT); }</p><p>void loop() { setDelay(); flashColumn(columnOne); flashColumn(columnTwo); flashColumn(columnThree); flashColumn(columnFour); if(digitalRead(12) == 0){ playTimingNotes(); } else { playNormalNotes(); delay(delayTime); } noteOne = 0; noteTwo = 0; noteThree = 0; noteFour = 0; }</p><p>// First parameter is the event type (0x09 = note on, 0x08 = note off). // Second parameter is note-on/note-off, combined with the channel. // Channel can be anything between 0-15. Typically reported to the user as 1-16. // Third parameter is the note number (48 = middle C). // Fourth parameter is the velocity (64 = normal, 127 = fastest).</p><p>void noteOn(byte channel, byte pitch, byte velocity) { MIDIEvent noteOn = {0x09, 0x90 | channel, pitch, velocity}; MIDIUSB.write(noteOn); }</p><p>void noteOff(byte channel, byte pitch, byte velocity) { MIDIEvent noteOff = {0x08, 0x80 | channel, pitch, velocity}; MIDIUSB.write(noteOff); }</p><p>// Combines note on and note off information into one method</p><p>void playNote(byte channel, byte pitch, byte velocity){ noteOn(channel, pitch, velocity); MIDIUSB.flush(); noteOff(channel, pitch, velocity); MIDIUSB.flush(); }</p><p>// Powers a column of the matrix, then reads out which switches are closed // then sets the column back down to low</p><p>void flashColumn(byte column){ digitalWrite(column, HIGH); readColumn(column); digitalWrite(column, LOW); }</p><p>// Reads each row, then plays the respective notes if the switches are closed</p><p>void readColumn(int column){ int noteNumber = 100; if(digitalRead(8) == 1){ noteNumber = rowOne + (column-1)*12; } else if(digitalRead(9) == 1){ noteNumber = rowTwo + (column-1)*12; } else if(digitalRead(10) == 1){ noteNumber = rowThree + (column-1)*12; } else if(digitalRead(11) == 1){ noteNumber = rowFour + (column-1)*12; } if(column == 2){ noteOne = noteNumber; } else if(column == 3){ noteTwo = noteNumber; } else if(column == 4){ noteThree = noteNumber; } else if(column == 5){ noteFour = noteNumber; } }</p><p>void playTimingNotes(){ for(int i = 0; i < 4; i++){ playNote(0, 100, 64); delay(delayTime/32); } }</p><p>void playNormalNotes(){ if(noteOne != 0){ playNote(0, noteOne, 64); } if(noteTwo != 0){ playNote(0, noteTwo, 64); } if(noteThree != 0){ playNote(0, noteThree, 64); } if(noteFour != 0){ playNote(0, noteFour, 64); } }</p><p>void setDelay(){ delayTime = ((analogRead(A0)/2)+300)*32; }</p> 

Artículos Relacionados

Controlador MIDI de cigarro caja

Controlador MIDI de cigarro caja

aquí es un controlador MIDI DIY que puede utilizarse con Max/MSP, Ableton Live y cualquier otra música software o hardware que ofrece MIDI I/O.El proyecto utiliza la CPU de MIDI, que puede utilizarse como un MIDI 'cerebro' para proyectos de bricolaje
Convertir un juguete rescatado de un controlador MIDI

Convertir un juguete rescatado de un controlador MIDI

en este Instructable, le guiará a través del proceso de convertir un rescatados sonoros juguete de los niños en un instrumento realmente útil mediante MIDI! Tome un momento para simplemente echar un vistazo sobre los títulos de los pasos en este Inst
Controlador MIDI de Arcade

Controlador MIDI de Arcade

Estoy seguro que has visto esos cool videos de personas jamming en una caja con un montón de botones en él. Bueno, hoy, mostrará usted cómo también puede hacer una caja con la que usted puede hacer mermeladas. < > Inspirado en el clásico combate de
Controlador de pie MIDI (Pedalera controladora MIDI) para Amplitube 3.

Controlador de pie MIDI (Pedalera controladora MIDI) para Amplitube 3.

Instrucciones de armado y puesta en funcionamiento del Midi pedal.(Pedalera controladora MIDI) para Amplitube 3.Hola, uso habitualmente el programa Amplitube 3 para practicar con mi Guitarra, realmente me gustan mucho los sonidos y posibilidades de c
Controlador MIDI construido personalizado

Controlador MIDI construido personalizado

Im entrar esta jnstructable en el concurso de instrumentos musicales, si te gusta por favor vota por mí cos me encantaría un sintetizador nuevo! Como un productor de música electrónica/intérprete, he reunido bastantes diferentes controladores MIDI du
Controlador MIDI con teclado

Controlador MIDI con teclado

Hoy estamos construyendo la clave 400 controlador MIDI utilizando un Arduino y la computadora teclados!Para los productores de música consciente presupuesto ahi, este proyecto es una gran manera de construir un cuadro barato para su estación de traba
Convertir Rockband controlador MIDI Drums

Convertir Rockband controlador MIDI Drums

¡ Hola! Hoy voy a mostrar cómo convertir una banda de Rock o controlador de la batería de Guitar Hero en un real sistema de tambor de MIDI que puede interactuar con estaciones de trabajo digitales de audio como Ableton Live, FL Studio, Pro Tools, etc
Controlador Midi sencillo de flauta/grabadora (EWI)

Controlador Midi sencillo de flauta/grabadora (EWI)

Como un niño (hace unos 30 años) comencé mis clases de música de la flauta (una grabadora para ser precisos) y ahora quiero una versión electrónica moderna de este instrumento (un instrumento electrónico de viento que se llama, abreviados EWI). Están
BeatSauce - un híbrido de controlador Midi portátil

BeatSauce - un híbrido de controlador Midi portátil

Durante mucho tiempo he querido construir un controlador Midi personalizado, y mientras que esto no es exactamente un controlador nuevo que hice nueva vida de respiración en algún hardware antiguo.Utilizando algunas piezas que se había acumulado y el
Controlador MIDI controlado de la llama

Controlador MIDI controlado de la llama

Un gran problema en el mundo de la producción de música digital es mantener esa calidez analógica (que resonaba de tubos y sistemas de casetes) de música digital de hoy en día. Muchos jurarán que sistemas analógicos tienen un sonido que nunca pueda s
Controlador Midi con láser - (láser teclado Midi activadas)

Controlador Midi con láser - (láser teclado Midi activadas)

Meta del proyecto:"Construir controlador midi disparo láser, utilizando componentes eléctricos estándar y un teclado midi reciclado."Paso 1.Encontrar un teclado reciclado midi / controlador.Paso 2.Construir un láser dispara el interruptor.Paso 3
Controlador MIDI Arduino - techshop con scarff boarduino

Controlador MIDI Arduino - techshop con scarff boarduino

he mirado en un número de soluciones diferentes de arduino para MIDI. Mi concepto de proyecto implica más de 100 entradas analógicas que cada sentido velocidad y proporcionar una salida MIDI.   Utilizando la información de fondo que obtuve de techsho
Teensy monstruo v1.0 / / DIY controlador MIDI

Teensy monstruo v1.0 / / DIY controlador MIDI

¡ Bienvenido al monstruo Teensy Instructable!Este Instructable le ayudará a armar tu monstruo Teensy, entender cómo programarlo, y muchos consejos para la construcción de un gran controlador DIY.teensymonster.ccComprar tu monstruo Teensy aquí.https:/
Controlador Midi personalizados

Controlador Midi personalizados

Este tutorial te muestra cómo hacer que un controlador midi personalizados. (presume experiencia con controladores midi, circuitos simples, simple codificación c)Paso 1: Averiguar qué controla le quiere en su controlador¿Cómo muchos/qué partes desea