Old-school filament-based Christmas lights used to be available in twinkling form. LEDs, with their hard-on and hard-off nature, aren’t naturally predisposed to such behavior. To rectify this, some time ago, [Mark Kriegsman] built an Arduino program that makes LEDs twinkle beautifully.
The program is known as TwinkleFOX, and relies on the popular FastLED library for addressable LEDs. [Mark’s] demo setup is built around using WS2811 LEDs, put together in a string with plastic diffusers on each bulb. The Arduino is programmed to vary the brightness of each LED according to a triangle wave function. To create the twinkling effect, each LED has its own unique clock signal, so they vary in brightness at different times and at different rates.
Using an Arduino Uno or Leonardo, [Mark] reports its possible to twinkle 300 individual LEDs at a rate of over 50 updates a second. Using a faster microcontroller should net reliable performance with longer strings. Meanwhile, if you’re wondering how the older-style lights used to twinkle, we’ve covered that before too. Video after the break.
Continue reading “LED Christmas Lights Optimized For Max Twinkleage”
Normally, when a project calls for addressable LEDs, we just throw a strip of WS2812s and an Arduino together, cobble together some code from the examples in the FastLED library, and call it a day. We don’t put much thought into what’s going on under the hood, unless and until we run into an LED project that’s a little more challenging.
Inventor [Leo Fernekes] found himself in such a situation recently, when he pitched in on an LED art installation. The project called for rings of LED bars around the trunks of trees on a private estate. The physical size of the project and the aesthetic requirements created significant challenges, though. One of these was finding a way to control the LED bars, each of which draws about 100 mA and needs to be very smoothly dimmed. [Leo] looked at the WS2811 LED driver, but found that the low drive current and the 8-bit PWM output failed to tick either of those boxes.
[Leo] solved both problems by using two of the three PWM channels on the chip in concert — one to control the current and one to PWM the LED. The circuit he came up with is deceptively simple — just four transistors, a Schottky diode, and a bunch of passives. The other clever bit is the data interface between LED bars, which can be configured as either single-ended or differential. This allows the same interface to be used for the short distance between bars on a tree, and the longer runs between trees.
As usual, [Leo] does a great job of explaining his design and how it works, which we find very instructional. He did something similar when he managed to dim a non-dimmable LED fixture.
Continue reading “Cool WS2811 Trick Makes LED Art Installation Smooth”
Learning a new language is hard work, but they say that the best way to learn something is to teach it. [Angeliki Beyko] is learning Greek, and what better way to teach than to build a vocabulary flash-card game from Arduinos, color screens, 1602 text screens, and arcade buttons? After the break, we have a video from the creator talking about how to play, the hardware she chose, and what to expect in the next version.
Pegboard holds most of the hardware except the color screens, which are finicky when it comes to their power source. The project is like someone raided our collective junk drawers and picked out the coolest bits to make a game. Around the perimeter are over one hundred NeoPixels to display the game progress and draw people like a midway game. Once invested, you select a category on the four colored arcade buttons by looking at the adjacent LCD screens’ titles. An onboard MP3 shield reads a pseudo-random Greek word and displays it on the top-right 1602 screen in English phonetics. After that, it is multiple choice with your options displaying in full-color on four TFT monitors. A correct choice awards you a point and moves to the next word, but any excuse to mash on arcade buttons is good enough for us.
[Angeliki] does something we see more often than before, she’s covering what she learned, struggled with, would do differently, and how she wants to improve. We think this is a vital sign that the hacker community is showcasing what we already knew; hackers love to share their knowledge and improve themselves.
Typing Greek with a modern keyboard will have you reaching for an alt-code table unless you make a shortcut keyboard, and if you learn Greek, maybe you can figure out what armor they wore to battle.
Continue reading “Greeking Out With Arduinos”
A couple of Christmases ago, [Nick] got tired of trying to evenly decorate his giant fake tree and built an MDF lazy Susan to make it easy as eggnog. But what’s the point of balanced decorations if one side of the tree will always face the wall? This year, [Nick] is giving himself the gift of a new project and motorizing the lazy Susan so the tree slowly rotates.
The saintly [Nick] decided to do this completely out of the junk box, except for all the WS2811 RGB LEDs on order that he hopes to synchronize with the tree’s movement. He started by designing a gear in OpenSCAD to fit the OD of the bearing, a task made much simpler thanks to the open-source gear libraries spinning around out there.
It was hard to get slow, smooth movement from the NEMA-23 he had on hand, but instead of giving up and buying a different motor, he designed a gear system to make it work. Our favorite part has to be the DIY slip ring [Nick] made from a phono connector to get around the problem of powering a rotating thing. This is a work in progress, so there are no videos just yet. You can watch [Nick]’s Twitter for updates.
[Nick] didn’t specify why he chose to use WS2811s, but they have gotten pretty cheap. Did you know you can drive them with VGA?
Via Adafruit’s CircuitPython newsletter
There’s something enchanting about the soft glow of a properly diffused LED, and this is only improved by greater numbers of LEDs. [Manoj Nathwani] was well aware of this, setting out to build a large display using ping-pong balls for their desirable optical qualities.Unfortunately, not everything went to plan, but sometimes that’s not all bad.
The matrix, built back in 2016 for EMF Camp, was sized at 32×18 elements, for a total of 576 pixels. This was achieved with the use of 12 WS2811 LED strips, with the lights set out on a 50mm grid. Cheap knock-off pingpong balls were used for their low cost, and they proved to be excellent diffusers for the LEDs.
With everything wired up to a NodeMCU, basic testing showed the system to be functioning well. However, once the full matrix was assembled in the field, things started to fall over. Basic commands would work for the first 200 LEDs or so, and then the entire matrix would begin to glitch out and display random colors. Unable to fix the problem in the field, [Manoj] elected to simply run the display as-is. Despite the problems, passers-by found the random animations to be rather beautiful anyway, particularly at night.
After the event, [Manoj] determined the issue was due to the excessive length of the data line, which in the final build was 48 meters long. While the problem may be rectified when [Manoj] revisits the project, the audience seemed to appreciate the first revision anyway.
LED displays will be a hacker staple until the heat death of the universe. Ping pong balls will also likely retain their position as a favorite diffuser. If you’ve got a great LED build of your very own, be sure to hit up the tips line!
Like pretty much all of us, [Andy Schwarz] loves RGB LEDs. Specifically he likes to put them on RC vehicles, such as navigation lights on airplanes or flashers and headlights on cars. He found himself often rewriting very similar Arduino code for each one of these installations, and eventually decided he could save himself (and all the other hackers in the world) some time by creating a customizable Arduino firmware specifically for driving RGB LEDs.
The software side of this project, which he’s calling BitsyLED, actually comes in two parts. The first is the firmware itself, which is designed to control common RGB LEDs such as the WS2812 or members of the NeoPixel family. It can run on an Arduino Pro Mini with no problems, but [Andy] has also designed his own open hardware control board based on the ATtiny84 that you can build yourself. Currently you need a USBASP to program it, but he’s working on a second version which will add USB support.
With your controller of choice running the BitsyLED firmware, you need something to configure it. For that, [Andy] has developed a Chrome extension which offers a very slick user interface for setting up colors and patterns. The tool even allows you to create a visual representation of your LEDs so you can get an idea of what it’s going to look like when all the hardware is powered up.
RGB LEDs such as the WS2812 are some of the most common components we see in projects today, mainly because they’re so easy to physically interface with a microcontroller. But even though it only takes a couple of wires to control a large number of LEDs, you still need to write the code for it all. BitsyLED takes a lot of the hassle out of that last part, and we’re very interested to see what the hacker community makes of it.
Continue reading “A Chrome Extension For Configuring RGB LEDs”
[Sean Hodgins] has a knack for coming up with simple solutions that can make a big difference, but this is one of those “Why didn’t I think of that?” things: addressable seven-segment LED displays.
[Sean]’s design is basically a merging of everyone’s favorite Neopixel RGB LED driver with the ubiquitous seven-segment display. The WS2811 addressable RGB driver chip doesn’t necessarily have to drive three different color LEDs – it can drive three segments of the same display. With three of the chips on a single board, all seven segments plus the decimal point of a display can be controlled over a single data line. No more shift registers, no more multiplexing. And as a nice touch, individual displays can be ganged together with connectors on the back of each module. [Sean] has some code to support the display but is looking for someone to build a standalone library for it, so you might want to pitch in. Yes, he plans to sell the boards in his shop, but as with all his projects, this one is open source and everything you need to build your own is up on GitHub. The brief video below shows a few daisy-chained displays in action.
Like many of [Sean]’s designs, including this Arduino rapid design board, this is a simple way to get a tedious job done, and it wrings a lot of functionality from a single IO pin.
Continue reading “Addressable 7-Segment Displays May Make Multiplexing A Thing Of The Past”