DMX Shutter
Hi,
My name is Daniel and am new in this comunnity.
This project is for local theater and i want to share with you.
Its not finish yet.... i will make this post updated so you can grow with me.
This Project was inspirated by :
https://www.instructables.com/Build-Your-Own-DMX-F...
Need to thank for it :)
Supplies
- Arduino nano ch340 with atmega 326p
- 10 channel DIP switch
- 10 resistors 10k
- ic max 485
- male and female XLR connectors
Building It
This is prototype so i dont do schematic diagram now but in case its:
DIP switch
DIP 10 -> D2
-------||-------
DIP 1 -> D11
IC max485
RO/RE -> GND
DE -> 5V
DI -> RX0
--------------------------
VCC -> 5V
A -> XLR pin 3
B -> XLR pin 2
GND -> GND -> XLR pin 1
Fixture Pin = 12
Troubleshoting
Test DIP switch to get DMX addres.
Basicall
DIP 1 on = 1, off =0
DIP 2 on = 2, off =0
DIP 3 on = 4, off =0
DIP 4 on = 8, off =0
... etc
add up the values and save them.
Then just Serial.print(DMXadress).
CODE:
if (digitalRead(Input1) == HIGH) {Dip1 = 1;} if (digitalRead(Input1) == LOW) {Dip1 = 0;}
if (digitalRead(Input2) == HIGH) {Dip2 = 2;} if (digitalRead(Input2) == LOW) {Dip2 = 0;}
if (digitalRead(Input3) == HIGH) {Dip3 = 4;} if (digitalRead(Input3) == LOW) {Dip3 = 0;}
if (digitalRead(Input4) == HIGH) {Dip4 = 8;} if (digitalRead(Input4) == LOW) {Dip4 = 0;}
if (digitalRead(Input5) == HIGH) {Dip5 = 16;} if (digitalRead(Input5) == LOW) {Dip5 = 0;}
if (digitalRead(Input6) == HIGH) {Dip6 = 32;} if (digitalRead(Input6) == LOW) {Dip6 = 0;}
if (digitalRead(Input7) == HIGH) {Dip7 = 64;} if (digitalRead(Input7) == LOW) {Dip7 = 0;}
if (digitalRead(Input8) == HIGH) {Dip8 = 128;} if (digitalRead(Input8) == LOW) {Dip8 = 0;}
if (digitalRead(Input9) == HIGH) {Dip9 = 256;} if (digitalRead(Input9) == LOW) {Dip9 = 0;}
if (digitalRead(Input10) == HIGH) {Dip10 = 512;} if (digitalRead(Input10) == LOW) {Dip10 = 0;}
DMXaddres = Dip1 + Dip2 + Dip3 + Dip4 + Dip5 + Dip6 + Dip7 + Dip8 + Dip9 + Dip10;
Test reciving DMX values.
Tricky part. but in this all you need is check RX led and BUILD IN.
if (lastPacket < 5000) { // it is less than 5 seconds after we received a DMX value
analogWrite(EnablePin, dmxSHUTTER);
digitalWrite(LED_BUILTIN, HIGH); // display a normal operation and we receive a DMX value
} else { // turn LED off when there is no data received
analogWrite(EnablePin, 0); // display error message; we receive no DMX value
digitalWrite(LED_BUILTIN, HIGH);
delay(100);
digitalWrite(LED_BUILTIN, LOW);
delay(100);
digitalWrite(LED_BUILTIN, HIGH);
}
I was working with MAX485 but at the end i was using SN75176.
Finish
All i need is test it, in chaing, with other fixtures.. I went to club and put 2 on start and 2 on end of moving heads, blinders etc.
WORK WELL...
So this is chematic.
(dont hateme for it i cant find drawing programthat fits me)
And all codes i "made" for test and final.
Enjoy, and be cool like cucumber.
Free to use.