Ich verbinde eine 2,5-mm-TRS-Buchse mit einem Arduino Mega, um Daten von einer Fernbedienung zu überwachen.
Die Fernbedienung entspricht dem LANC-Standard, einsehbar hier: http://www.boehmel.de/lanc.htm
Kurz gesagt, die Spitze ist LANC selbst, der Ring ist 5 V und die Hülse ist GND.
Was verbinde ich mit was auf dem Arduino, um die serielle Kommunikation zu überwachen?
Wenn der Tipp vollständig LANC ist, was verwende ich als TX und RX? Soweit ich das beurteilen kann, wechselt derselbe Draht zwischen Senden und Empfangen.
Danke
Sie benötigen eine Möglichkeit, einen Eingang und einen Ausgang über den einen LANC-Pin zu teilen.
Hier ist ein Beispiel , das zeigt, wie dies geschehen kann.
In diesem Diagramm sind 15 die Daten, die zu Ihrem Arduino (RX) gehen, und 17 sind die Daten, die Ihr Arduino sendet (TX). 18 ist Masse.
Verdrahten Sie die Dinge also wie gezeigt und verbinden Sie sie mit Ihren beiden seriellen Pins auf dem Arduino.
Ihr Arduino wird wahrscheinlich seine eigenen gesendeten Daten erhalten. Das musst du umprogrammieren.
Da LANC nicht wirklich RS232-kompatibel ist, müssen Sie möglicherweise Ihre eigene Bibliothek programmieren, um ein bisschen zu schlagen, um das Protokoll zu implementieren. In diesem Fall ist es einfach, Ihre Echoausgabe zu ignorieren - lesen Sie einfach nicht die RX-Leitung, während Sie TX ausführen. Wenn Sie feststellen, dass Sie eine Standard-RS232-Bibliothek verwenden können, müssen Sie einen anderen Weg finden, um das Echo zu ignorieren.
Um nur zu empfangen, müssen Sie nur die LANC-Leitung mit Ihrem seriellen Eingang auf dem Arduino verbinden.
Um die normalen RX/TX-Leitungen auf Ihrem Arduino zu verwenden, versuchen Sie, die Anweisungen aus der Arduino Serial-Referenz zu befolgen. Masse ist in Ordnung, und verwenden Sie den digitalen Pin 0 für den RX.
Bei der Suche nach Informationen zu den Signalpegeln für LANC bin ich auf diesen Artikel gestoßen. Sieht so aus, als hätte sich schon jemand die Mühe gemacht, das alles herauszufinden und zu dokumentieren.
Josh Bagger
JRE
Josh Bagger