Arduino MIDI Input: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= | ==Experimente mit dem Arduino Mega und Midi Input.== | ||
Arduino Mega | |||
'''Bauteile:''' | '''Bauteile:''' | ||
Zeile 9: | Zeile 7: | ||
Widerstand: 220 Ohm, 2,2 kOhm<BR> | Widerstand: 220 Ohm, 2,2 kOhm<BR> | ||
Lochrasterplatine: H25PR050<BR> | Lochrasterplatine: H25PR050<BR> | ||
Din Buchse Halbrund | Din Buchse Halbrund<BR> | ||
'''Arduino Sketch:''' | |||
<source lang="c"> | |||
//Das Testprogramm gibt die MIDI Noten an der Seriellen Schnittstelle aus - Bitrate: 31250 | |||
int incomingByte = 0; // for incoming serial data | |||
int temp = 0; | |||
int i1=0; | |||
void setup() { | |||
Serial.begin(31250); | |||
Serial3.begin(31250); | |||
} | |||
void loop() { | |||
incomingByte = Serial3.read(); | |||
if (incomingByte != -1 and incomingByte != 248 and incomingByte != 254) { | |||
if (temp == 144 or temp == 0) { | |||
switch (incomingByte) { | |||
case 96: | |||
Serial.println("Note: 96"); | |||
break; | |||
case 95: | |||
Serial.println("Note: 95"); | |||
break; | |||
case 94: | |||
Serial.println("Note: 94"); | |||
break; | |||
case 93: | |||
Serial.println("Note: 93"); | |||
break; | |||
} | |||
} | |||
temp = incomingByte; | |||
Serial.println(incomingByte); | |||
i1=0; | |||
} | |||
} | |||
</source> | |||
Es ergibt sich folgendes Bild mit der Arduino Serial Read Software beim Drücken der Tasten am Keyboard: | |||
<source lang="text"> | |||
102 | |||
30 | |||
30 | |||
38 | |||
32 | |||
102 | |||
6 | |||
56 | |||
38 | |||
30 | |||
102 | |||
128 | |||
32 | |||
6 | |||
</source> | |||
Schaltplan: http://www.rn-wissen.de/index.php/MIDI-Interface | |||
[[Datei:midi1.png|links|gerahmt|Platine von vorne]]<BR> | |||
[[Datei:midi2.png|links|gerahmt|Platine von hinten]]<BR> | |||
[[Datei: | [[Datei:midi3.png|links|gerahmt|Belegung des DIN Steckers - MIDI Input]]<BR> |
Aktuelle Version vom 6. März 2012, 11:37 Uhr
Experimente mit dem Arduino Mega und Midi Input.
Bauteile:
Diode: 1N 4148
Optokoppler: CNY 17F2
Widerstand: 220 Ohm, 2,2 kOhm
Lochrasterplatine: H25PR050
Din Buchse Halbrund
Arduino Sketch:
//Das Testprogramm gibt die MIDI Noten an der Seriellen Schnittstelle aus - Bitrate: 31250
int incomingByte = 0; // for incoming serial data
int temp = 0;
int i1=0;
void setup() {
Serial.begin(31250);
Serial3.begin(31250);
}
void loop() {
incomingByte = Serial3.read();
if (incomingByte != -1 and incomingByte != 248 and incomingByte != 254) {
if (temp == 144 or temp == 0) {
switch (incomingByte) {
case 96:
Serial.println("Note: 96");
break;
case 95:
Serial.println("Note: 95");
break;
case 94:
Serial.println("Note: 94");
break;
case 93:
Serial.println("Note: 93");
break;
}
}
temp = incomingByte;
Serial.println(incomingByte);
i1=0;
}
}
Es ergibt sich folgendes Bild mit der Arduino Serial Read Software beim Drücken der Tasten am Keyboard:
102
30
30
38
32
102
6
56
38
30
102
128
32
6
Schaltplan: http://www.rn-wissen.de/index.php/MIDI-Interface


