Drum pad con arduino

Israel Ugalde Labajos
#1 por Israel Ugalde Labajos el 22/12/2012
buenas soy nuevo usuario en este foro pero lo sigo los post desde hace ya mucho y a cuenta de eso me a surgido interes x el tema de arduino y el midi. hace años monte esta controladora casera con un mando de la play, midiyoke y todo el tema pero la faena era que la señal q saca es en cc y me interesa en note para asi usar el drum rack de ableton.por otro lado era que cuando usaba en cc al intentar encender varias pista ala vez simulando un drum rack los programas se saturaban,bueno la duda es seria posible sacar de arduino señal en note atrabes del propio cable de usb para ya retomar este proyecto ya apartado gracias un saludo.
Archivos adjuntos ( para descargar)
2012-12-22 12.35.54.jpg
2012-12-22 12.36.30.jpg
Subir
1
Israel Ugalde Labajos
#2 por Israel Ugalde Labajos el 29/12/2012
bueno como veo que nadie responde actualizo el proyecto con material nuevo,asi en un futuro puede que alguien necesite algo de este post.
indagando y gracias al amigo the man with the x-ray eyes de este foro tube oportunidad de ir preparando mi arduino mega 2560.
el codigo es :
//linea 1
const int buttonDoPin = 2;//numeracion de pin
const int button2Pin = 3;
const int button3Pin = 4;
const int button4Pin = 5;
//linea 2
const int button5Pin = 8;
const int button6Pin = 9;
const int button7Pin = 10;
const int button8Pin = 11;
//linea 3
const int button9Pin = 22;
const int button10Pin = 24;
const int button11Pin = 26;
const int button12Pin = 28;
//linea 4
const int button13Pin = 23;
const int button14Pin = 25;
const int button15Pin = 27;
const int button16Pin = 29;
//linea 1
int noteDo = 36; //MIDI note 69=A (440hz)
int note2= 37;
int note3= 38;
int note4= 39;
//linea 2
int note5= 40;
int note6= 41;
int note7= 42;
int note8= 43;
//linea3
int note9= 44;
int note10= 45;
int note11= 46;
int note12= 47;
// linea4
int note13= 48;
int note14= 49;
int note15= 50;
int note16= 51;

int buttonDoState = 0;// current state of the button
int button2State = 0;
int button3State = 0;
int button4State = 0;
int button5State = 0;
int button6State = 0;
int button7State = 0;
int button8State = 0;
int button9State = 0;
int button10State = 0;
int button11State = 0;
int button12State = 0;
int button13State = 0;
int button14State = 0;
int button15State = 0;
int button16State = 0;

int lastButtonDoState = 0;
int lastButton2State = 0;
int lastButton3State = 0;
int lastButton4State = 0;
int lastButton5State = 0;
int lastButton6State = 0;
int lastButton7State = 0;
int lastButton8State = 0;
int lastButton9State = 0;
int lastButton10State = 0;
int lastButton11State = 0;
int lastButton12State = 0;
int lastButton13State = 0;
int lastButton14State = 0;
int lastButton15State = 0;
int lastButton16State = 0;
int val;
void setup() {
// initialize the button pin as a input:
pinMode(buttonDoPin, INPUT);
pinMode(button2Pin, INPUT);
pinMode(button3Pin, INPUT);
pinMode(button4Pin, INPUT);
pinMode(button5Pin, INPUT);
pinMode(button6Pin, INPUT);
pinMode(button7Pin, INPUT);
pinMode(button8Pin, INPUT);
pinMode(button9Pin, INPUT);
pinMode(button10Pin, INPUT);
pinMode(button11Pin, INPUT);
pinMode(button12Pin, INPUT);
pinMode(button13Pin, INPUT);
pinMode(button14Pin, INPUT);
pinMode(button15Pin, INPUT);
pinMode(button16Pin, INPUT);

// initialize serial communication:
// Set MIDI baud rate:
Serial.begin(31250);
}
void loop() {

buttonDoState = digitalRead(buttonDoPin);
if (buttonDoState == 0)
{ noteOn(0x90, noteDo, 0x00);}
else if (buttonDoState == lastButtonDoState)
{}
else { noteOn(0x90, noteDo, 0x45);}

button2State = digitalRead(button2Pin);
if (button2State == 0)
{ noteOn(0x90, note2, 0x00);}
else if (button2State == lastButton2State)
{}
else { noteOn(0x90, note2, 0x45);}

button3State = digitalRead(button3Pin);
if (button3State == 0)
{ noteOn(0x90, note3, 0x00);}
else if (button3State == lastButton3State)
{}
else { noteOn(0x90, note3, 0x45);}

button4State = digitalRead(button4Pin);
if (button4State == 0)
{ noteOn(0x90, note4, 0x00);}
else if (button4State == lastButton4State)
{}
else { noteOn(0x90, note4, 0x45);}

button5State = digitalRead(button5Pin);
if (button5State == 0)
{ noteOn(0x90, note5, 0x00);}
else if (button5State == lastButton5State)
{}
else { noteOn(0x90, note5, 0x45);}

button6State = digitalRead(button6Pin);
if (button6State == 0)
{ noteOn(0x90, note6, 0x00);}
else if (button6State == lastButton6State)
{}
else { noteOn(0x90, note6, 0x45);}

button7State = digitalRead(button7Pin);
if (button7State == 0)
{ noteOn(0x90, note7, 0x00);}
else if (button7State == lastButton7State)
{}
else { noteOn(0x90, note7, 0x45);}

button8State = digitalRead(button8Pin);
if (button8State == 0)
{ noteOn(0x90, note8, 0x00);}
else if (button8State == lastButton8State)
{}
else { noteOn(0x90, note8, 0x45);}

button9State = digitalRead(button9Pin);
if (button9State == 0)
{ noteOn(0x90, note9, 0x00);}
else if (button9State == lastButton9State)
{}
else { noteOn(0x90, note9, 0x45);}

button10State = digitalRead(button10Pin);
if (button10State == 0)
{ noteOn(0x90, note10, 0x00);}
else if (button10State == lastButton10State)
{}
else { noteOn(0x90, note10, 0x45);}

button11State = digitalRead(button11Pin);
if (button11State == 0)
{ noteOn(0x90, note11, 0x00);}
else if (button11State == lastButton11State)
{}
else { noteOn(0x90, note11, 0x45);}

button12State = digitalRead(button12Pin);
if (button12State == 0)
{ noteOn(0x90, note12, 0x00);}
else if (button12State == lastButton12State)
{}
else { noteOn(0x90, note12, 0x45);}

button13State = digitalRead(button13Pin);
if (button13State == 0)
{ noteOn(0x90, note13, 0x00);}
else if (button13State == lastButton13State)
{}
else { noteOn(0x90, note13, 0x45);}

button14State = digitalRead(button14Pin);
if (button14State == 0)
{ noteOn(0x90, note14, 0x00);}
else if (button14State == lastButton14State)
{}
else { noteOn(0x90, note14, 0x45);}

button15State = digitalRead(button15Pin);
if (button15State == 0)
{ noteOn(0x90, note15, 0x00);}
else if (button15State == lastButton15State)
{}
else { noteOn(0x90, note15, 0x45);}

button16State = digitalRead(button16Pin);
if (button16State == 0)
{ noteOn(0x90, note16, 0x00);}
else if (button16State == lastButton16State)
{}
else { noteOn(0x90, note16, 0x45);}

lastButtonDoState = buttonDoState;
lastButton2State = button2State;
lastButton3State = button3State;
lastButton4State = button4State;
lastButton5State = button5State;
lastButton6State = button6State;
lastButton7State = button7State;
lastButton8State = button8State;
lastButton9State = button9State;
lastButton10State = button10State;
lastButton11State = button11State;
lastButton12State = button12State;
lastButton13State = button13State;
lastButton14State = button14State;
lastButton15State = button15State;
lastButton16State = button16State;
}

void noteOn(int cmd, int pitch, int velocity) {
Serial.write(byte (cmd));
Serial.write(byte (pitch));
Serial.write(byte (velocity));
}
y ya es funcional: http://www.youtube.com/watch?v=ca0SAXowqp0&feature=youtu.be
la siguiente modificacion sera instalar leds a cada pulsador,2 potenciometros para parametros de efectos etc....y si algun buen samaritamo me hechara una mano poner algun acelerometro o sensor de cercania para asi simular lo mejor posible un midi fighter 3d.
Archivos adjuntos ( para descargar)
2012-12-29 12.33.12.jpg
Subir
1
Man with the x-ray eyes
#3 por Man with the x-ray eyes el 30/12/2012
Mola!
Buen curro...
Si me permites una sugerencia, estaría bien que colgases también el esquema para que sea útil para cualquiera que caiga en este post (y para documentarlo para ti tambiénYo suelo usar el Fritzing, que es muy fácil de usar y te permite hacer una imagen gráfica, el plano lógico y el de impresión para pcb. Además es software libre.
Saludos!
Subir
Israel Ugalde Labajos
#4 por Israel Ugalde Labajos el 31/12/2012
muchas gracias por la informacion subire varios esquemas por que puede que alguien se limite a solo los 16 pads pero yo ire algo mas lejos o esa es la intencion: leds a cada boton,montar 4 pulsadores mas 2 potenciometros para efectos y ya seria la leche meterle un acelerometro para controlar algun parametro mas.en cuanto pueda subo el esquema de este de 16.
Subir
Israel Ugalde Labajos
#5 por Israel Ugalde Labajos el 03/01/2013
ultima actualizacion
nuevo codigo drum pad 16 botones 16 leds:
//linea 1
const int buttonDoPin = 2;//numeracion de pin
const int button2Pin = 3;
const int button3Pin = 4;
const int button4Pin = 5;
//linea 2
const int button5Pin = 8;
const int button6Pin = 9;
const int button7Pin = 10;
const int button8Pin = 11;
//linea 3
const int button9Pin = 22;
const int button10Pin = 24;
const int button11Pin = 26;
const int button12Pin = 28;
//linea 4
const int button13Pin = 23;
const int button14Pin = 25;
const int button15Pin = 27;
const int button16Pin = 29;
//linea 1
int noteDo = 36; //MIDI note 69=A (440hz)
int note2= 37;
int note3= 38;
int note4= 39;
//linea 2
int note5= 40;
int note6= 41;
int note7= 42;
int note8= 43;
//linea3
int note9= 44;
int note10= 45;
int note11= 46;
int note12= 47;
// linea4
int note13= 48;
int note14= 49;
int note15= 50;
int note16= 51;
// linea 1
int leddo=30;// numero de pin para led
int led2=32;
int led3=34;
int led4=36;
// linea 2
int led5=38;
int led6=40;
int led7=42;
int led8=44;
// linea 3
int led9=31;
int led10=33;
int led11=35;
int led12=37;
// linea 4
int led13=39;
int led14=41;
int led15=43;
int led16=45;

// linea 1
int pulsadordo=2;//numero de pin para pulsador
int pulsador2=3;
int pulsador3=4;
int pulsador4=5;
// linea 2
int pulsador5=8;
int pulsador6=9;
int pulsador7=10;
int pulsador8=11;
// linea 3
int pulsador9=22;
int pulsador10=24;
int pulsador11=26;
int pulsador12=28;
// linea 4
int pulsador13=23;
int pulsador14=25;
int pulsador15=27;
int pulsador16=29;

int buttonDoState = 0;// current state of the button
int button2State = 0;
int button3State = 0;
int button4State = 0;
int button5State = 0;
int button6State = 0;
int button7State = 0;
int button8State = 0;
int button9State = 0;
int button10State = 0;
int button11State = 0;
int button12State = 0;
int button13State = 0;
int button14State = 0;
int button15State = 0;
int button16State = 0;

int lastButtonDoState = 0;
int lastButton2State = 0;
int lastButton3State = 0;
int lastButton4State = 0;
int lastButton5State = 0;
int lastButton6State = 0;
int lastButton7State = 0;
int lastButton8State = 0;
int lastButton9State = 0;
int lastButton10State = 0;
int lastButton11State = 0;
int lastButton12State = 0;
int lastButton13State = 0;
int lastButton14State = 0;
int lastButton15State = 0;
int lastButton16State = 0;
int val;
void setup() {
// linea 1
pinMode(pulsadordo, INPUT); //Configurar el pulsador como una entrada
pinMode(pulsador2, INPUT);
pinMode(pulsador3, INPUT);
pinMode(pulsador4, INPUT);
// linea 2
pinMode(pulsador5, INPUT);
pinMode(pulsador6, INPUT);
pinMode(pulsador7, INPUT);
pinMode(pulsador8, INPUT);
// linea 3
pinMode(pulsador9, INPUT);
pinMode(pulsador10, INPUT);
pinMode(pulsador11, INPUT);
pinMode(pulsador12, INPUT);
pinMode(pulsador13, INPUT);
pinMode(pulsador14, INPUT);
pinMode(pulsador15, INPUT);
pinMode(pulsador16, INPUT);
// linea 1
pinMode(leddo,OUTPUT); //Configurar el LED como una salida
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
// linea 2
pinMode(led5,OUTPUT);
pinMode(led6,OUTPUT);
pinMode(led7,OUTPUT);
pinMode(led8,OUTPUT);
// linea 3
pinMode(led9,OUTPUT);
pinMode(led10,OUTPUT);
pinMode(led11,OUTPUT);
pinMode(led12,OUTPUT);
// linea 4
pinMode(led13,OUTPUT);
pinMode(led14,OUTPUT);
pinMode(led15,OUTPUT);
pinMode(led16,OUTPUT);


// initialize the button pin as a input:
pinMode(buttonDoPin, INPUT);
pinMode(button2Pin, INPUT);
pinMode(button3Pin, INPUT);
pinMode(button4Pin, INPUT);
pinMode(button5Pin, INPUT);
pinMode(button6Pin, INPUT);
pinMode(button7Pin, INPUT);
pinMode(button8Pin, INPUT);
pinMode(button9Pin, INPUT);
pinMode(button10Pin, INPUT);
pinMode(button11Pin, INPUT);
pinMode(button12Pin, INPUT);
pinMode(button13Pin, INPUT);
pinMode(button14Pin, INPUT);
pinMode(button15Pin, INPUT);
pinMode(button16Pin, INPUT);

// initialize serial communication:
// Set MIDI baud rate:
Serial.begin(31250);
}
void loop() {
//Condicional para saber estado del pulsador
if (digitalRead(pulsadordo)==HIGH)
{
//Pulsador oprimido
digitalWrite(leddo,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(leddo,LOW); //Apaga el LED
}


//Condicional para saber estado del pulsador
if (digitalRead(pulsador2)==HIGH)
{
//Pulsador oprimido
digitalWrite(led2,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led2,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador3)==HIGH)
{
//Pulsador oprimido
digitalWrite(led3,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led3,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador4)==HIGH)
{
//Pulsador oprimido
digitalWrite(led4,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led4,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador5)==HIGH)
{
//Pulsador oprimido
digitalWrite(led5,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led5,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador6)==HIGH)
{
//Pulsador oprimido
digitalWrite(led6,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led6,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador7)==HIGH)
{
//Pulsador oprimido
digitalWrite(led7,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led7,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador8)==HIGH)
{
//Pulsador oprimido
digitalWrite(led8,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led8,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador9)==HIGH)
{
//Pulsador oprimido
digitalWrite(led9,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led9,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador10)==HIGH)
{
//Pulsador oprimido
digitalWrite(led10,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led10,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador11)==HIGH)
{
//Pulsador oprimido
digitalWrite(led11,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led11,LOW); //Apaga el LED
}


//Condicional para saber estado del pulsador
if (digitalRead(pulsador12)==HIGH)
{
//Pulsador oprimido
digitalWrite(led12,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led12,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador13)==HIGH)
{
//Pulsador oprimido
digitalWrite(led13,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led13,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador14)==HIGH)
{
//Pulsador oprimido
digitalWrite(led14,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led14,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador15)==HIGH)
{
//Pulsador oprimido
digitalWrite(led15,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led15,LOW); //Apaga el LED
}

//Condicional para saber estado del pulsador
if (digitalRead(pulsador16)==HIGH)
{
//Pulsador oprimido
digitalWrite(led16,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led16,LOW); //Apaga el LED
}





buttonDoState = digitalRead(buttonDoPin);
if (buttonDoState == 0)
{ noteOn(0x90, noteDo, 0x00);}
else if (buttonDoState == lastButtonDoState)
{}
else { noteOn(0x90, noteDo, 0x45);}

button2State = digitalRead(button2Pin);
if (button2State == 0)
{ noteOn(0x90, note2, 0x00);}
else if (button2State == lastButton2State)
{}
else { noteOn(0x90, note2, 0x45);}

button3State = digitalRead(button3Pin);
if (button3State == 0)
{ noteOn(0x90, note3, 0x00);}
else if (button3State == lastButton3State)
{}
else { noteOn(0x90, note3, 0x45);}

button4State = digitalRead(button4Pin);
if (button4State == 0)
{ noteOn(0x90, note4, 0x00);}
else if (button4State == lastButton4State)
{}
else { noteOn(0x90, note4, 0x45);}

button5State = digitalRead(button5Pin);
if (button5State == 0)
{ noteOn(0x90, note5, 0x00);}
else if (button5State == lastButton5State)
{}
else { noteOn(0x90, note5, 0x45);}

button6State = digitalRead(button6Pin);
if (button6State == 0)
{ noteOn(0x90, note6, 0x00);}
else if (button6State == lastButton6State)
{}
else { noteOn(0x90, note6, 0x45);}

button7State = digitalRead(button7Pin);
if (button7State == 0)
{ noteOn(0x90, note7, 0x00);}
else if (button7State == lastButton7State)
{}
else { noteOn(0x90, note7, 0x45);}

button8State = digitalRead(button8Pin);
if (button8State == 0)
{ noteOn(0x90, note8, 0x00);}
else if (button8State == lastButton8State)
{}
else { noteOn(0x90, note8, 0x45);}

button9State = digitalRead(button9Pin);
if (button9State == 0)
{ noteOn(0x90, note9, 0x00);}
else if (button9State == lastButton9State)
{}
else { noteOn(0x90, note9, 0x45);}

button10State = digitalRead(button10Pin);
if (button10State == 0)
{ noteOn(0x90, note10, 0x00);}
else if (button10State == lastButton10State)
{}
else { noteOn(0x90, note10, 0x45);}

button11State = digitalRead(button11Pin);
if (button11State == 0)
{ noteOn(0x90, note11, 0x00);}
else if (button11State == lastButton11State)
{}
else { noteOn(0x90, note11, 0x45);}

button12State = digitalRead(button12Pin);
if (button12State == 0)
{ noteOn(0x90, note12, 0x00);}
else if (button12State == lastButton12State)
{}
else { noteOn(0x90, note12, 0x45);}

button13State = digitalRead(button13Pin);
if (button13State == 0)
{ noteOn(0x90, note13, 0x00);}
else if (button13State == lastButton13State)
{}
else { noteOn(0x90, note13, 0x45);}

button14State = digitalRead(button14Pin);
if (button14State == 0)
{ noteOn(0x90, note14, 0x00);}
else if (button14State == lastButton14State)
{}
else { noteOn(0x90, note14, 0x45);}

button15State = digitalRead(button15Pin);
if (button15State == 0)
{ noteOn(0x90, note15, 0x00);}
else if (button15State == lastButton15State)
{}
else { noteOn(0x90, note15, 0x45);}

button16State = digitalRead(button16Pin);
if (button16State == 0)
{ noteOn(0x90, note16, 0x00);}
else if (button16State == lastButton16State)
{}
else { noteOn(0x90, note16, 0x45);}

lastButtonDoState = buttonDoState;
lastButton2State = button2State;
lastButton3State = button3State;
lastButton4State = button4State;
lastButton5State = button5State;
lastButton6State = button6State;
lastButton7State = button7State;
lastButton8State = button8State;
lastButton9State = button9State;
lastButton10State = button10State;
lastButton11State = button11State;
lastButton12State = button12State;
lastButton13State = button13State;
lastButton14State = button14State;
lastButton15State = button15State;
lastButton16State = button16State;
}

void noteOn(int cmd, int pitch, int velocity) {
Serial.write(byte (cmd));
Serial.write(byte (pitch));
Serial.write(byte (velocity));
}
y esquema espero que en un futuro sea de alluda para alguien que no se quiera gastar mucho en un midi fighter jeje.yo mientras tanto seguire modificando y actualizando el controlador.
Archivos adjuntos ( para descargar)
Untitled Sketch_bb.jpg
Subir
2
Man with the x-ray eyes
#6 por Man with the x-ray eyes el 03/01/2013
Al final lo conseguiste!
vamos a ver cómo se da lo de los potis, lo de los cc ya te dije que lo tengo pendiente, y se me acumula el trabajo y la falta de tiempo #-o , pero estaré atento a las novedades que cuelgues. Ahora tengo que meter en su caja el "paduino" que colgué por aquí, y para el siguiente proyecto necesitaré estas órdenes aparte de las notas midi. Por cierto, yo en vez de potis quiero usar una pantalla táctil de Nintendo DS, que creo que no es muy complicado, aunque tengo que investigar todavía...
A ver si entre los dos (y quien se apunte) terminamos documentando bien todo este tinglao!
Gracias por el esquema y enhorabuena por el proyecto!
Saludos!
Subir
Israel Ugalde Labajos
#7 por Israel Ugalde Labajos el 03/01/2013
si!!! el tema de los potenciometros me parece interesante aver si podemos hacer algo y lo de mandar en cc tambien ire actualizando segun los cambios
Subir
C.R.D
#8 por C.R.D el 04/01/2013
hola israel ugalde, si kisiera agregar otros 13botones de arcadea como seria el codigo?? no se nada de arduino pero comenze hace tiempo un proyecto que ahi tengo parado, quisiera utilizar tu codigo para terminar mi proyecto, tambien como podria hacerlo para integrar algunos potenciometros?? unos 14 jejejeje espero puedas ayudarme porfavor, yo tengo un codigo que encontre en una pagina llamada indestructables pero nunca lo pude hechar a andar, si te interesa cuelgo el link, saludos y suerte!!!
Subir
Israel Ugalde Labajos
#9 por Israel Ugalde Labajos el 05/01/2013
buenas heve si tu idea es agregar otros 13 botones mas tendrias ir copian por grupos :en el primer codigo que es sin led,donde acaba en 16 sigue dando valores asta 29 y su correspomdiente pin ejemplo: const int button16Pin = 29;
" const int button17pin = 30; etc...
el tema de los potenciometros ya me tiene mas chinado por que no soy capaz de ponerlo en funcionamiento aver si nos echa una mano alguien.y el tema del codigo o ese link estaria interesante aver si sacamos algo de el.
Subir
C.R.D
#10 por C.R.D el 07/01/2013
este es el proyecto , tiene botones de arcadea y potenciometros a ver si sirve de algo, en estos dias continuare mi proyecto a ver como me va saludos y suerte!!!



http://www.instructables.com/id/Arcade-Button-MIDI-Controller/
Subir
Kp
#11 por Kp el 10/01/2013
Israel Ugalde Labajos escribió:
el tema de los potenciometros ya me tiene mas chinado por que no soy capaz de ponerlo en funcionamiento aver si nos echa una mano alguien.y el tema del codigo o ese link estaria interesante aver si sacamos algo de el.

Igual te puedes basar en el código que utilicé yo aquí para los potenciómetros
https://www.hispasonic.com/foros/mi-1er-controlador-midi-arduino/382085
saludos!
Subir
Gargaras
#12 por Gargaras el 30/01/2013
Una duda con la conexión de los pulsadores, se supone que un pulsador tiene dos puntos de conexión y en el esquema se le conectan 3, el que va a masa, el que va a Vcc y el que va a la entrada digital de la placa, entonces mi duda es, como se conectan.
El de Vcc y el de la entrada digital los dos en el mismo y el de masa solo o el de masa con la entrada digital y el de Vcc solo.

Un saludo
Subir
Man with the x-ray eyes
#13 por Man with the x-ray eyes el 30/01/2013
El voltaje por un lado y por el otro al pin digital y a masa (con una resistencia de 10K)
aquí puedes ver el esquema más simple:
https://www.hispasonic.com/foros/piano-midi-arduino/419226

Saludos!
Subir
C.R.D
#14 por C.R.D el 21/02/2013
hola compañeros e seguido todas las instrucciones , mi prototipo es sin leds, asta ahora todo bien , solo tengo un problema con las señales midi, en traktor al momento de asignar un control a uno de los botones de arcadea que uso, la señal midi del arduino es inestable, es decir, no me da un solo valor, me da muchisimos , al usarlo en reason , oprimo un boton usando un sinte de bateria, no me da un solo sonido, suena como si apretara muchisims veces el boton, es decir, en veez de oprimirlo y sonara una sola vez el bombo, suena como metralleta, jejeje muchas veces, en bomes midi traslator pro 1.6 me hace lo mismo, trato de asignar un boton en el programa y al ponerle midi learn los parametros midi saltan como locos, en vez de reconocerme un solo parametro por cada boton, me podrian ayudar??, gracias y espero su respuesta... saludos
Subir
C.R.D
#15 por C.R.D el 21/02/2013
uso arduino mega 2560 y una interface midi sencilla, tambien use la interface midi de una tascam us 122 mkII y lo mismo, uso windows xp service pack 3
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo