Ich brauche Hilfe bei einer MIDI Input Schaltung?

2 Antworten

Da müsste man erst mal den Schaltplan haben, deinen Aufbau kennen und ggf auch dein Programm... Aber ja, Optokoppler dienen grundsätzlich der galvanischen Trennung was sehr sehr oft von Vorteil ist, um Masseschleifen, Potentialverschleppung usw wirkungsvoll zu vermeiden. Ggf kann sonst was kaputt gehen, wenn fremdpotentiale falsch ins Spiel kommen... Daher dürfte vermutlich der Optokoppler als Schutz davor dienen...


GartenGnom33 
Beitragsersteller
 09.07.2024, 07:30

Schaltplan ist oben ⬆️

RareDevil  09.07.2024, 18:13
@GartenGnom33

Nun, das ist ja nur die Pegelumsetzung über den Optokoppler. Hast Du am RX-Pin das Datenprotokoll sehen können? Wie ist das ganze am Arduino angeschlossen? Wie ist dein Programm auf dem Arduino zum einlesen und weiterverarbeiten des Midi-Protokoll? Was gibt der SerialMonitor aus, wenn du das eingelesene ausgibst? Mit nur Bruchstücken und Teilausschnitten kann Dir keiner weiter helfen...

GartenGnom33 
Beitragsersteller
 09.07.2024, 18:17
@RareDevil

Der Arduino sagt nichts am SerialMonitor außer wenn ich eben manuell 5v anlege. Mit dem MIDI Kabel geht es nicht. Das ist ja das komische

RareDevil  09.07.2024, 18:25
@GartenGnom33

Feste 5V dürften eig nichts ausgeben, da Midi ein Protokoll ist und nicht nur 5V da oder nicht. Da werden Daten übertragen. Das ist eine Schnittstelle, die über eine serielle Schnittstelle eingelesen und verarbeitet werden müssen. Du musst folglich die eingelesenen Datenpakete verarbeiten und den Steuerbefehlen entsprechend Funktionen zuweisen, was der Arduino dann machen soll.

GartenGnom33 
Beitragsersteller
 09.07.2024, 19:27
@RareDevil

Das weiß ich schon aber dadurch dass es nicht funktioniert hat hab ich erst mal ausprobiert, ob überhaupt Strom am Arduino ankommt

RareDevil  09.07.2024, 19:42
@GartenGnom33

Die Daten kommen zu schnell, um diese digital zu erfassen. Das sind ja 31200 Bits/sek. Also 31200 mal high bzw low... Das siehst Du nicht als Binäreingang. Du musst schon eine serielle Verbindung einrichten und mit dieser Geschwindigkeit die Schnittstelle auslesen...

GartenGnom33 
Beitragsersteller
 09.07.2024, 22:01
@RareDevil

mit dem pitch geht es aber, da da fast immer Daten kommen

GartenGnom33 
Beitragsersteller
 09.07.2024, 22:02
@RareDevil

Und ich habe eh festgestellt das der RX Anschluss des arduinos defekt ist somit ist das Problem gelöst. Danke für die Hilfe

RareDevil  09.07.2024, 22:20
@GartenGnom33

Der RX wird auch vom PC belegt (Also Pin 0 und 1 sind die USB-Anbindnung zum PC), wenn Du eine Verbindnung mit diesem hast. Du musst eine SoftwareSerial nehmen oder einen Arduino mit zwei seriellen Schnittstellen... Muss also nicht unbedingt defekt sein...

RareDevil  10.07.2024, 07:47
@GartenGnom33

Ok, der hat zwei getrennte Schnittstellen. Eine ist nur am USB-Controller und die zweite ist auf Pin 0 und 1 (RX und TX) geführt... Jetzt weiß ich nur nicht, ob die serielle Schnittstelle, da es zwei sind, gezielt angesprochen werden muss. Sprich, mit Serial.Begin evt die USB ansprichst (für SerialMonitor), und für die zweite serielle Schnittstelle einen extra Befehl/Ergänzung verwenden musst...

RareDevil  10.07.2024, 07:56
@RareDevil

Mal gerade nachgelesen...

Serial.Begin ist die USB-Serial

Serial1.Begin ist die RX0 und TX0 auf dem Pinheader...

Wenn DU also den RX0 vom Pinheader nutzt, musst Du die Serial1 mit 31250 Baud initialisieren... und alle Befehle/Abfragen auch auf Serial1 tätigen...

Ja, den Optokoppler braucht man. MIDI ist aus gutem Grund eine galvanisch getrennte Stromschleife.

Prüfe die Schatung, ob alles korrekt verdrahtet ist und die Widerstände den richtigen Wert haben. Miss dann am RX Pin (Oszilloskop), ob da ein ordentliches Rechtecksignal vorhanden ist. Könnte auch ein Softwarefehler sein.


GartenGnom33 
Beitragsersteller
 09.07.2024, 17:13

Ich habe schonmal eine LED an den Ausgang des midi Steckers angeschlossen und das hat funktioniert.

Dann hab ich den Anschluss am Optokoppler mit 5v verbunden, das hat auch funktioniert. Nur alles zusammen geht nicht.

easylife2  09.07.2024, 18:51
@GartenGnom33
Dann hab ich den Anschluss am Optokoppler mit 5v verbunden

Welchen Anschluss denn? Hoffentlich nicht 5V zwischen Pin 2 und 3 angelegt, dann brennt die LED im Optokoppler durch.

Wenn du den MIDI Ausgang des angeschlossenen Gerätes schon mit einer LED "sichtbar" gemacht hast, kannst du diese LED ja auch mal an die von dir gezeigte Schaltung dranhängen (zwischen "RX Pin" und GND). Da sollte das MIDI Signal ebenfalls an der LED erkennbar sein, allerdings invertiert. Die Invertierung muss dann in Software gelöst werden.

easylife2  09.07.2024, 18:57
@easylife2

Und prüfe auch nochmal nach, ob die Schutz-Diode 1N914 richtig herum eingebaut ist. Wenn die falsch herum gepolt ist, geht's nicht.

Und auch wenn die Pins an der MIDI Buchse verwechselt wurden (Pin 4 und Pin 5) funktioniert es auch nicht.

GartenGnom33 
Beitragsersteller
 09.07.2024, 19:30
@easylife2

Ich habe die 5v schon an pin 2 und 3 angelegt, aber mit einem wiederstand dass die LED nicht durchbrennt