ich versuche gerade mittels eines ESP8266 D1 Mini eine Art "DMX capture card" für meinen PC zu basteln. Dabei soll ein DMX-Signal (mittels eines MAX485) vom Mikrocontroller empfangen, decodiert und dann (in Teilen) über die Serielle Schnittstelle (USB) an meinen PC weitergereicht werden.
Mein Problem besteht nun darin, dass alle Bibliotheken, die ich bisher finden konnte, die Serielle Schnittstelle zum Empfangen des DMX Signals nutzen, und ich diese daher nicht mehr verwenden kann, um die Signale an den PC zu schicken.
Meine Frage lautet: Ist es sinnvoll bzw. überhaupt möglich, mittels SoftwareSerial ein digitales Signal wie DMX zu empfangen und zu decodieren bzw. fallen euch alternative Lösungsvorschläge für mein Problem ein?
DMX hat eine Baudrate von 250.000. Da funktioniert der Empfang mit SoftwareSerial (zumindest am UNO) nicht mehr zuverlässig.
Du könntest zum Beispiel einen Mikrocontroller verwenden, der mehrere serielle Schnittstellen in Hardware hat, wie MEGA oder Leonardo/Micro.
Ich verwende selbst oft DMX mit Arduino und mit den obigen Controllern und Hardware-Serial funktioniert das zuverlässig.
Mit ESP habe ich in Zusammenhang mit DMX noch nicht gearbeitet, kann also nichts dazu sagen.
Edit: Sehe gerade - von einem UNO war eh nie die Rede...
wenn du einen USB-TTL Seriel konverter hättest, könntest du deine Debug-Ausgaben auf Serial1 schicken (und dann mit dem USB-TTL Konverter am PC ansehen) und den Hardware Serial für DMX - inkl. Receive verwenden.
Aber einfacher wird sein, du gehst auf einen ESP32 - besonders wenn er rumliegt.