Posts with «led» label

Simplifying Basic LED Effects

There was a time when having a blinking blue LED on a project was all you needed to be one of the cool kids. But now you need something more complex. LEDs should not just snap on, they should fade in and out. And blinking? Today’s hotness is breathing LEDs. If that’s the kind of project you want, you should check out [jandelgado’s] jled library.

At first glance, an Arduino library for LED control might seem superfluous, but if you are interested in nice effects, the coding for them can be a bit onerous. If you don’t mind stopping everything while you fade an LED on (or off) then sure, you just write a loop and it is a few lines of code. But if you want to have it happen while other things continue to execute, it is a little different. The library makes it very simple and it is also nicely documented.

Obviously, to create a special effect LED, you need to create a JLed object. Then you can use modifier methods on that object to get certain effects. The only overhead is that you need to call the update method on the LED periodically. Here is one of the examples from the project:

#include <jled.h>

// connect LED to pin 13 (PWM capable). LED will breathe with period of
// 2000ms and a delay of 1000ms after each period.
JLed led = JLed(13).Breathe(2000).DelayAfter(1000).Forever();

void setup() { }

void loop() {
   led.Update();
}

Pretty easy and readable. Just remember that some Arduinos can’t do PWM on pin 13, so you might have to adjust. Our only complaint is that you have to update each LED. It would be nice if the JLed constructor kept a linked list of all LED objects so you could have a class method that updates all of them with one call. In the examples, the author keeps all the LEDs in an array and steps through that. However, that would be easy to fork and add. Oh wait, we did it for you. The library does do a lot of work, including taking advantage of higher PWM resolution available on the ESP8266, for example.

The library can turn an LED on or off (including delays), blink or breathe an LED forever or for a certain number of times, or fade an LED on or off. In addition to the presets, you can provide your own brightness function if you want to do some kind of custom pattern. You can modify most actions by specifying a delay before or after, a repeat count (which can be forever) and you can also tell the library that your LED is active low, so you don’t have to mentally remember to flip everything around in your code.

Rocket science? No. But we like it. Blocking for an LED effect is bad and this makes fancy asynchronous LEDs simple. Why not use it? Recent IDEs can install it from the manage library dialog, so it takes just a second.

Really, libraries are a key to building systems simple. Why not stand on the backs of others? Some of our favorites handle SPI and proportional integral derivative (PID) control.

Hack a Day 14 Jun 00:00

Building Badges The Hard Way

What’s a hacker to do to profess his love for his dearest beloved? [Nitesh Kadyan] built his lady-love this awesome LED pendant – the LED BLE Hearty Necklace Badge.

The hardware is pretty vanilla by today’s hacker standards. An ATMega328p  does most of the heavy lifting. An HM-11 BLE module provides connection to an Android mobile app. Two 74HC595 shift registers drive 16 columns of red LEDs and a ULN2803 sinks current from the 8 rows. The power section consists of a charger for the 320mAh LiPo and an LDO for the BLE module. All the parts are SMD with the passives mostly being 0603, including the 128 LEDs.

128 LEDs soldered wrong way around

[Nitesh] didn’t get a stencil made for his first batch of boards, so all the parts were painstakingly soldered manually and not in a reflow oven. And on his first board, he ended up soldering all of the LED’s the wrong way around. Kudos to him for his doggedness and patience.

The Arduino code on the ATmega is also quite straightforward. All characters are stored as eight bytes each in program memory and occupy 8×8 pixels on the matrix. The bytes to be displayed are stored in a buffer and the columns are left shifted fast enough for the marquee text effect. The Android app is built by modifying a demo BLE app provided by Google. The firmware, Android app, and the KiCAD design files are all hosted on his Github repository.

[Nitesh] is now building a larger batch of these badges to bring them to hillhacks – the annual hacker-con for making and hacking in the Himalayas. Scheduled for later this month, you’ll have to sign up on the mailing list for details and if you’d like to snag one of these badges. To make it more interesting, [Nitesh] has added two games to the code – Tetris and Snakes. Hopefully, this will spur others to create more games for the badge, such as Pong.

Pavement Projection Provides Better Bicycle Visibility at Night

Few would question the health benefits of ditching the car in favor of a bicycle ride to work — it’s good for the body, and it can be a refreshing relief from rat race commuting. But it’s not without its perils, especially when one works late and returns after dark. Most car versus bicycle accidents occur in the early evening, and most are attributed to drivers just not seeing cyclists in the waning light of day.

To decrease his odds of becoming a statistics and increase his time on two wheels, [Dave Schneider] decided to build a better bike light. Concerned mainly with getting clipped from the rear, and having discounted the commercially available rear-mounted blinkenlights and wheel-mounted persistence of vision displays as insufficiently visible, [Dave] looked for ways to give drivers as many cues as possible. Noticing that his POV light cast a nice ground effect, he came up with a pavement projecting display using four flashlights. The red LED lights are arranged to flash onto the roadway in sequence, using the bike’s motion to sweep out a sort of POV “bumper” to guide motorists around the bike. The flashlight batteries were replaced with wooden plugs wired to the Li-ion battery pack and DC-DC converter in the saddle bag, with an Arduino tasked with the flashing duty.

The picture above shows a long exposure of the lights in action, and it looks very effective. We can’t help but think of ways to improve this: perhaps one flashlight with a servo-controlled mirror? Or variable flashing frequency based on speed? Maybe moving the pavement projection up front for a head-down display would be a nice addition too.

Parts Bin Spooky Eye Build

Halloween is a great holiday for hacks, bringing out the creativity in even the most curmudgeonly wielder of a soldering iron. [tdragger] was looking to have some good old fashioned Halloween fun, and got to thinking – putting together this great Spooky Eyes build in their attic window.

The effect itself is simple – just two glowing orange LEDs spaced the right distance apart, placed in the highest window in the house. As every young child knows, the attic is almost the spookiest room in the house, second only to the basement.

Various effects were programmed in to the Arduino running the show, like breathing and blinking effects, to give that frightful character. For maintenance and programming purposes, [tdragger] wanted to have the Arduino remotely mounted, and searched for a solution. Rather than leaning on a wireless setup or something modern and off-the-shelf, instead some old RJ11 telephone extension cables were pressed into service. These allowed the eyes to be placed in the window, allowing the Arduino to be placed in a more accessible location.

It’s a basic project, but one that has a good fun factor. Sometimes it’s good to use what you’ve got to hand, so that the buzz of enjoyment isn’t dampened by the long wait for shipping. For something bigger, check out this giant staring eyeball.

Hack a Day 20 Mar 06:00

RGB Disk Goes Interactive with Bluetooth; Shows Impressive Plastic Work

[smash_hand] had a clear goal: a big, featureless, white plastic disk with RGB LEDs concealed around its edge. So what is it? A big ornament that could glow any color or trippy mixture of colors one desires. It’s an object whose sole purpose is to be a frame for soft, glowing light patterns to admire. The disk can be controlled with a simple smartphone app that communicates over Bluetooth, allowing anyone (or in theory anything) to play with the display.

The disk is made from 1/4″ clear plastic, which [smash_hand] describes as plexiglass, but might be acrylic or polycarbonate. [smash_hands] describes some trial and error in the process of cutting the circle; it was saw-cut with some 3-in-1 oil as cutting fluid first, then the final shape cut with a bandsaw.

The saw left the edge very rough, so it was polished with glass polishing compound. This restores the optical properties required for the edge-lighting technique. The back of the disc was sanded then painted white, and the RGB LEDs spaced evenly around the edge, pointing inwards.

The physical build is almost always the difficult part in a project like this — achieving good diffusion of LEDs is a topic we talk about often. [smash_hands] did an impressive job and there are never any “hot spots” where an LED sticks out to your eye. With this taken care of, the electronics came together with much less effort. An Arduino with an HC-05 Bluetooth adapter took care of driving the LEDs and wireless communications, respectively. A wooden frame later, and the whole thing is ready to go.

[smash_hands] provides details like a wiring diagram as well as the smartphone app for anyone who is interested. There’s the Arduino program as well, but interestingly it’s only available in assembly or as a raw .hex file. A video of the disk in action is embedded below.

Making LED lighting interactive comes in many different shapes and forms, and as the disk above shows, shifting color patterns can be pleasantly relaxing.

Definitive Dog Feeding with Arduino

Some dogs have no sense of self-preservation. Given the opportunity, they will eat until they’re sick. It’s up to us humans to both feed them and remember doing it so they aren’t accidentally overfed. In a busy household with young children, the tricky part is the remembering.

[Bryan]’s family feeds their dog Chloe once a day, in the mornings. She was a rescue who spent a few years scrounging for meals on the street, so some part of her is always interested in finding food, even if she just ate. Each morning, the flurry of activity throughout the house is compounded by Chloe’s repeated requests for food, so [Bryan] got his kids involved and built a simple circuit that lets everyone know—at a glance—whether Chloe was fed.

Chloe’s kibble is kept in a touch-top wastebasket that flips open at the press of a button. [Bryan]’s dog-fed detector uses a reed switch and an Arduino clone to detect when the lid is opened. When the reed switch goes, low, the Arduino lights up an LED. The light stays on for two hours and then shuts off automatically to get ready for the next day. You don’t have to beg for a demo video, because it’s waiting for you after the break.

Since Chloe devours a bowl of food in about two minutes flat, maybe the next project for [Bryan]’s family could teach her to slow down a bit.

Stop Motion with the Time Glove

What do you get when you put an ultra-bright LED in the palm of a glove, and strobe it controlled by an accelerometer? A Time Control Glove! In creator [MadGyver]’s own words, it’s “just a stroboscope with frequency adjustment” but the effect is where all the fun is.

The Time Control Glove uses the stroboscopic effect, which many of us have seen used in timeless water drop fountains where the strobe rate makes drops appear to change speed, freeze in place, and even change direction. [MadGyver] made the entire assembly portable by putting it into a glove. An on-board accelerometer toggles the strobe in response to a shake, and the frequency is changed by twisting the glove left or right. The immediate visual feedback to the physical motions is great. The whole effect is really striking on the video, which is embedded below.

Schematics and bill of materials are available on GitHub. Brilliant work! And while we’re discussing the stroboscopic effect, find out how it can be used to tune guitar strings.

[via Arduino Blog]


Filed under: Arduino Hacks, how-to, led hacks

Super simple controller for Motorcycle LED lights

For automobiles, especially motorcycles, auxiliary lighting that augments the headlights can be quite useful, particularly when you need to drive/ride through foggy conditions and poorly lit or unlit roads and dirt tracks. Most primary lighting on vehicles still relies on tungsten filament lamps which have very poor efficiency. The availability of cheap, high-efficiency LED modules helps add additional lighting to the vehicle without adding a lot of burden on the electrical supply. If you want to add brightness control, you need to either buy a dimmer module, or roll your own. [PatH] from WhiskeyTangoHotel choose the latter route, and built a super simple LED controller for his KLR650 bike.

He chose a commonly available 18 W light bar module containing six 3 W LEDs. He then decided to build a microcontroller based dimmer to offer 33%, 50% and 100% intensities. And since more code wasn’t going to cost him anything extra, he added breathing and strobe modes. The hardware is as barebones as possible, consisting of an Arduino Nano, linear regulator, power MOSFET and control switch, with a few discretes thrown in. The handlebar mounted control switch is a generic motorcycle accessory that has two push buttons (horn, headlight) and a slide switch (turn indicators). One cycles through the various brightness modes on the pushbutton, while the slide switch activates the Strobe function. A status indicator LED is wired up to the Nano and installed on the handlebar control switch. It provides coded flashes to indicate the selected mode.

It’s a pity that the “breathing” effect is covered under a patent, at least for the next couple of years, so be careful if you plan to use that mode while on the road. And the Strobe mode — please don’t use it — like, Ever. It’s possible to induce a seizure which won’t be nice for everyone involved. Unless you are in a dire emergency and need to attract someone’s attention for help.


Filed under: led hacks
Hack a Day 09 Sep 09:00

Spice Up Your Bench With 3D Printed Dancing Springs

Not all projects are made equal. Some are designed to solve a problem while others are just for fun. Entering the ranks of the most useless machines is a project by [Vladimir Mariano] who created the 3D Printed Dancing Springs. It is a step up from 3D printing a custom slinky and will make a fine edition to any maker bench.

The project uses 3D printed coils made of transparent material that is mounted atop geared platforms and attached to a fixed frame. The gears are driven by a servo motor. The motor rotates the gears and the result is a distortion in the spring. This distortion is what the dancing is all about. To add to the effect, [Vladimir Mariano] uses RGB LEDs controlled by an ATmega32u4.

You can’t dance without music. So [Vladimir] added a MEMs microphone to pick up noise levels which are used to control the servo and lights. The code, STL files and build instructions are available on the website for you to follow along. If lights and sound are your things, you must check out the LED Illuminated Isomorphic Keyboard from the past.


Filed under: musical hacks
Hack a Day 30 Jul 06:00
arduino  diy  led  musical hacks  neopixel  slinky  sound  toy  

This Model Parisian Building Is Actually a Binary Clock

Four creators fixed an Arduino powered LED binary clock inside a wooden model of a Parisian building to create a fancy addition to any home.

Read more on MAKE

The post This Model Parisian Building Is Actually a Binary Clock appeared first on Make: DIY Projects and Ideas for Makers.