I want to reset an NE555 timer (by pushing a button) at the point where the output signal is at the end of the high voltage as highlighted in the diagram. How can I accomplish this? Since the time interval in the dotted lines as shown is short, I would intend to push the button for a long time so it has longer time to read:)
-
I would like to know more about you NE555 reset question: (1) Your NE555 timer is actually a NE555 in astable/oscillator mode, (2) The oscillator period is 2s, so frequency is 1/2s = 0.5Hz, (3) Your push button is debounced, so oscillator should reset before the next positive falling edge, (4) You are using a through hole chip on a bread board, not a SMD 555 based module with one or two frequency and duty cycle adjusting potentiometer. (5) You prefer to use a mcu such as Atduino, or Rpi, rather than all discrete ICs. – tlfong01 Aug 28 '22 at 07:00
-
(6) Most mcu's have debounced GPO pins, so saving time to do hardware based debouncing. – tlfong01 Aug 28 '22 at 07:07
-
@tlfong01, hi I would like to do it the hardware style rather than using a microcontroller:) Are there ways for this? – jessica smith Aug 28 '22 at 07:15
-
I'm more generally confused: You want to push a button (so, a human doing something!) at a specific time. Humans are not good at doing things exactly at the right time. How does the human know it's "at the end of the high voltage"? Why do you have the human? So, I'm a bit confused about what the intended operation is. Or am I taking the causality you wrote down in your question maybe too literally? And the end of the high period happens *because* the human pushes the button, not the other way around? – Marcus Müller Aug 28 '22 at 07:15
-
@MarcusMüller, I would intend to push the button for a long time so it has long time to read:) – jessica smith Aug 28 '22 at 07:16
-
sorry, still not clear. So, how does the human "read" that it's their time to press the button? Can you share with us your current circuit design, so that we can understand where you're stuck modifying it? – Marcus Müller Aug 28 '22 at 07:18
-
If the human has a long time to read the output state, why do you say "at a specific point"? That's the opposite of giving the human a large "time window". Or is it meant that the output voltage goes low at a specific point, if the human pressed the button *before that point within a wide time window*? I'm afraid I really don't understand what your question describes, what you want! Drawing the blue lines into that graph really doesn't seem to be enough to make me understand :( – Marcus Müller Aug 28 '22 at 07:20
-
ah, I just read your edit. Can you confirm the following interpretation makes sense to you: – Marcus Müller Aug 28 '22 at 07:21
-
Or is it meant that the output voltage goes low at a specific point, if the human pressed the button before that point within a wide time window? This is correct :) Sorry, for the misunderstanding – jessica smith Aug 28 '22 at 07:22
-
Let's start at t=0 seconds. 1. Voltage goes high. 2. Human sees voltage is high. 3.1. if the button is not pressed at the t=1s point, voltage stays high forever. 3.2. if human presses and holds until t=1s, voltage goes low exactly at 1s. 4. if necessary, voltage goes high again at t=2s, and we go back to 1. – Marcus Müller Aug 28 '22 at 07:25
-
@Marcus Müller, yes sir, that is correct:) – jessica smith Aug 28 '22 at 07:26
-
@jessicasmith are you sure about the "stays high forever" part? – Marcus Müller Aug 28 '22 at 07:27
-
1(and now I feel a bit unreasonably flattered. I'm probably not more "senior"/respectable than you, calling me "Sir" might be a bit over the top :) ) – Marcus Müller Aug 28 '22 at 07:28
-
I would suggest to use a NE556, ie, dual NE555, one 555 can be used to build an astable, the other 555 can be wired as a monostable, which is sort of a debounced timer switch/button. – tlfong01 Aug 28 '22 at 08:33
1 Answers
You say you want this:
Let's start at t=0 seconds.
- Voltage goes high.
- Human sees voltage is high.
- decision:
- if the button is not pressed at the t=1s point, voltage stays high forever.
- if human presses and holds until t=1s, voltage goes low exactly at 1s.
- if necessary, voltage goes high again at t=2s, and we go back to 1.
That's pretty much the description of a clocked latch, which gets reset to "high" every even multiple of 1s, and which gets set to the "button state" every odd multiple of 1s.
So you need to build that! For the clock, which needs to continue running regardless of the key presses, you will need one NE555. For the latch, you can use a flipflop IC, you can build a flipflop out of transistors, or elementary logic gates, or you can buy an IC from the 7400 series (google that!) that is such a latch/flipflop.
The idea is simple: First make a circuit that makes the output high when the button is not pressed:
simulate this circuit – Schematic created using CircuitLab
Use your NE555 to generate a 1 Hz clock, and use one flipflop to divide it to a 0.5 Hz clock.
Have another, Jump-Kill, flipflop. The Jump input, you connect to your 0.5 Hz clock. This ensure resetting to "high" every 2s. This flipflopped gets clocked by the 1 Hz clock.
The kill input, you connect to the input of a NOR gate, fed with the BTN_STATE and the same 0.5 Hz clock. That way, you set the output low if you're in the first half of a 2s period and the button gets pressed.
Or, really. This is a trivial digital control problem. Instead of 1 NE555 with about 4 or 5 external components, to logic gates, you could just use a microcontroller and use 1 (one) decoupling capacitor to do the same. Sometimes, often even, the NE555 approach is the hard, complicated one.

- 88,280
- 5
- 131
- 237