...
Mit diesem Code werden alle Kommandos, welche über die Serielle Schnittstelle an das Arduino geschickt werden in DMX Nachrichten umgewandelt und über DMX verschickt. Dazu müssen wir auf der Seite von Processing folgendes Protokoll einhalten.:
Code Block |
---|
CHANNEL:VALUE\n |
- CHANNEL entspricht einem Wert von 0 - 512.
- VALUE entspricht einem Wert von 0 - 255.
Im Folgenden ein kleines Beispiel, welches einen RGB Wert Das folgende Beispiel sender RGB Werte an eine DMX Leuchte sendet:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
import processing.serial.*; Serial port; void setup() { background(0); size(500, 500); frameRate(5); println(Serial.list()); port = new Serial(this, "/dev/tty.usbmodem1411", 9600); sendDMX(1, 0); sendDMX(2, 0); sendDMX(1, 255); } void draw(){ while(port.available() > 0) { print(port.readString()); } int red = int(map(mouseX, 0, width, 0, 255)); int green = int(map(mouseY, 0, height, 0, 255)); background(red, green, 0); stroke(255); text("Red: " + red + " - Green: " + green, 20, 20); sendDMX(1, red); sendDMX(2, green); sendDMX(3, 0); } void sendDMX(int channel, int value) { print(str(channel)); print(":"); print(str(value)); print('\n'); port.write(str(channel)); port.write(":"); port.write(str(value)); port.write('\n'); } |
Einstellungen
...
an
...
den
...
DMX
...
Empfängern
...
(Leuchten,
...
Scanner
...
usw.)
Um die gesendeten Werte mit einem DMX Endgerät lesen zu können muss dieses über die entsprechende Konfiguration verfügen. Es sollte demnach die richtige Adresse und der Wertebereich bekannt sein. Wegen der Vielzahl unterschiedlicher DMX Geräte sei hier auf die Bedienungsanleitung oder das Datenblatt des jeweiligen Gerätes verwiesen. Dort finden sich Hinweise, wie sich die Adresse einstellen lässt und wie viele Kanäle ein Gerät besitzt.