Arduino UNO Problem serieller Empfang (RX)

Gast #4687243
Lesenswert?

Hallo, bin noch recht neu in der µC-Programmierung...
Habe mir ein Programm geschrieben was Midi-Signale ausliest.(optisches 
Metronom -> LEDs leuchten im Takt) Auf dem Arduino Board läuft auch 
alles ohne Probleme. Dann habe ich die Stand-alone Variante mit Quarz 
und Spannungsversorgung auf dem Steckbrett aufgebaut. Habe einen neuen 
µC gebrannt (mit Bootlader) und auf dem Arduino Board getestet. Alles 
i.O. Auf dem Steckboard funktioniert nur das testweise einmaliege 
Ansteuern der LEDs und das Leuchten der "An"-LED. Brauche ich für die 
serielle Kommunikation noch zusätzliche Hardware?
Gast #4687396
Lesenswert?

Jetzt mal langsam...

1.) Welches Midi-Gerät hastdu?
2.) Mit welchem Arduino hast du es gemacht?
3.) Wie schaut die Schaltung deines Steckbrettes aus?
    (Nicht: So wie... - sondern hinsetzen und abmalen!) Was heißt bei 
dir?
4.) Was heißt:
    "funktioniert nur das testweise einmaliege Ansteuern der LEDs"?
Gast #4687432
Lesenswert?

Zu 1, Korg microStation ; zu 2, Arduino UNO , zu 3, wird nachgereicht , 
muss erst malen ? ; zu 4, mein Programm arbeitet so, dass zu Beginn jede 
der 4 LEDs für 200ms an geht und dann aus. Damit ich sehe ob alle 
funktionieren.
Gast #4687452
Lesenswert?

Zu 1:) Gut, okay.

Zu 2:) Okay, also ein Atmega328...

Zu 3:) Lass dir Zeit, und mal von Steckbrett ab! Ein Bild davon wäre 
auch super.

Zu 4:) Gut, also die LEDs laufen auf dem Steckbrett für die genanten 
200ms? Oder leuchten sie in einem anderen Zeitfenster (Länger) als auf 
dem Uno?
Gast #4687953
Lesenswert?

Das heisst also auf dem Arduino Board ist ein Optokoppler, was ich in 
der Stand alone Variante nicht habe? Denn mit dem A-Board alleine 
funktionierts ja.
Mir ist noch aufgefallen, wenn ich den Controller vom A-Board 
runternehme und dann Betriebsspannung ohne Controller anlege, liegt an 
den Anschlüssen für RX und TX 5V an. Das habe ich auf meinem Steckbrett 
nur bei TX, wenn der Controller drin ist.
(Firma: matzetronics) #4687968
Lesenswert?

Tete schrieb:
> Das heisst also auf dem Arduino Board ist ein Optokoppler, was ich in
> der Stand alone Variante nicht habe?

So isses. Hier ist die uralte originale Schaltung, die Midi Sender und 
(für dich besonders interessant) den Midi Empfänger beschreibt:
https://www.midi.org/specifications/item/midi-din-electrical-specification

Beachte den Optokoppler im Empfänger. Auch wird eine etwaige Masse des 
Senders nicht mit Masse des Empfängers verbunden. MIDI über DIN ist eine 
Stromschleife mit LED Strom. Dabei gilt, ein aktive Leitung (0 am 
Receiver) bedeutet Strom durch die LED des Optokopplers.
Beachte, das viele Optokoppler zu langsam sind, um 31,25 kBit sauber zu 
empfangen. Es muss einer der etwas schnelleren Sorte sein, wie ein PC900 
oder gar 6N137.
Gast #4688584
Lesenswert?

Spannungsteiler schrieb:
> ...ob über Optokoppler, oder ohne....
> ein Bild hilft immer weiter :-)

Ja ich weiß, also ich sehe da keinen in der RX/TX Leitung. Also wird 
wohl der TE auch keinen auf seinem UNO haben - und da lief es auch. Also 
liegt das Problem wohl woanders.

Das ein Midi Port über Opto angebunden ist, sei ja erstmal dahin 
gestellt. Ist ja richig. Aber warum lief es dann am UNO?
(Firma: matzetronics) #4688927
Lesenswert?

Draco schrieb:
> Matthias S. schrieb:
>> Tete schrieb:
>>> Das heisst also auf dem Arduino Board ist ein Optokoppler, was ich in
>>> der Stand alone Variante nicht habe?
>>
>> So isses.
>
> Wo hat denn der Uno nen Optokoppler an den RX/TX Pins?!

Ich hatte das mit dem Shield vermissstanden. Auf dem MIDI Shield ist ein 
OK, auf dem Uno selbst natürlich nicht. Das kann zufällig trotzdem 
funktionieren, wenn die Masse des Midi Senders mit der Masse des Uno 
verbunden ist und dann noch der richtige Pin an der DIN Buchse des 
Midisenders erwischt wurde.
Aber Masseschleifen zu vermeiden, ist ja der Sinn hinter der Optokoppler 
Nummer.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren