Efter rutan Synthesizer (6 / 8 steg)
Steg 6: kontroll
MIDI i är seriell på 32150 baud. Systemet är 3 byte. Den första byten är om anteckningen är på eller av. Andra är notvärde och tredje är hastigheten, men jag ignorerar som.
Jag handskas med en seriell händelse.
void serialEvent()
{
IF(Serial.available() > = 3) //messages i 3 bytepaket
{
byte cmd = Serial.read();
byte Obs = Serial.read();
byte vel = Serial.read();
om (cmd > = 0x80 & & cmd < = 0x8F & & (rootKey == Obs - MIDI_OFFSET || noteSelect == Obs - MIDI_OFFSET)) //note av
{
notePlaying = false;
}
annars om (cmd > = 0x90 & & cmd < = 0x9F) //note på
{
noteSelect = Obs - MIDI_OFFSET;
notePlaying = sant;
}
}
}
Eftersom syntet mono, samband I de vänstra och högra kanalerna av audio jack tillsammans.
Växeln SPDT för att växla mellan ljudutgången till jack eller högtalaren. Mittstift är där signalen från förstärkare är ansluten. Högra stiftet går till uttaget audio och vänster till högtalaren. Grund av den audio domkraften, mittstift, är ansluten till ett av stiften på högtalaren, då båda är anslutna till marken.