Styra Cubase med Arduino baserad MIDI (2 / 4 steg)
Steg 2: Installation av maskinvara
Schematiska och pic bifogas. Obs: schematiskt är ett verk av ITP fysiska Computing
I princip det är 5V till strömbrytare, byta till kontroll stift, 10K motstånd från kontroll stift till GND
För MIDI jack det är stift 5 till seriell stift, pin4 till 5V via 220 motståndet
Ladda följande skiss på din Arduino:
{{{
/ * Konvertera Arduino till en MIDI-controller med så många digitala ingångar
* som du behöver.
*
* Denna skiss är inställd att skicka 2 MIDI-noter på MIDI-kanal 5,
* men det kan lätt konfigureras för andra anteckningar och kanaler
*
* Skapade 3 Nov 2008
* Av Hyeki Min
*
* Modifierade 14 maj 2009
* Av Petyr Stretz
* Ändrade switch logik så att stiftet låga och höga gjorde den
* anteckningar spela som ett tangentbord, bort onödiga pins, ändrade
-utgång MIDI-kanal 5
*
* Ändrade 15 April 2014
* Av Petyr Stretz
* Instructables användare Andrew.Wilson.7 rapporterade BYTE är ingen
* längre används i Arduino 1.0 eller senare. Tog bort den från noteOn()
*/
definiera de stift vi använder, MIDI-port är alltid på Arduino stift 1 (TX)
int switchPin1 = 2;
int switchPin2 = 3;
General MIDI-noter
char note1 = 60. Mitten C
char note2 = 62; D
Variabler
int switchState1 = låg;
int switchState2 = låg;
int currentSwitchState1 = låg;
int currentSwitchState2 = låg;
void setup() {
Ange staterna I/O stift:
pinMode (switchPin1, ingång);
pinMode (switchPin2, ingång);
här MIDI baud-hastighet:
Serial.BEGIN(31250);
}
void loop() {//switchPin1
currentSwitchState1 = digitalRead(switchPin1);
om (currentSwitchState1 == hög & & switchState1 == låg) / / push
Obs på Kanal 5 (0x94), några notera värdet (Observera), mellersta velocity (0x45):
noteOn (0x94, note1, 0x45);
om (currentSwitchState1 == låg & & switchState1 == hög) / / release
Obs på Kanal 5 (0x94), några notera värdet (Observera), tyst velocity (0x00):
noteOn (0x94, note1, 0x00);
switchState1 = currentSwitchState1; switchPin2
currentSwitchState2 = digitalRead(switchPin2);
om (currentSwitchState2 == hög & & switchState2 == låg) / / push
Obs på Kanal 5 (0x94), några notera värdet (Observera), mellersta velocity (0x45):
noteOn (0x94, note2, 0x45);
om (currentSwitchState2 == låg & & switchState2 == hög) / / release
Obs på Kanal 5 (0x94), några notera värdet (Observera), tyst velocity (0x00):
noteOn (0x94, note2, 0x00);
switchState2 = currentSwitchState2;
} / / Skicka MIDI-not-/ på-meddelanden.
void noteOn (char cmd, char data1, char data2) {
Serial.Print(CMD);
Serial.Print(Data1); Serial.Print(data2);
}
}}}