Sequential Fading of LEDs

Discussion in 'The Projects Forum' started by daddywags, Jul 16, 2008.

  1. daddywags

    Thread Starter New Member

    Jul 16, 2008
    Hello everyone!

    I'm not certain this is possible, but here's what I've been trying to figure out how to do. Any help or advice you can give me is *greatly* appreciated.

    I have a ring of LEDs, mounted underneath a crystal diffuser. I would like the LEDs to fade on and off, in a sequential way.

    That is, I would like the LED at the 12:00 position on the ring to fade on, begin to fade off, and then have the LED at the 1:00 position fade on as the 12:00 LED fades off. Then the LED at 2:00 fades on, etc. My hope is that when the light is diffused, it will give the illusion of a single light source rotating underneath the diffuser.

    In a perfect world, I'd be able to dim the entire array, and change the speed of the "rotation," but I don't even know how I'd begin to do any of this.

    Any suggestions? PWM? Some sort of timing circuit?

    Thanks very much!
  2. mik3

    Senior Member

    Feb 4, 2008

    You can use a microcontroller to turn on and off the leds in a sequential manner. If you switch on/off each led with a frequency greater than 30 Hz then u will see that the leds are always on (illusion).
  3. SgtWookie


    Jul 17, 2007
    Well, cascading an odd number of CMOS inverters with an RC network in between would get you something similar to that effect. (4049's are shown in the attached schematic, but they really should be 40106 Schmitt-trigger CMOS inverting buffers.)

    However, directly loading the signal by connecting the LEDs to the inputs of the buffers wouldn't work. You'd need to use a voltage follower or other high-impedance device to prevent loading the circuit.
  4. SgtWookie


    Jul 17, 2007
    Actually, probably the easiest way to do that would be to use one or more LM3914's set to dot mode.

    Feed the Vin pin a ramping voltage, and you've got it.

    Well, the LM3914 wouldn't fade them in and out; it would simply step from LED to LED.

    Same thing with a CMOS 4017 Johnson counter.

    How many LEDs are you wanting to control?

    As Mik3 mentioned, a microcontroller could easily control quite a few LEDs - but would require a start-up investment of time and money to buy a programming kit, and learn how to program one.
    Last edited: Jul 16, 2008
  5. daddywags

    Thread Starter New Member

    Jul 16, 2008
    I'd say that I'm looking to control about 6-12 LEDs or so..certainly no more than 20.

    I've been looking at the LM3914 page on National Semiconductor's Website. I'm not certain exactly what it means, but this quote in particular looks very promising:

    "When in the dot mode, there is a small amount of overlap or "fade" (about 1 mV) between segments. This assures that at no time will all LEDs be "OFF", and thus any ambiguous display is avoided. Various novel displays are possible."

    What do you think? I'm not sure what 1 mV of fade would look like, but it sounds like could be exactly what I need. Infinitely preferable to the time/infrastructure investment of a PIC or other microcontroller solution (though I'm not opposed to it, if it comes to that.)

    Thank you very much for your responses!
  6. daddywags

    Thread Starter New Member

    Jul 16, 2008
    Hey there!
    I've been looking more at the LM3914, and I've got some questions:

    1. Does the dot constantly move without additional modifications? This particular project is for a shimmering light effect, so I'd like to be able to keep things moving easily.

    2. If the dot continuously moves, is it possible to control the speed at which it moves? I'm looking for a relatively slow, smooth movement from one LED to another.

    3. When you say, "Feed the Vin pin a ramping voltage, and you've got it," what do you mean? I'm a bit new to electronics. How would I go about accomplishing this?

    4. How difficult is something like this to program and implement? I have access to a soldering iron and a breadboard, but that's pretty much the extent of my electronic infrastructure.

    5. Do you have any preferred source for LM3914s that doesn't have huge minimum order requirements?
  7. Audioguru


    Dec 20, 2007
    The LM3914 is a voltmeter. If you set the 10th LED to light with an input of 1.0V then the 1st LED lights with an input of 0.1V, the 2nd LED lights with an input of 0.2V, the 3rd LED lights with an input of 0.3V etc.

    You can feed in an input signal that blinks the LEDs faster than your vision so they look like a dim blur.
    If you feed in a ramping voltage then the LEDs light one-after-the-other.
  8. SgtWookie


    Jul 17, 2007
    No, the dot moves in response to an input voltage. That's why I said it needs a ramping voltage to the input. There is a slight overlap in the transition between dots.
    That could be controlled by the RC time of the ramp generator.

    You can make a simple ramp generator from a CMOS logic IC that has a Schmitt-trigger input an an inverting output, like a 4093 quad NAND gate or 40106 hex inverting buffer, a couple of diodes, a resistor, a capacitor and a pot. The ramp won't be perfect (it'll be more of a slope). A better (linear) ramp generator can be made using an LM555 timer IC. See the attached schematics. In the 555 ramp generator, R1 controls the speed. Both ramp up and ramp down are generated at the same time. You could select which ramp you want using a SPDT switch.
    In RampGenerator2, R2 controls the speed, and S1 controls the ramp direction. The ramp is not nearly as linear as the 555 ramp generator, and when switching directions pot R2 works backwards from the other mode.

    Well, useable diagrams for the LM3914N are contained in the datasheet. All you'd really need to do would be to set the lower Vref to 1/3 of your supply voltage, and the upper Vref to 2/3 of your supply voltage.

    5. Do you have any preferred source for LM3914s that doesn't have huge minimum order requirements?[/QUOTE] has them for $1.55 each when you buy single units; no minimum order. As long as the part number starts with "LM3914N", that is the part you want.

    If you really want to control ALL of the nuances of your LED ring, you can get much more precise control using a microcontroller, and wind up using just a very few parts. However, there is a relatively large start-up cost and possibly long learning curve, as compared to these few components for a one-off project.

    But if you want to invest some time and some money in learning microcontroller technology, please do! :)

    You can get a PICkit 1 starter kit for about $35 from MicroChip. These uC's are programmed in a mix of assembler language and C.

    Parallax Inc. makes Basic Stamps. They're considerably more expensive, but the BASIC-like language is easy to learn. You can pick up a Board of Education with a BS2 stamp for about $129 from their website (I recommend the USB interface, as soon RS232 won't be available on PC's)

    There are Arduinos, AVRs, and many other microcontrollers that have avid followers. It's a tough choice to make when first starting.