![]() ![]() However I will just say (and may be wrong) that the diode in your debounce looks wrong to me (backwards). I am not going to comment on your debounce circuit, since it is working for you, based on your comments. 01 ♟ capacitor - because you are driving HC CMOS inputs which have extremely high input impedances. If you need yet-more-delay, you can follow your 100k circuit with a 1M resistor and. (It will have some, but more manageable). Now the "debounce" circuit has a (kind-of) output "impedance" in the 5k-10k range, which means your 100k circuit that follows it will have much less effect on the debounce circuit. ![]() Simulate this circuit – Schematic created using CircuitLabĬhange your debounce circuit by a factor of 10 - i.e., decrease the resistors by a factor of 10, and increase the capacitor to 1 ♟. SW2 in the first image is just for debugging. Note that this is only addressing the single button (not both A and B). Here is the schematic of the denounce and delay. How do I connect input from a debounced switch to a node that already has a capacitor, without messing up all my calculations.,or to rephrase it, How would you all implement a simple delay of a signal without using all fancy micro controller etc.? The moment this new capacitor and resistor gets added to my 'debounce circuit',my calculations for the parts value doesn't hold true anymore because the new 'delay' capacitor and resistor is now in parallel or serial (I don't even know anymore) with my good and previously well behaving 'debounce' capacitor.Īll this predicament makes me wonder if even using an RC delay timer is even the right thing to do. So once I get the debounced output, I charge a cap through a resistor, and that charged output is what I use to drive SRCLK. And to introduce this 'delay' I turned to the only delay mechanism I know - RC network. In other words, first pull SER high, then pull SRCLK high. And then after a brief delay (25ns - a few ms?) route it to SRCLK line to clock it. First, route it to SER line of the register. I have to do two things with this signal. So my button debouncing works as expected.Įxcept, when I try to use that 'signal'. My calculations and the results of simulating it using matched. But does the job ), so am keeping it steady for about 20ms. The switch bounces for 10ms ( got myself a cheap O-scope, china one. But using the methods specified there, I was able to calculate the exact values of my resistors and cap, to keep the voltage just right while my switch clank and knock with itself. I didn't had any parts that would help me with hysterisis so I had to just ignore it. I learned about debouncing from this wonderful article : Debouncing. Let's say, to insert a 1 to the register when button A is pressed and released, I first have to pull the 'SER' (data) line of the register high, then after a brief period of time (setup time, 25ns for the register's datasheet) pull the SRCLK (Shift register clock) high. Simple enough.īut, my problem comes at the part which does the 'inserting' of data into the register. And then with the flick of another toggle, the shift register will get clocked (using a simple RC astable multi vibrator) (looping QH' to QA). With this you can 'program your LED pattern'. ![]() When button A is pressed, it 'inserts' a 1 into the register, and when B is pressed, it pushes a 0 into the register. My idea for it is quite simple, I have a shift register (SN74HC595), and 8 LEDs taking input from it. And yet I have a new found passion for fiddling with this wonderful craft.Īt the moment, I am trying to learn and have fun while make a 'scrolling LED' toy for my daughter. In gaming lingo, a 'noob' if you will, at it. I am a console game developer by profession, and has no formal education on electronics / electrical engineering. ![]()
0 Comments
Leave a Reply. |