Forum: Mikrocontroller und Digitale Elektronik ESP8266 DMX Receiver für Arduino/C


von David S. (gutmut)


Lesenswert?

Hi,

ich suche für Arduino/C ein Beispiel für einen DMX Receiver/Empfänger.

DMX Sender finde ich sehr viele, aber keinen funktionierenden 
Empfänger...

Könnt ihr mir helfen?

Gruß
David

von Chris K. (Gast)


Lesenswert?


von David S. (gutmut)


Lesenswert?

Hi,

ja die Liste hab ich auch gesehen, und beim Google findet man da auch 
viel, aber hab davon keins für den ESP8266 verwenden können... Für den 
ESP habe ich nur den Weg WLAN-Art-Net zu DMX Sender gefunden. Ich suche 
aber eine LIB als DMX Empfängers (über ein RS484 Modul).

Gruß
David

von Chris K. (Gast)


Lesenswert?


von Urmel (Gast)


Lesenswert?

Hallo

bist Du fündig geworden.
Ich bin ebenfalls auf der suche nach einem DMX empfänger auf dem 
nodemcu.

von Ihr N. (ihr_n)


Lesenswert?

Hi,

ich suche auch nach einer Möglichkeit mit einem D1 Mini das DMX Signal 
aus einem Max485 Chip auszulesen.
Ein W-Lan Art Net irgendwas ist mir leider bei weitem zu komplex.

Mit DmxSimple bekomme ich leider diese Fehlermeldung:
c:\Users\timru\Documents\Arduino\libraries\DmxSimple\DmxSimple.cpp:7:10: 
fatal error: avr/io.h: No such file or directory
    7 | #include <avr/io.h>
      |          ^~~~~~~~~~
compilation terminated.

exit status 1

Compilation error: exit status 1

Mit DMXSerial bekomme ich diese Fehlermeldung:
In file included from 
C:\Users\timru\Documents\Arduino\Flamer\D1_DMX_test\D1_DMX_test.ino:1:
c:\Users\timru\Documents\Arduino\libraries\DMXSerial\src/DMXSerial.h:39: 
10:  fatal error: avr/io.h: No such file or directory
   39 | #include <avr/io.h>
      |          ^~~~~~~~~~
compilation terminated.

exit status 1

Compilation error: exit status 1

Wäre sehr für Hilfe Dankbar.

von Lukas E. (lukas_e147)


Lesenswert?

Das sind AVR Bibliotheken. Damit kann der ESP nix anfangen. Versuchs 
damit: https://github.com/someweisguy/esp_dmx

von Ihr N. (ihr_n)


Lesenswert?

Hi, danke für den Tipp.
ich stoße aber auf folgende Probleme:
1.) Das ist gemacht für ein ESP32, ich benutzte aber einen ESP8266- --> 
Macht das was aus?
2.) Aufgrund des DMX Lesen Beispiel schließe ich darauf, das man mit 
diesem Tool nur das ganze DMX Paket auslesen und über dem Seriellen 
Monitor an einen PC senden kann. Ich muss aber einzelne DMX Kanäle 
direkt auslesen und in dem ESP8266 direkt verarbeiten und die Ausgänge 
schalten. --> Ist das damit überhaupt möglich?

Außerdem:
Ich habe auch noch das Tool ESPDMX (ohne den Unterstrich bzw. mit 
Bindestrich) gefunden, aber damit funktioniert nichts, ich kann die 
Kanäle wohl nicht wirklich auslesen, habe einen Max 485 Chip am RX Pin 
angeschlossen, wenn ich den Aufbau mit einem Arduino Nano (und 
DMXSerial) teste läuft das.

Hier das Programm das ich geschrieben habe:
#include <ESPDMX.h>

DMXESPSerial dmx;

// DMX Settings
int RedCH = 1;                  // Red LED (0-255)
int GreenCH = 2;                // Green LED (0-255)
int BlueCH = 3;                 // Blue LED (0-255)

// Pins Output
int RedMosfet = 14;       // Red LED Mosfet Output Pin (PWM)
int GreenMosfet= 12;     // Green LED Mosfet Output Pin (PWM)
int BlueMosfet = 13;     // Blue LED Mosfet Output Pin (PWM)

// DMX Value Variables
int RedValue = 0;           // DMX Value RedCH
int GreenValue = 0;         // DMX Value GreenCH
int BlueValue = 0;          // DMX Value BlueCH
int MappedRedValue=0;
int MappedGreenValue=0;
int MappedBlueValue=0;

void setup() {
  dmx.init();               // initialization

//Outputs
pinMode(RedMosfet,OUTPUT);
pinMode(GreenMosfet,OUTPUT);
pinMode(BlueMosfet,OUTPUT);
}


void loop() {
  dmx.update();             // update the DMX bus
  RedValue = dmx.read(RedCH);
  GreenValue = dmx.read(GreenCH);
  BlueValue = dmx.read(BlueCH);

  MappedRedValue = map(RedValue, 0, 255, 0, 1023);
  MappedGreenValue = map(GreenValue, 0, 255, 0, 1023);
  MappedBlueValue = map(BlueValue, 0, 255, 0, 1023);

  analogWrite(RedMosfet, MappedRedValue);
  analogWrite(GreenMosfet, MappedGreenValue);
  analogWrite(BlueMosfet, MappedBlueValue);
}

Jemand eine Idee was ich falsch mache?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.