Hello all,
for one of my designs, I wanted to create the type of button that is found on just about every piece of electronic equipment today, for example the CD-track selection button on CD players (hence the message title, as I don't know the "offical" name of such a switch).
It works as follows: push and immediately release the button, you get one output pulse (and the CD-track number is incremented by one). Push and hold the button for about a second, and you get a pulse train (and the CD-track numbers increments automatically).
What I've made up to now is a button which simultaniously drives a monostable and an astable vibrator (actually using 2 555ers as I had heaps lying around). The 'start' of the astable vibrator is delayed by a relatively huge RC-network to get my one-second delay (with an LM324 as comparator to trigger the start). The outputs of both vibrators are then simply joined trough diodes.
I felt this solution was wasting components (even if I replace the 555ers with transistor-based vibrators, I still need two vibrators), so I wanted something better.
Second idea (which was never created) was to simply drive one astable vibrator with the switch, but that gives the 'time-base' problem: the frequency of this vibrator will never be faster than the 'hold'-time, because the RC values never change. In effect: the delay after the first pulse will be exactly the same as the delay after all other pulses, but that is not what I want. The pulse train needs to speed up after hold, or in (an attempt at) wave forms:
So basically I am stuck. How would you lot go about designing a "CD-player button"?[/code]
for one of my designs, I wanted to create the type of button that is found on just about every piece of electronic equipment today, for example the CD-track selection button on CD players (hence the message title, as I don't know the "offical" name of such a switch).
It works as follows: push and immediately release the button, you get one output pulse (and the CD-track number is incremented by one). Push and hold the button for about a second, and you get a pulse train (and the CD-track numbers increments automatically).
What I've made up to now is a button which simultaniously drives a monostable and an astable vibrator (actually using 2 555ers as I had heaps lying around). The 'start' of the astable vibrator is delayed by a relatively huge RC-network to get my one-second delay (with an LM324 as comparator to trigger the start). The outputs of both vibrators are then simply joined trough diodes.
I felt this solution was wasting components (even if I replace the 555ers with transistor-based vibrators, I still need two vibrators), so I wanted something better.
Second idea (which was never created) was to simply drive one astable vibrator with the switch, but that gives the 'time-base' problem: the frequency of this vibrator will never be faster than the 'hold'-time, because the RC values never change. In effect: the delay after the first pulse will be exactly the same as the delay after all other pulses, but that is not what I want. The pulse train needs to speed up after hold, or in (an attempt at) wave forms:
Code:
..........__________________________________________
button:___| |____________
..........._ _ _ _ _ _
output: __| |__________| |___| |___| |___| |___| |________________
So basically I am stuck. How would you lot go about designing a "CD-player button"?[/code]