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
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.
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:-
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).
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.
- 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.