Paso 6: Control
El MIDI en es serie a 32150 baudios. El sistema es de 3 bytes. El primer byte es si es o no la nota encendido o apagado. El segundo es el valor de la nota y el tercero es la velocidad, pero desconozco.
Manejarlo con un evento de la serie.
void serialEvent()
{
if(serial.Available() > = 3) //messages en paquetes de 3 bytes
{
cmd de bytes = Serial.read();
Nota de bytes = Serial.read();
vel de bytes = Serial.read();
Si (cmd > = 0 x 80 & & cmd < = 0x8F & & (rootKey == Nota - MIDI_OFFSET || noteSelect == Nota - MIDI_OFFSET)) //note apagado
{
notePlaying = false;
}
else if (cmd > = 0x90 & & cmd < = 0x9F) //note en
{
noteSelect = Nota - MIDI_OFFSET;
notePlaying = true;
}
}
}
Porque el sintetizador es mono, conecté los canales izquierdos y derecho de la toma de audio juntos.
El interruptor SPDT se utiliza para cambiar entre la salida de audio a la toma o el altavoz. El pin del centro es donde se conecta la señal del amplificador. El eje derecho va a la toma de audio y la izquierda para el altavoz. El terreno de la toma de audio, el pin del centro, está conectado a una de las patillas del altavoz, y ambos están conectados a tierra.