Arduino MIDI Input: Unterschied zwischen den Versionen

Aus Technik-fan.de Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Hardware=
==Experimente mit dem Arduino Mega und Midi Input.==
 
Arduino Mega oder Uno


'''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:midi1.png|Platine]]
[[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

Platine von vorne


Platine von hinten


Belegung des DIN Steckers - MIDI Input