![]() If my lighting display uses a conservative 50 ms refresh rate. The problem is, the ESP only has 2 UART TX ports, one of which gets used up by the USB/debug port. There are a number of libraries out there that drive pixels by bit banging, this was not an option, I wanted to use the UART so I wouldn't have to worry about timing. The DMX protocol does limit the number of channels per universe to 512, and with each pixel taking 3 channels, we are limited to 170 pixels per universe. As I would be programming my ESP8266's from the Arduino GUI, this library would be perfect, and only require a few small changes for simplification and ease of use. The E1.31 DMX protocol is open, supported by both Vixen and Falcon Pi Player, so a short search resulted in finding the forkineye/E131 library for Arduino. On the software side, I needed 3 main components, 1 to receive data from a coordinator across the network, 1 to write the data to the pixel strands, and 1 to glue the 2 together. When this happens, the "Y" output port voltage can float, the resistance to ground will maintain the pixel led latch. While it will probably work without these, the pixels may not completely latch when the driver disables the output. Last but not least, don't forget the 10K ohm resistors. The SN74HCT125N 4 channel buffer/driver chips offered the functionality perfect functionality and can be found on Ebay for around $0.50 US. ![]() With only a single usable TX port (the other for programming and debugging), needed for writing with the proper timing for the WS2811/WS2812 addressable pixels, I needed an inexpensive component that would be able to switch at very high speed to support multiplexing the data output across the output channels. They can be purchased from Banggood, AliExpress, or Ebay for under $5 US. I settled on the Wemos D1 Mini Pro for the job. On the hardware side, the ESP8266 fit the price point well, and even though I wasn't initially crazy about a wireless solution, I set out to see how many pixels I could get it to successfully drive. Most pre-built controllers I found are expensive and most diy versions are a single channel/universe per controller. To program your Arduino you need the Arduino IDE.I was looking for a relatively inexpensive way to drive a large number of WS2811/WS2812 LED Pixels from Vixen / Falcon Pi Player, for my Christmas light display. For the case, I used an old Bluetooth receiver that I have no use of anymore. You also need a Micro USB cable, some wire, a soldering iron, solder, electrical tape, and something on which to mount the LED strip. Total cost: €20.27 (almost 20x less then the Pixelstick), or about $22 at the time of my build. MICRO USB To DIP Adapter 5pin Female Connector B Type.Micro SD card mini TF card reader module SPI interfaces.Five Direction Navigation Button Module for MCU.4pin 0.96″ White/Blue/Yellow blue 0.96 inch OLED 128X64.144 pixels/leds/m WS2812 Smart RGB Led Light Strip Black/ PCB.I chose an Arduino MEGA 2560 Pro, a small OLED Display, a Micro-SD reader, and a digital joystick since the display does not come with buttons. The LCD display alone is already bigger than my complete controller The List of Ingredients I’m not a fan of the large Arduino MEGA and the LCD Display shield as it makes the device unnecessarily large, so I decided to swap some parts. Hardware-wise I think it is a bit dated and way too big. ![]() Luckily, Michael Ross already built something like this called the Digital Light Wand, and it has some of the features that I want.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |