Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Pulsed sequenced LEDs with fade

BobInnabagg

New Member
Here's the scenario. Total 6 LEDs. When power is applied the first LED turns on, then turns on second LED while first LED remains on. Then the third LED while the first two remain on, and so on up through the 5th LED. Then those 5 LEDs turn off and the 6th LED turns on and fades off. I thought about using the 555 timer with a 4017 setup and just tying each LED plus the previous one to the next output of the 4017. I.E., the first 1 would turn and go out then the next output stage would turn on 2 LEDs, then 3 and so on through the 5th one. This is basically a charger light setup whereas, as it ramps up the next light will illuminate, but there is no charging. It's all for show. The 6th LED is a burst, then fades, then it shuts off, no repeat until switch is pressed again and the cycle repeats. Not sure if this will work, and how do I shut it off? Or, Is there a better way, using discrete components?
 

Attachments

  • LED Squencer.jpg
    LED Squencer.jpg
    76.7 KB · Views: 124
The concept is OK, but you would need some form or transistor switching each LED.

The power drawn from each pin would be different, and the chain of diodes means different voltages at each LED. Plus the 4017 would probably not be able to run all the LEDs from one pin, unless they were ultra-low current.

It could drive transistor bases via series and base-emitter resistors, or logic level MOSFET gates with source-drain pulldown resistors to turn them off again.

Then the LEDs fed from positive, with appropriate series resistors & connecting to the transistor collector or drain.

You could also do it with a shift register & oscillators - I did a demo of a similar concept a while ago
That has a lot more LEDs in the demo, but you can have as few or as many as you like:

 
mBlock makes it easy to do simple state machine type applications like this.
You drag and drop functional blocks into design area of mBlock, and config,
like delays, pin numbers, etc..

So here is rough design :

1685358809778.png


When it powers up all LEDs turned off. Above delay or speed of sequence set in secs, and
for fade routine delay between each brightness reduction increment.

Then 4 simple subroutines created to handle the total desired patterns/functionality.
One to chk button pressed then released which triggers sequence, ButtChk. Next
SeqLEDs creates the LEDs one thru 5 being turned on in a sequence. Next BurstLED6
to create flashing burst of LED 6 turn on. Last the fade routine for LED 6.

Rest of routines look like :

1685359188865.png


1685359235955.png


What mBlock does is turn these user block configurations into Arduino code, and then
programs the dev board. Use a Arduino Nano board to develop / alter this code, and
then to program Arduino chip of choice, board is ~ $2.50. Or just use the Nano board as so-
lution. Note Nano board has excellent stable timing for delays and this sequencing,
has onchip regulator, and connects to PC thru simple USB interface to develop code
with mBlock and program it.

lots of fun, easy to program basic stuff, kids in 6'th grade on using mBlock to program robots.

mBlock is free, just download it. https://www.mblock.cc/en/

Once you learn this, many videos on net, YouTube, there are many other block programming
languages, very similar. Here is a couple of examples :


Talking volt/freq/pw meter :


Attached is this first pass at your design you can look at.

Last you can draw ~ 40 mA from each pin for LEDs but use a series with each LED to limit
current. Note total current cannot exceed 200 mA though total part current. I recommend
10 mA to design to per LED.



Regards, Dana.
 

Attachments

  • Sequence LEDs for Charger.zip
    56.6 KB · Views: 103
Last edited:
There are many ways to skin a cat.
I also used a microcontroller but instead of shift registers I used a MCP23016 I2C bus extender, to light up some IV-25 vacuum fluorescent displays.
Of course, for the latter there is a special high voltage driver, but otherwise you can drive high efficiency LEDs directly.

As a fact you can see in the attached photo I am driving a combination of LEDs and VFDs.
Since the LEDs light up when sinking current but the VFDs light up when sourcing current, their pattern are complementary.

1685373909175.png
 
But to your question, you employ the CD4017’s Q7 output to reset the 555’s reset pin.

Since the reset on the 555 is active low, you use a PNP transistor to invert the Q7 signal. A push button in parallel with the transistor will re-start the clock.
 
There are many ways to skin a cat.
I also used a microcontroller but instead of shift registers I used a MCP23016 I2C bus extender, to light up some IV-25 vacuum fluorescent displays.
Of course, for the latter there is a special high voltage driver, but otherwise you can drive high efficiency LEDs directly.

As a fact you can see in the attached photo I am driving a combination of LEDs and VFDs.
Since the LEDs light up when sinking current but the VFDs light up when sourcing current, their pattern are complementary.

View attachment 141641
I love the fluorescent display :D - but I presume you've only done it for fun, rather than a practical use?. Particularly as it's easily duplicated with a simple row of LED's :D

A VFD full of characters and words (as used on VCR's, DVD's etc.) is rather more difficult to duplicate, but VFD's obviously suffer from short life spans as well.
 
Indeed, the soft blue glow of VFDs is very appealing. The photo doesn’t do justice.

I did this project out of curiosity, and because they were really cheap, like $10US for 10 tubes. So I said, why not? And ordered some from an Ukranian vendor.
The idea was to understand them first, then use the I2C addressing capabilities to build large strings of devices.

This, of course, was shortly before the invasion. The seller has now disappeared from Ebay, I ignore what has happened to him.
 
Last edited:
Thank you all for your great responses.
I did see where others had suggesting using the transistors. I may still do that, but I decided to try the Arduino Nano.
After looking at mBlock I can't believe how easy it makes programming the AN. Thank you danadak! I just have to wait till they arrive (tomorrow) and try the code. I've programmed Arduino's before and really didn't want to go through all that, plus didn't have any, but this makes it easy. Just needed to order the Nano's. They're cheap enough.
The VFD was inspirational. Flash back more years than I care to remember or want to.
Again, thank you all. First time I've reached out to a forum. Awesome.
 
Keep in mind the Arduino board can also be used as a ISP (In Circuit Programmer).

I use that often to program :

ATtiny85-C4X-Regular.jpg


And other Atmel parts.

You have to load the board up with ISP firmware which is in the Arduino software
example libraries. Several videos on web on doing this.

As an aside there are several block languages on web, once you do one the rest a piece of cake,
and they each have strengths and weaknesses in their block libraries.

For example,. doing web servers, and the like, Tuniot. For ESP8266 and ESP32.


Regards, Dana.
 
Last edited:
Did you want to specify the step rate and fade period and I & V in each LED? and Vdd, I suggest Vdd= 3.3 to 3.7 (LiPo) using 74ALCxx 25~33 ohm drivers
 
Last edited:
You can do this 2 IC's with a Lithium cell using 74ALCxx SIPO to drive the LEDs with internal RdsOn of 33 ohms for 15 mA or so. Then make a Relaxation clock using a NAND Schmitt inverter and also make an SR FF instead the D FF using only S&R.

The 6 stages create the State Machine and the last state is controlled b y the RC time constant and protects the input with a Schottky diode.

A uC is cleaner but the best tool is the one you know how to use. I designed this one in < 30 minutes.

1685402592713.png
 
Last edited:
Here's the scenario. Total 6 LEDs. When power is applied the first LED turns on, then turns on second LED while first LED remains on. Then the third LED while the first two remain on, and so on up through the 5th LED. Then those 5 LEDs turn off and the 6th LED turns on and fades off. I thought about using the 555 timer with a 4017 setup and just tying each LED plus the previous one to the next output of the 4017. I.E., the first 1 would turn and go out then the next output stage would turn on 2 LEDs, then 3 and so on through the 5th one. This is basically a charger light setup whereas, as it ramps up the next light will illuminate, but there is no charging. It's all for show. The 6th LED is a burst, then fades, then it shuts off, no repeat until switch is pressed again and the cycle repeats. Not sure if this will work, and how do I shut it off? Or, Is there a better way, using discrete components?

Maybe use an LM3917 in bar mode and a voltage ramp for input. The sixth led would have some additional circuitry to provide a burst effect and reset the circuit.
 
Maybe use an LM3917 in bar mode and a voltage ramp for input. The sixth led would have some additional circuitry to provide a burst effect and reset the circuit.
Perhaps you mean the obsolete LM3916.
 
You can do this 2 IC's with a Lithium cell using 74ALCxx SIPO to drive the LEDs with internal RdsOn of 33 ohms for 15 mA or so. Then make a Relaxation clock using a NAND Schmitt inverter and also make an SR FF instead the D FF using only S&R.

The 6 stages create the State Machine and the last state is controlled b y the RC time constant and protects the input with a Schottky diode.

A uC is cleaner but the best tool is the one you know how to use. I designed this one in < 30 minutes.

View attachment 141645

Three IC CMOS design straight forward enough. Some observations :

1) Oscillator using CMOS gates wide variation with temp, tolerance, V, but if one off you could
always add a pot to get it to value you want. Processor, Arduino, good to +/- 10%, with onboard
trimmed oscillator +/- 1%. Nano board, if used, xtal controlled accuracy, << 1%.

2) 5 LEDs at various differential brightness could be a feature or a distraction. Especially in light
of LED 6 decay from full brightness to off. Eg. LED 5 lowest brightness of 5 LEDs, then you hit
design with full on LED 6 and decay from there. Seems odd.

3) LED 6 decay highly non linear, eye would see that for sure. But then eye is non linear so may
offset problem........

4) Processor could be put to sleep, awake on key down. Note trivial to debounce the switch.

5) Processor starts up in known state, shift register......?


Regards, Dana.
 
Last edited:
Again the implementation is not so important as the specification for timing, brightness, shade of white or sequence of colours like Yellow Orange Red **White** and sequence effects of the client to match its expectations. With this simulation, speed slider and RC values which can be changed with the mouse slider then you can list all these requirements in a "design spec".

This is where you convert vague customer descriptions into a more precise measurable spec. that can be compared with the the final product.

A PRIORI (before) choosing any implementation method.

Design Spec:
Step time ( ms or Hz)= ? or decreasing steps (accelerating rate?)
Brightness= [cd]
smoothness=?
Burst time = ?
Burst brightness=? candella ( over bright ) sparkle effects, fading time etc.
Colour= warm, natural, or cool or xxxx 'K
Vdd range = ?
Budget: tbd $$
Time : ____?
Appearance:_TBD ?

- if you change parameters in the simulation and want to show it, File > Export as link> shortcut> copy ... paste here.
 
Last edited:
The concept is OK, but you would need some form or transistor switching each LED.

The power drawn from each pin would be different, and the chain of diodes means different voltages at each LED. Plus the 4017 would probably not be able to run all the LEDs from one pin, unless they were ultra-low current.

It could drive transistor bases via series and base-emitter resistors, or logic level MOSFET gates with source-drain pulldown resistors to turn them off again.

Then the LEDs fed from positive, with appropriate series resistors & connecting to the transistor collector or drain.

You could also do it with a shift register & oscillators - I did a demo of a similar concept a while ago
That has a lot more LEDs in the demo, but you can have as few or as many as you like:
commercial flooring toronto
I am in need of some assistance. My current project is to create a small sign with LEDs to attract attention. After reviewing all the different options, I found a method presented on YouTube which would best suit my purposes. I have gone through the video to determine the component the person used for the project.

TITLE: How to Make a Pulsing/Fading LED Circuit
URL: HTTP World Wide Web YouTube dot com /watch?v=qLAi7hkDuYw

The components he descriibed in the project in the video are below.

555 timer
1000 microFarad capacitor
2N222A Transistor
150 ohm resistor
1200 ohm resistor
LEDs
9v Transistor battery

My question to your experts is this. Can you tell me what wattage are the resistors?

Also, what is the best way to add a second LED, so they will fade/pulse in sync with each other?

Would love to add a potentiometer to adjust the fading rate, any suggestions?

I would love to hear from anyone who had replicated this project.
 

Latest threads

New Articles From Microcontroller Tips

Back
Top