Arduino Artnet Controller

Aus Deutsches DMXC-Wiki
Version vom 8. Juli 2016, 22:44 Uhr von Hifi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Arduino Artnet Controller
Entwickler Finn Hildebrand
Aktuelle Version 1.1
Status im Aufbau

Einleitung

Die Notwendigkeit einfach mal eine Idee mit DMX auszuprobieren, hat wohl jeder Bastler hier im Forum einmal gehabt. Für viele (unter anderem auch mich) ist es jedoch nicht möglich "mal eben" einen DMX Empfänger zu konstruieren und programmieren, der dann genau das macht, was man sich wünscht. Gerade nicht-Programmierer werden das kennen. Als Angehöriger dieser Gruppe habe ich im Studium das erste Mal mit einem Arduino Board gearbeitet und war begeistert, wie einfach man dort zeigbare Resultate erreichen kann. Mittlerweile finden die unterschiedlichsten Varianten des Arduinos in meinen Projekten Anwendung. Dieser Artikel resultiert vor allem nach einer Frage im Forum, wie man eine 8-Kanal Relaisplatine mit DMX ansteuern kann. Da natürlich noch viel mehr möglich ist, werden diese Optionen nach und nach noch implementiert.

Beschreibung

Zur Zeit umfasst der Arduino Sketch folgende Funktionen:

  • Empfangen von Artnet über Lan
  • Ausgabe von 10 PWM Kanälen zur Ansteuerung von Leds
  • Ausgabe von 16 Binären Kanälen zur Ansteuerung von z.B. Relais
  • Ansteuerung eines Servos

Hardware

Das entspannte an diesem Projekt ist die einfache Hardware. Für die Ansteuerung von den Relais muss man nicht einmal löten. Ihr braucht:

  • Arduino Mega, Ich selber benutze einen Nachbau von SainSmart, der als Rev. 3 für ca. 16€ bei einem einschlägigen Versandhändler zu erwerben ist
  • Arduino Ethernet Shield, selber Händler, gibt es von verschiedenen Herstellern zu verschiedenen Preisen. Meines (Aukru) hat im Betrieb einen verdammt heißen Chip... nächstes Mal wird es wohl ein anderes.
  • Relais Board, auch hier gibt es zig Versionen von 1 bis 16 Kanäle, je nach dem was ihr braucht.
  • Jumper Kabel Male - Female, zum Verbinden vom Arduino zum Relais Board
  • 5V Netzteil, um den Arduino unabhängig vom USB Stecker betrieben zu können
Materialübersicht

Software

Da die Library, welche den Artnet einlese Teil übernimmt nicht von mir ist, müsst ihr sie zunächst von https://github.com/natcl/Artnet herunterladen. Dann auf dem Desktop ablegen, in der Arduino IDE unter "Sketch -> Bibliothek einbinden -> .zip Bibliothek hinzufügen" einbinden und Arduino neu starten. Die anderen benötigten Bibliotheken sind nativ in der IDE vorhanden und müssen nicht seperat geladen werden. Dann den Arduino Code herunterladen und entpacken: Datei:Artnet multifunction.zip Jetzt könnt ihr den Sketch nach euren Wünschen anpassen, wenn ich keine Pwm Kanäle braucht, könnt ihr sie einfach markieren und mittels Rechtsklick -> auskommentieren aus dem Programm nehmen. Wenn ihr Kanäle ändern wollt, darauf achten, dass der Sketch bei "0" anfängt zu zählen, nicht wie DMXC bei "1". Schlussendlich den Sketch auf den Arduino flashen. Hier noch der Hinweis: vorher die Einstellungen unter "Werkzeuge" hinsichtlich der Boardauswahl etc. überprüfen. Den Code müsst ihr vor Verwendung natürlich noch an eure Bedürfnisse anpassen. Ich habe als Grundlage erstmal alles mit eingebaut, was ich vorliegen hatte. Wenn ihr etwas nicht benötigt, löscht es einfach heraus. Das gleiche gilt für die Kanalzuordnung. Wenn z.B. der (oder die) Servo(s) vor den Dimmerkanälen liegen soll, ist das einfach durch Änderung der in diesem Abschnitt verwendeten Kanäle möglich. Insgesamt ist es kein Hexenwerk, aber ohne sich etwas in die Funktionsweise des Codes einzulesen/ -arbeiten wird es schwer dafür zu sorgen, dass genau das passiert, was man erreichen möchte. Fragen dazu beantworte ich natürlich gerne. Dann am besten im Forum, damit andere auch an den Erkenntnissen teilhaben können.

Bilder

Links und Referenzen

https://www.arduino.cc/