Simple single-blink then steady-on LED circuit.

This isn't strictly arduino related.

I'd like to build a simple circuit that will flash an LED once, then have it stay on steadily.

Ideally, I'd like to be able to change the flash time by swapping components (resistors, caps etc) until I get it where I want it for the final circuit.

Any thoughts?

Promini, 330 ohm resistor, LED:

void setup(){
pinMode (2, OUTPUT); // 2 as output pin
// perform 1 time:
digitalWrite (2, HIGH); // 2 On
delay (500); // hold 1/2 second
digitalWrite (2, LOW); // 2 Off
delay (500); // hold 1/2 second
digitalWrite (2, HIGH); // 2 On
}
void loop(){
// do nothing until a Reset occurs.
}

You could probably do that with an [u]LM556[/u], which is a dual 555 timer.

You can make a "one shot" with the 555 which would pulse the LED once when it's triggered.

Beyond that, I'm not sure... A 2nd 555 (or a 556) would allow a 2nd timer and you might be able to get what you want. Or, it might require some additional basic logic (and gates, or gates, flip-flops, etc.).

CrossRoads:
Promini...

Hi CrossRoads, I would like to do this without using a microcontroller. I think we can agree that it's overkill for this application.

DVDdoug:
You can make a "one shot" with the 555 which would pulse the LED once when it's triggered.

Beyond that, I'm not sure... A 2nd 555 (or a 556) would allow a 2nd timer and you might be able to get what you want. Or, it might require some additional basic logic (and gates, or gates, flip-flops, etc.).

I'm aware of how to make a 555 timer so that an LED will blink once. That's monostable mode.
It's the "then stay on" that I'm having trouble with.

EDIT:

Just thinking aloud here, what about a Cap that starts charging when the circuit is first started. Then once the cap gets over a certain voltage threshold, the 555 timer is activated. The 555 can be used to open the circuit for a set amount of time, before closing it again for the "stay on" portion.

Two RC networks, one charges from Vcc/3 to Vcc slowly, the other from 0V to 2/3Vcc quickly. Then comparator
between the two voltages.

MarkT:
Two RC networks, one charges from Vcc/3 to Vcc slowly, the other from 0V to 2/3Vcc quickly. Then comparator
between the two voltages.

I like this idea. Only issue I can think of is quickly draining the caps afterwords.
If I want two blink-then-on cycles close together, the caps might still have voltage across them.

diodes.

Panici:
I would like to do this without using a microcontroller. I think we can agree that it's overkill for this application.

Really?

Have you considered that an ATtiny (such as used in the Digispark, or indeed an ATmega328; whichever is cheaper at the time) can do this with no other components than the bypass capacitor, the LED itself and the 330 Ohm resistor; you don't need pullups for pushbuttons, and that you simply reprogram it repeatedly instead of changing resistors and capacitors?

If your looking to power the LED with a signal like this then I think a simple 74HC14 hex inverting schmitt trigger would do the job. The first RC sets the initial delay after power-up, the second RC sets the duration of the pulse.

dlloyd:
If your looking to power the LED with a signal like this then I think a simple 74HC14 hex inverting schmitt trigger would do the job. The first RC sets the initial delay after power-up, the second RC sets the duration of the pulse.

Exactly the type of thing I was looking for!

Thanks!