Estoy tratando de aplicar ingeniería inversa al proyecto de este video: enlace . Desde el video, hay 10 cables visibles que van de los LED a la mega Arduino. Supongo que están conectados en una matriz de 5x5 (5 filas, 5 columnas) dado que hay 25 teclas en el controlador Midi, por lo que la mayoría debe ser 25 LEDs. Reconstruí el proyecto lo mejor que pude al observar el video, pero mi problema es cuando presiono 3 teclas. Se encienden 5 LED, a diferencia del video original, cuando se presionan 3 teclas y se encienden 3 LED (como se ve en @ 0:50 del vídeo). Este es el problema que tengo: enlace . Estoy pensando que el problema está relacionado con la forma en que mis LED están conectados, pero mis LED están conectados exactamente igual que en el video. no es asi ¿hay algo que podría haber perdido? ¿Cómo puede el proyecto en el video iluminar 3 LED sin tener un problema con los LED adicionales que se iluminan en su matriz? ¿Cómo puedo arreglar mi circuito para replicar el video? Aquí hay algunos de mis consejos para encender un LED cuando se presiona una tecla:
include MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();
byte anodes[5] = {30, 32, 34, 36,38};
byte cathodes[5] = {31, 33, 35, 37,39};
byte data1 = 0;
void setPinTo5V(byte pin) //set a pin given to this function to a 5V voltage source
{
pinMode(pin, OUTPUT);
digitalWrite(pin, HIGH);
}
void setPinToGND(byte pin) //set a pin given to this function to a GROUND (GND pin)
{
pinMode(pin, OUTPUT);
digitalWrite(pin, LOW);
}
void loop() {
MIDI.read();
}
void MyHandleNoteOn(byte channel, byte pitch, byte velocity)
{
data1 = MIDI.getData1();
if (data1==48){//C3
setPinTo5V(anodes[0]);//set pin 30 to 5V
setPinToGND(cathodes[0]);//set pin 31 to GND
delay(1); //do nothing for 1 ms
}
// esto se hace para todas las 25 claves, cualquier ayuda sería apreciada Gracias.