Тёмный

NEOPIXEL DMX Controller for a WS2812B LED Strip Using Arduino Uno 

Gadget Reboot
Подписаться 30 тыс.
Просмотров 51 тыс.
50% 1

How to use Arduino as a DMX controller and receiver to control commercial DMX fixtures as well as your own projects. This uses the Arduino to send and receive custom hard coded data with the DMX protocol, not meant to receive other standard controller data.
An American DJ microwash RGBW light is controlled to verify successful DMX data is being sent, and a strip of 60 WS2812B RGB LEDs are controlled.
The strip of LEDs are first controlled as a single unit where all pixels are the same color and brightness, replicating the American DJ light to verify operation.
Then each pixel on the LED strip is controlled discretely using 180 DMX channels (60 LEDs x R G B level data), creating an LED chaser scene.
This is mostly an Arduino protocol demo, an actual implementation would require power and data isolation, which I will do in a different video.
Sketch & Schematic:
github.com/GadgetReboot/Ardui...
More on using WS2812 RGB LEDs: • HOW TO USE WS2812B NEO...
More on Arduino DMX: • ARDUINO DMX512 CONTROLLER
DMX Serial Arduino Library
www.mathertel.de/Arduino/DMXSe...
github.com/mathertel/DMXSerial
DMX Technical Reference
www.element14.com/community/g...
erg.abdn.ac.uk/users/gorry/eg...
RS485 Power and Data Isolation Device
www.analog.com/en/analog-dial...
www.analog.com/media/en/techn...
Patreon: / gadgetreboot
#ElectronicsCreators

Наука

Опубликовано:

 

18 фев 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 81   
@sethadler1981
@sethadler1981 3 года назад
I really appreciate all the time and effort you put into this! I am trying to do my own DMX project and having reference material such as this video is such a big help!
@moritzwahl4842
@moritzwahl4842 3 года назад
Very Helpful! I got the flickering LEDs when using the Adafruit Neopixel Library. Now everything works like a charm. Thanks!
@keukenrol
@keukenrol 4 года назад
Exactly what i was looking for, thanks!
@MaddinGOE
@MaddinGOE 5 лет назад
This project is great. Please do more with DMX!
@GadgetReboot
@GadgetReboot 5 лет назад
I have more plans coming up. I’m waiting on some more RGB LEDs and I also want to try making an isolated DMX circuit. Stay tuned.
@MarcelDiane
@MarcelDiane 5 лет назад
Look at you! Almost 400 subs in one month. That counter is really working for you.
@GadgetReboot
@GadgetReboot 5 лет назад
When I get all the parts I’m waiting for in the mail, I’m going to make a super counter! Keep watching
@GadgetReboot
@GadgetReboot 5 лет назад
Of course you’re subconsciously encouraging me to go to the dollar store on my way home from grocery shopping tomorrow. But, spoiler alert, I do have longer-term goals of attaching some solenoids to a drum set. Both of which I currently have in my possession. So many projects, so little time. A good problem to have.
@electronic7979
@electronic7979 5 лет назад
Very good project 👍
@andrespablogaray808
@andrespablogaray808 3 года назад
mil gracias,,,..es todo lo que buscaba !!!!!!!!!!
@MadCowMusic
@MadCowMusic 4 года назад
This is genius! TYVM!
@edled1026
@edled1026 2 года назад
Thank you for this good video
@TysonPower
@TysonPower 5 лет назад
Thanks for this video
@vitaliirevutskyi7836
@vitaliirevutskyi7836 4 года назад
Thanks. It was very usefull, because I am also making similar projekt!
@maddice319
@maddice319 4 года назад
I'm trying to use an Uno with a DMX Sheild. If I'm just using an Enttec Controller connected to my computer, should I just be able to use the DMXSerialRecv with a WS2812b strip connected to Pin 12? I do not get any control functions. I've tested my physical and power connections to the strip with FASTLED and I can run through all the examples fine.
@FreddyBirch
@FreddyBirch 2 года назад
I have been looking for a way to control a LED matrix i'm making. Have bought a SP201E controller, but one DMX universe doesnt cover half of the diodes i have. Been thinking about controlling it with Rpi and/or Arduino, but how and what language should i use if i want to control the diodes with DMX through qlab?
@PantherJagger
@PantherJagger 4 года назад
I would like to put this into my DMX chain and do scenes with it on my controller software, How do you wire just a DMX in and out from the Arduino, do you still need 2?
@electroniquepassion
@electroniquepassion 5 лет назад
Nice 👍
@eross21
@eross21 11 месяцев назад
i have a arduino nano every. board. do you think that would work to control the dmx board?
@saliva776
@saliva776 Год назад
sadly for me the improved ws2818 library is not working. I use 4Watt RGBW LEDs but also tried 3Watt RGB LEDs. Dont know how to get it working, so i will use the standard adafruits library and hope it is fast enought with dmx.
@truongcongdinh097
@truongcongdinh097 3 года назад
I want to use my arduino as a DMX slave to recieve the DMX signal from another controller like Sunlite and control LED, but I have a problem with connection from arduino to MAX485, can anyone help Thank you so much
@deepeshkushwah607
@deepeshkushwah607 3 года назад
Can help me to make a code for DMX stapper motor with encoder
@egecemyurukoglu5806
@egecemyurukoglu5806 2 года назад
(SetupNeopixel' was not declared in this scope ) hello i am getting an error like this
@superradmotokids
@superradmotokids 2 года назад
Will this work as a receiver on a Arduino Nano board?
@Totalrandomness2011
@Totalrandomness2011 2 года назад
How do you download his library to Arduino?
@Mrfrancocjs
@Mrfrancocjs 4 года назад
I'm trying to communicate the arduino as a NAVIGATOR 2 receiver, but it doesn't seem to receive anything, does this only work between arduinos?
@GadgetReboot
@GadgetReboot 4 года назад
This project was using a proprietary communication protocol but I am looking into a more universal standardized project to come.
@Cyberplayer5
@Cyberplayer5 3 года назад
Question when you adjust each channel,Red Blue Green, with the control the setting remains after you set it. Example you adjust the slide for green to half brightness. Then switch to adjust blue to full,green stays where it was correct?
@GadgetReboot
@GadgetReboot 3 года назад
That should be how it works. Once the mode is no longer controlling the same thing it should retain the last setting
@Cyberplayer5
@Cyberplayer5 3 года назад
@@GadgetReboot Thanks! I didn't know if you were using the Show() function in Fastled.
@ernestorivero9909
@ernestorivero9909 2 года назад
Otro video de como controlar tiras neopixel por bluetooth ya de este he visto con este 16,porque no haces uno de como enviar mensage por bluetooth a una matrix neopixel
@kristophercox5932
@kristophercox5932 3 года назад
What is the value of the sliding pots that you are using - Thanks for the video and info.
@GadgetReboot
@GadgetReboot 3 года назад
Those were 10K but it probably doesn't matter because it's just going to be read as a voltage from 0v to 5v whether it's overall 10K or 100K etc, and the resistance can be anything as long as it's adjustable. Of course going smaller will draw more current so 10K is a good minimum
@kristophercox5932
@kristophercox5932 3 года назад
@@GadgetReboot Thanks for the reply - I am extremely new to playing with the Arduino - I am getting errors when I open the dmx_controller.ino file - stray '\302' in program - any help would be great - I really want to get this little controller working for a project I'm working on - Thanks for any help / advice u can give me.
@GadgetReboot
@GadgetReboot 3 года назад
Those types of errors usually happen when code is copied and pasted from the web and extra hidden characters get added in. But if you downloaded it from github and opened it, it should be the same working copy. Does the error log say what line in the code is causing problems? One tedious way to try to find it is manually go to each line and remove any spaces before and after the real text so any hidden characters get deleted too, then use the auto format menu option to get it all spaced out properly again.
@ernandofranco8448
@ernandofranco8448 4 года назад
friend which version of Library and IDE did you use? I have a problem that the tape is flashing ...Tanks
@GadgetReboot
@GadgetReboot 4 года назад
Not sure now, but most likely whatever versions were current in Feb 2019. I know things can get broken over time with new versions so I started trying to document it better more recently in projects. If the strip lights are flashing though, what happens if you only try to control a few and keep the rest off - I wonder if there's a problem with current availability to power it?
@ernandofranco8448
@ernandofranco8448 4 года назад
@@GadgetReboot I use a separate source for the 5V 10A strip, it obeys the commands via DMX but it seems that the data transmission to it is interrupted and the entire strip flashes.
@GadgetReboot
@GadgetReboot 4 года назад
is there a series resistor in line with the data connection to the strip, and are the grounds connected together from different power supplies?
@ernandofranco8448
@ernandofranco8448 4 года назад
@@GadgetReboot I managed to make it work, I downloaded the DMXserial library again and uploaded it with IDE V 1.8.5 and it worked !!! Thank you
@remconet
@remconet 4 года назад
I'm looking to make a DMX emitter to send out signals through an ir led. Like a DMX controlled remote control. Any tip, help, links or maybe your next project?
@GadgetReboot
@GadgetReboot 4 года назад
I wonder if it's as easy as connecting the IR LED and a resistor to the data output on the transmit side instead of connecting data out to an RS485 driver, and on the receiver side have the photo transistor/diode instead of the RS485 to connect to data in...
@remconet
@remconet 4 года назад
@@GadgetReboot Yeah it might. I'm just a bit too new still to all this (dmx). I do have an ir sketch running that recieves from any ir source (like a remote). Would you have to have a dmx device on the revieving end? Or would you just simply have to read the signal and asign a color to the neopixel, like the sketch I'm running now.
@remconet
@remconet 4 года назад
@@GadgetReboot Also: how would you asign the color you want to see from the recieving end through the ir led?
@GadgetReboot
@GadgetReboot 4 года назад
@@remconet If not using a DMX device then I imagine the IR receiver just sending data in and the DMX receive sketch should still work the same as if it had RS485 data, it's all just a data signal when it gets to Arduino whether it's coming in from RS485 or IR. But if the receiving end isn't Arduino but a real DMX device, then the IR receiver would need to send its output to the data input of an RS485 transmitter so it can receive the IR and re-transmit it as RS485 to the real DMX device that can only accept RS485 in. So assigning the color on the receive end is identical to how it's already done, same data comes into Arduino, just gets to it by IR vs RS485 in the outside world first.
@remconet
@remconet 4 года назад
@@GadgetReboot Interesting! I'll give it a try when my slightly more knowledgeable friend is here :) Thanks!
@deadmusik9969
@deadmusik9969 4 года назад
Most of the pinouts on DMX controllers are 4 pin, i grabbed around 30 meters of 5v ws2812b which has 3 pins *pwr,gnd,dat* how can i use a DMX controller that has a pinout reading 4 pin, or whats the reason for switching to three wires when all controller basically use 4 or more wires. . . please some help, ive felt like i ive dumped a bunch of money into nothing nothing with these 5 volt strips.
@vita2200
@vita2200 4 года назад
They get connected to the gpio pins on the arduino, controllers are either 3 or 5 pin and only carry signals.
@VitorGarcia12
@VitorGarcia12 2 года назад
Preciso de uma biblioteca para usar uma digispark como dmx receiver e fazer o controle de 25 leds inviduais pelo protocolo dmx totalizando 75 canais dmx. Poderia me ajudar? Não sou programados e não sei modificar os códigos kkk Obrigado
@MaddinGOE
@MaddinGOE 5 лет назад
Can you do a project, just with ws2812 + DMX alone? And best of all with the library "FastLED".
@GadgetReboot
@GadgetReboot 5 лет назад
I remember having trouble getting fast LED to work while doing DMX at the same time, but I can’t remember if the reason was clear. It might have had something to do with timers and interrupts conflicting and i’d have to dig into it again. I do have more DMX plans coming up when I receive more parts so maybe then I can try to figure out what the problem was.
@MaddinGOE
@MaddinGOE 5 лет назад
@@GadgetReboot Thanks for your answer. I am very bad at writing code. My goal is to have 12 RGB LEDs summarized as one. When I select the first RGB via DMX, 12 LEDs should light up. Do you have an idea?
@GadgetReboot
@GadgetReboot 5 лет назад
If I already have the code set up to allow me to turn on the one light as red, and if I had a strip where every three consecutive DMX channels represented red green blue of a certain light, then the next three were red green blue of the following light ( that’s how I set up the strip of 60 that I controlled with a light chaser over DMX. ), then let’s just call that first red light that I am controlling as being on channel 10. So then channel 11 and 12 would be green and blue hypothetically ( not sure what the actual code looked like when I did it ), then channel 13 would be red of the following light. If I want to turn on 12 lights in a row the same as that first one, instead of just setting channel 10 to the red level of the one light, I would just set the same data on channel 10, 13, 16, 19, 22, and so on until I have the red of 12 lights turned on. I would probably do that in a for loop where I go through incrementing by three to set the same color on each consecutive light until I’ve gone 12 times around the loop and set the same data in that location. I have only tried DMX with Arduino Uno, I wonder if I could get fast LED and DMX simultaneously with something else like ESP 8266. I’m sure I’ll be doing more experiments this year.
@MaddinGOE
@MaddinGOE 5 лет назад
@@GadgetReboot Thanks for your answer.
@ernestorivero9909
@ernestorivero9909 2 года назад
Another video of how to control neopixel strips by bluetooth and this I have seen with this 16, because you do not do one of how to send message by bluetooth to a neopixel matrix
@georgeeden5835
@georgeeden5835 5 лет назад
Is it possible to use this code on an Arduino MEGA 2560 R3 ATmega2560? I have tried with the dmx pins 3 and 2 and switched them around but haven't been able to get it to work at all.
@georgeeden5835
@georgeeden5835 5 лет назад
I have gone to the Arduino ide and gone to file > examples > examples from custom libraries > DmxSerial > Dmx Serial Recv and changed the red led line of code *const int RedPin = 13; // PWM output pin for Red Light.* to be pin 13 which is the built-in led on the mega and that has worked, not sure if this means that the dmx port is wired differently or something but i just thought it may be of a help when troubleshooting
@GadgetReboot
@GadgetReboot 5 лет назад
As far as I understand the mega should work using the UART on digital pins 0 and 1 and then pin 2 by default for the transmit or receive mode. Do you have two different Arduino‘s doing transmit and receive ? If you are using two different boards to do a complete send and receive, it should also work just directly tying the UARTs together without an RS-485 board in between because it’s just communication methods being translated back-and-forth so you could do UART Tx of one board to UART Rx of the other board and it should work even without that digital pin to for the data direction because it’s already acting as a transmit on one and receive on the other.
@georgeeden5835
@georgeeden5835 5 лет назад
@@GadgetReboot at the moment I am trying to receive the dmx from a lighting desk but I think I have a wemos d1 r3 thingy in a drawer somewhere so I think I'll try and find that and see if I can get them to play ball.
@georgeeden5835
@georgeeden5835 5 лет назад
I can't get the controller code to work on the demos d1 r2 so I think I'll keep tinkering and see if I can get the receiver code to work.
@georgeeden5835
@georgeeden5835 5 лет назад
@@GadgetReboot Update, just received a new Arduino Uno and exchanged all the wires over from the mega to the Arduino like for like, but I had to move the ws2812 data wire as that was on pin 4 of the mega as described on ws2812.h so I moved that to pin 12 of the Uno and it all worked perfectly!
@ernandofranco8448
@ernandofranco8448 4 года назад
Goodnight friend! I am testing the programs and found all the fantastic ones, without a program that controls a tape with 4 channels Brightness R G B how could I implement an effects channel ?? Thank you very much for your time and patience !!
@GadgetReboot
@GadgetReboot 4 года назад
What would be an example of the effect channel? If the project includes the Arduino DMX receiver and the Arduino also controls the LEDs, if we want the LEDs to do something specific when data on a certain channel is received, we just write the software to perform that action when that data arrives to activate the effect. So the DMX channel and data are more like a switch and then whatever effect is implemented is up to the software, which could be anything we want. I haven't used the project in a while and I will be doing more with it later but it will take several months while I get a new work space set up.
@ernandofranco8448
@ernandofranco8448 4 года назад
@@GadgetReboot Hello, I made some changes to the software that receives the DMX signal and controls the strip, the board receives 6 channels and channel 1 is bright 2 Red 3 Green 4 Blue 5 Effects and 6 Speed ​​of effects. The software still lacks a lot of effects, but the main problem is the delay used in the effects and it locks the software when changing to another one ... The effect has to be completed to change to another one. I appreciate all your teaching, thank you very much !!! This link drive.google.com/file/d/1he5qh0yqSQQYTiAOGl25HagrJ5yWLdCC/view?usp=sharing
@ernandofranco8448
@ernandofranco8448 4 года назад
Sorry!! wrong Archive this is ok drive.google.com/file/d/1h-BpTfH4EUrNAdnlUgFWUUgwYQpJ1atQ/view?usp=sharing
@Dario_Kart
@Dario_Kart 3 года назад
Hello, i have a similar problem atm. Trying to use the DMX Channels as a swtich (kind of). If i try to just turn on a LED (when DMX Channel 1 is above 127) everything works fine, but if i want a LED Strip (WS2811) to perform an effect, that doesnt work... Would be really greatfull for any kind of help!
@Dario_Kart
@Dario_Kart 3 года назад
@@ernandofranco8448 Hello, do you have a download link for your Custom ws2812.h lib? As far as i understand, i need this lib for using LED Strips Effects with dmx lib
@przemysawzamaniec3750
@przemysawzamaniec3750 3 года назад
Hi. I have a problem with running your project on my computer. I am trying to upload fixture ws2812. But I keep getting bugs all the time. Arduino: 1.8.5 (Mac OS X), Board: "Arduino/Genuino Uno" /Users/przemek/Documents/Arduino/dmx_kon/dmx_kon.ino:25:104: fatal error: ws2812.h: No such file or directory #include "ws2812.h" // a specific LED controller that disables interrupts to work better Multiple libraries were found for "DMXSerial.h" Used: /Users/przemek/Documents/Arduino/libraries/DMXSerial Not used: /Users/przemek/Documents/Arduino/libraries/DMXSerial-master ^ compilation terminated. exit status 1 Error compiling for board Arduino/Genuino Uno. This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.
@GadgetReboot
@GadgetReboot 3 года назад
It's saying it can't find the file ws2812.h which I had in the same folder as the main sketch so it should find it if it's there. Do you have it?
@kalipso800
@kalipso800 3 года назад
Ok now it works. Thanks
@ArjanvanVught
@ArjanvanVught 5 лет назад
It is pretty dangerous to use non-isolated DMX interfaces. It is best to use DMX interfaces based on opto-couplers.
@GadgetReboot
@GadgetReboot 5 лет назад
Yeah if I can find some opto isolators in my part bins I might build up a demo of isolating electronics including relay drivers. I was thinking of trying to get an off the shelf isolated RS485 with built in power isolation but those may be out of budget plus for hobby level, maybe discrete parts make more sense to people.
@jessikalazers3368
@jessikalazers3368 3 года назад
DMX and XLR have different impedances!
@GadgetReboot
@GadgetReboot 3 года назад
DMX is data at around 110 ohms (RS485/RS422) and audio is lower, maybe 45-75 ohms. In a final installation the proper cable impedances should be used for signal integrity and audio cables may have better shielding and be more rugged for wear and tear in audio setups that take more abuse than DMX might.
@jessikalazers3368
@jessikalazers3368 3 года назад
truth, probably matters less.
@Hoptronics
@Hoptronics Год назад
True dmx is 5 pin even though only 3 are normally used. Usually it doesnt matter. With these cheap lights they mainly use 3 pin xlr cable since they are more readily available and cheaper. Always disappointing seeing a bunch of cases and it's all xlr. Usually means lunch is gonna suck. I never liked low budget gigs.. A sad day doing a lighting gig and everything is xlr. Lol..
@kadarcsaba11
@kadarcsaba11 2 года назад
Hi, this is the project that I have searched for. WS2812B ledstrip controled with an arduino nano 328p over the DMX protocol. I have done the whole project and it works fine. But I have a little problem with master brightness of the ledstrip. When I send a 255 (max.) DMX signal to each RGB pixel then the WS2812B ledstrip doesn't work with maximum brightness. I have compared the currents: about 10mA/pixel
Далее
HOW TO USE WS2812B NEOPIXELS WITH FASTLED ON ARDUINO
24:32
How to Build Your Own Modular DMX Lighting Rig
33:39
Просмотров 65 тыс.
They got a Golden Buzzer 🤣✨
00:46
Просмотров 17 млн
DMX Lighting Control with Arduino and Node-RED
39:09
Просмотров 34 тыс.
DMX Control for Robot Animatronics?
13:50
Просмотров 63 тыс.
ROCKET that LITERALLY BURNS WATER as FUEL
19:00
Просмотров 1,4 млн
I’m Never Buying LEDs Again! EASY DIY WLED!
13:11
Просмотров 1,2 млн
How to Control LED Tape With DMX
6:22
Просмотров 270 тыс.
Control DMX Lights with Arduino
10:56
Просмотров 23 тыс.