# Resistor that changes resistance with clock input

I am making a 555 a stable connected to a 4510 and 4511 and an led row. I need the led row to get faster and therefore the 555 astable to get faster, the more times a button is pushed. I am thinking a resistor that changes resistance with a clock input and a reset function but I am new to electronics so anything is appreciated! A video of the circuit so far is here: https:https://goo.gl/5luzl1, and data sheets for the 4510 (I can only post two links so no 4511 pinout) is here: https://goo.gl/1UMyLg. Any ideas? Thanks

• No schematic means no answer. I'm too lazy to look up what 4510 and 4511 are, provide links to their datasheets. I have plenty of ideas but no clue about what you're doing. – Bimpelrekkie Oct 13 '16 at 6:56
• @FakeMoustache 4510 and 4511 are standard 4000-series CMOS ICs. See: ti.com/lit/ds/symlink/cd4510b.pdf ti.com/lit/ds/symlink/cd4511b.pdf – user39382 Oct 13 '16 at 7:29
• @FakeMoustache The 4510 is a BCD up/down counter and the 4511 is a BCD to 7-seg display decoder. None of that makes sense to me regarding "LED row". And I don't know what "get faster" means, either, quantitatively. – jonk Oct 13 '16 at 7:30
• A 555 astable is connected to the clock of a 4510, which is connected to a 4511, 9 of the outputs of which are connected to nine LEDs, and the other output is connected to reset. This means that the first LED comes on for a split second, then goes off at the same time as the next LED comes on. 'Faster' means that I want each LED to be on for less time, making the whole cycle shorter. This can be done by altering the resistance of the 555 astable resistors, but I want it to happen the more times that the button is pressed. – Archie92 Oct 13 '16 at 7:37
• Have a look at DS1804 ... Does not have a reset. – Tut Oct 13 '16 at 13:08

There are 'digipots' which are designed for a simple up-button/down-button type of interface (rather than SPI or I2C).
Unfortunately the ones which pop up in a quick search are packaged in small SMD footprints, but you could probably 'dead-bug' them if you're careful.
Digikey Search

Example:

You can use an analog multiplexer such as a 4051 to select one of 8 resistors using a 3-bit input that you can connect to a counter or whatever strikes your fancy.

If the resistances are relatively low then you might have to use a more expensive analog multiplexer, but the concept is the same.

I am thinking a resistor that changes resistance with a clock input and a reset function

Your thinking is good, but how to convert that idea into a realizable circuit? Break it down into elementary functions. You will need:-

1. A counter with clock and reset inputs. If 10 steps are enough then a CD4510 would do the job, otherwise choose another IC which counts to the number of steps you want (eg. CD4024).

2. A method of switching in different resistor values from the outputs of your counter. One way to do that is with analog switches. The CD4066 has 4 switches which can be controlled from the four Q outputs of a CD4510.

As the count increases you want the 555 capacitor charging time to decrease, so the individual resistances should be switched into the timing circuit in parallel. Since the counter outputs are in binary, the resistors should be binary weighted, with eg. 100k switched in from Q1, 50k from Q2 etc., halving the resistance value for each 2^n counter output.

1. Clock and Reset pulses generated by push-buttons.

The reset circuit is obvious, just connect a push-button to VDD or GND (depending on whether the reset pulse should be high or low) with a pull up/down resistor to the opposite supply rail. To make the counter reset on power up, wire a small capacitor (eg. 100nF) across the push-button.

The clocking circuit is not so easy. mechanical switches bounce. If you use a simple push-button with pull up/down resistor, the counter may advance several counts each time you push the button. So you need some kind of debouncing circuit that guarantees only one clock pulse per button press. An SR latch would be ideal, except that it requires a switch with contacts for both up and down positions. Alternatively you could use an RC circuit to filter out the glitches, and a gate with Schmitt trigger input (eg. CD4093) to square up the output.