Dieses Node-Interface konvertiert Art-Net Protokolle über WLAN direkt in native differentielle DMX-Signale (RS-485), um Lichttechnik-Equipment latenzfrei per Software (wie QLC+, DMXControl oder GrandMA) anzusteuern.
Das Herzstück bildet ein ESP32-WROOM-32, kombiniert mit einem MAX485-Transceiver zur Signalwandlung. Die Stromversorgung und Programmierung erfolgt minimal über einen einzelnen USB-C Port.
Der Transceiver (Platinenaufdruck u.A. C25B) wandelt das serielle TTL-Signal des ESP32-UART2 in den DMX512-Schnittstellenstandard um.
| MAX485 Pin | ESP32 GPIO / Target | Beschreibung |
|---|---|---|
| VCC / GND | 5V / GND | Spannungsversorgung über USB-C Schiene |
| RO (Receiver Out) | Nicht belegt | Empfangsdaten-Leitung (nur Sende-Modus benötigt) |
| RE / DE | GPIO 16 (DMX_DIR_PIN) | Zusammengelegt auf HIGH geschaltet für permanenten Sende-Modus |
| DI (Driver In) | GPIO 17 (DMX_TX_PIN) | Verbindung zum UART2 TX Pin des ESP32 |
| A / B | DMX XLR Pin 3 / Pin 2 | Differentieller DMX-Ausgang (Daten + / Daten -) |
// ===== PINS =====
#define DMX_TX_PIN 17
#define DMX_DIR_PIN 16
#define LED_POWER 14 // Grün
#define LED_CONN 26 // Blau
#define LED_ERROR 27 // Rot
// ===== ART-NET SPECIFIC =====
#define ARTNET_PORT 6454
#define ARTNET_UNIVERSE 0
void sendDMX() {
digitalWrite(DMX_DIR_PIN, HIGH);
Serial2.end();
pinMode(DMX_TX_PIN, OUTPUT);
digitalWrite(DMX_TX_PIN, LOW);
delayMicroseconds(120); // DMX BREAK
digitalWrite(DMX_TX_PIN, HIGH);
delayMicroseconds(12); // DMX Mark After Break (MAB)
Serial2.begin(250000, SERIAL_8N2, -1, DMX_TX_PIN);
Serial2.write(0); // Start Code
for (int i = 1; i <= 512; i++) Serial2.write(dmxData[i]);
Serial2.flush();
}