Arduino MIDI Input: Unterschied zwischen den Versionen
Aus Technik-fan.de Wiki
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
(Eine dazwischenliegende Version des gleichen Benutzers werden nicht angezeigt) | |||
Zeile 67: | Zeile 67: | ||
</source> | </source> | ||
+ | Schaltplan: http://www.rn-wissen.de/index.php/MIDI-Interface | ||
[[Datei:midi1.png|links|gerahmt|Platine von vorne]]<BR> | [[Datei:midi1.png|links|gerahmt|Platine von vorne]]<BR> | ||
Zeile 73: | Zeile 74: | ||
[[Datei:midi3.png|links|gerahmt|Belegung des DIN Steckers - MIDI Input]]<BR> | [[Datei:midi3.png|links|gerahmt|Belegung des DIN Steckers - MIDI Input]]<BR> | ||
− | |||
− | |||
− | |||
− |
Aktuelle Version vom 6. März 2012, 10: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