0% fanden dieses Dokument nützlich (0 Abstimmungen)
6 Ansichten3 Seiten

DMX Controller

Das Dokument beschreibt den Aufbau eines DMX-Controllers mit Potentiometer und Fadern zur Steuerung von Farbwechseln. Es werden Variablen für die Ein- und Ausgänge definiert und in der Setup- und Hauptschleife werden Werte ausgelesen, umgewandelt und an den DMX-Controller gesendet.

Hochgeladen von

Davier Maldonado Pautt
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
6 Ansichten3 Seiten

DMX Controller

Das Dokument beschreibt den Aufbau eines DMX-Controllers mit Potentiometer und Fadern zur Steuerung von Farbwechseln. Es werden Variablen für die Ein- und Ausgänge definiert und in der Setup- und Hauptschleife werden Werte ausgelesen, umgewandelt und an den DMX-Controller gesendet.

Hochgeladen von

Davier Maldonado Pautt
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

#include <DmxSimple.

h> //DMX Library


int Poti = 0; //Variable für Poti Wert
int Wert1 = 0; //Variable für Farbrad Rot
int Wert2 = 0; //Variable für Farbrad Blau
int Wert3 = 0; //Variable für Farbrad Grün
int Adresse = 34; //DMX Adresse des Controllers einstellen
int Fader1 = 0; //Variable für ADC Wert von Fader 1
int Fader2 = 0; //Variable für ADC Wert von Fader 2
int Fader3 = 0; //Variable für ADC Wert von Fader 3
int Rot = 0; //Variable für den umgerechneten Wert von Fader 1
int Gruen = 0; //Variable für den umgerechneten Wert von Fader 3
int Blau = 0; //Variable für den umgerechneten Wert von Fader 2
int i = 1; //Zählvariable für den Taster
int smooth1 = 0; //Variable zum glätten des 1. Faders
int smooth2 = 0; //Variable zum glätten des 2. Faders
int smooth3 = 0; //Variable zum glätten des 3. Faders
unsigned long previousMillis = 0; //Zählvariable für den Millis Timer
zum blinken der Taster LED
const long interval = 350; //Blinkintervall der Taster LED in ms
int ledState = LOW; //Variable für den zustand der LED

void setup()
{
[Link](3); //Festlegen auf welchem PIN der DMX
Ausgang ist
[Link](512); //Festlegen, wie viele Kanäle der
Controller sendet
pinMode(4, INPUT); //Eingang für den Taster festlegen
pinMode(13, OUTPUT); //Ausgang für die LED festlegen
[Link](9600); //[Link] für den seriellen Monitor
}

void loop()
{
unsigned long currentMillis = millis();
[Link](33,255);
digitalWrite(7, HIGH);
[Link]("i: ");
[Link](i);
[Link](" ");

if(i==0)
{

Poti = analogRead(A0);

if((digitalRead(4))== HIGH)
{
i=1;
delay(400);
}
digitalWrite(13, HIGH);
//--Rot--//
if(Poti <= 350)
{
Wert1 = map(Poti,0,350,255,0);
[Link](Adresse, Wert1);
}
else if(Poti >700 && Poti <=1024)
{
Wert1 = map(Poti, 700, 1024, 0, 255);
[Link](Adresse,Wert1);
}
else
{
[Link](Adresse, 0);
}

//--Blau--//
if(Poti >= 351 && Poti <= 680)
{
Wert2 = map(Poti,351,680, 0, 255);
[Link](Adresse +2, Wert2);
}
else if (Poti >= 680 && Poti <= 700)
{
[Link](Adresse +2, 255);
}
else if (Poti >700 && Poti <= 900)
{
Wert2 = map(Poti, 700, 900, 255, 0);
[Link](Adresse +2, Wert2);
}
else
{
[Link](Adresse +2, 0);
}

//--Grün--//
if(Poti >=20 && Poti <= 340)
{
Wert3 = map(Poti, 20, 340, 0, 255);
[Link](Adresse +1, Wert3);
}
else if(Poti > 340 && Poti < 360)
{
[Link](Adresse +1, 255);
}
else if(Poti >= 360 && Poti <= 680)
{
Wert3 = map (Poti, 360, 680, 255, 0);
[Link](Adresse +1, Wert3);
}
else if (Poti > 680)
{
[Link](Adresse +1, 0);
}
else if (Poti<=19)
{
[Link](Adresse +1, 0);
}
[Link]("Poti: ");
[Link](Poti);

else if(i==1)
{
[Link](" Fader 1: ");
[Link](Fader1);
[Link](" Fader 2: ");
[Link](Fader2);
[Link](" Fader 3: ");
[Link](Fader3);
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}

digitalWrite(13, ledState);
}
if((digitalRead(4))== HIGH)
{
i=0;
delay(400);
}
Fader1 = Fader1*0.4+0.6*analogRead(A1);
Rot = map(Fader1,0,1022,255,0);
[Link](Adresse, Rot);

Fader2 = Fader2*0.4+0.6*analogRead(A2);
Gruen = map(Fader2,0,1022,255,0);
[Link](Adresse+1, Gruen);

Fader3 = Fader3*0.4+0.6*analogRead(A3);
Blau = map(Fader3,0,1021,255,0);
[Link](Adresse+2, Blau);

Das könnte Ihnen auch gefallen