Stap 2: De installatie van de Hardware
Schema en pic gekoppeld. Opmerking: het schema is het werk van ITP Physical Computing
In principe zijn 5V om te schakelen, ga naar controle pin, 10K Ohm weerstand van controle pin met GND
Voor de MIDI aansluiting zijn pin 5 aan seriële pin, pin4 naar 5V via de 220 weerstand
De volgende sketch op uw Arduino laden:
{{{
/ * Arduino omzetten in een MIDI-controller met behulp van zoveel digitale ingangen
* Als u nodig hebt.
*
* Deze schets is geconfigureerd voor het verzenden van 2 MIDI-noten op MIDI kanaal 5,
* maar het gemakkelijk kan worden geconfigureerd voor andere nota's en kanalen
*
* Gemaakte 3 Nov 2008
* Door Hyeki Min
*
* Gemodificeerde 14 mei 2009
* Door Petyr Stretz
* Schakel-logica zodanig gewijzigd dat de pin lage en hoge maakte de
* nota's spelen zoals een toetsenbord, verwijderde overbodige pinnen, gewijzigd
-de uitgang van MIDI-kanaal tot en met 5
*
* Gemodificeerde 15 April 2014
* Door Petyr Stretz
* Instructables gebruiker Andrew.Wilson.7 gemeld BYTE is geen
* meer gebruikt in Arduino 1.0 of hoger. Wegnemen op vanuit noteOn()
*/
definiëren van de pennen die wij gebruiken, MIDI-poort is altijd op Arduino pin 1 (TX)
int switchPin1 = 2;
int switchPin2 = 3;
algemene midi notities
char note1 = 60; Midden C
note2 char = 62; D
Variabelen
int switchState1 = laag;
int switchState2 = laag;
int currentSwitchState1 = laag;
int currentSwitchState2 = laag;
VOID Setup {}
de Staten van de I/O pinnen instellen
pinMode (switchPin1, INPUT);
pinMode (switchPin2, INPUT);
MIDI baudrate instellen
Serial.begin(31250);
}
void loop {//switchPin1
currentSwitchState1 = digitalRead(switchPin1);
Als (currentSwitchState1 == HIGH & & switchState1 == LOW) / / duwen
Opmerking op kanaal 5 (0x94), enkele opmerking waarde (merk), middelste snelheid (0x45):
noteOn (0x94, note1, 0x45);
Als (currentSwitchState1 == LOW & & switchState1 == HIGH) / / release
Opmerking op kanaal 5 (0x94), enkele opmerking waarde (merk), stille snelheid (0x00):
noteOn (0x94, note1, 0x00);
switchState1 = currentSwitchState1; switchPin2
currentSwitchState2 = digitalRead(switchPin2);
Als (currentSwitchState2 == HIGH & & switchState2 == LOW) / / duwen
Opmerking op kanaal 5 (0x94), enkele opmerking waarde (merk), middelste snelheid (0x45):
noteOn (0x94, note2, 0x45);
Als (currentSwitchState2 == LOW & & switchState2 == HIGH) / / release
Opmerking op kanaal 5 (0x94), enkele opmerking waarde (merk), stille snelheid (0x00):
noteOn (0x94, note2, 0x00);
switchState2 = currentSwitchState2;
} / / Een MIDI Opmerking-on/off signaal.
VOID noteOn (char cmd, char gegevens1, char data2) {}
Serial.Print(cmd);
Serial.Print(Data1); Serial.Print(data2);
}
}}}