"CD-player type" pushbutton control

Status
Not open for further replies.

Jimbo

New Member
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:

Code:
..........__________________________________________
button:___|                                         |____________
..........._ 	        _     _     _	  _	_
output: __| |__________| |___| |___| |___| |___| |________________

So basically I am stuck. How would you lot go about designing a "CD-player button"?[/code]
 
Here is a sematic, the output same as You drawed.
 

Attachments

  • bounce.GIF
    3.5 KB · Views: 488
Here's a way you can use a 555, if you don't mind that the first pulse stays high for a long time, like this:
 

Attachments

  • long_1st_pulse.gif
    5.7 KB · Views: 469
  • output.gif
    2.1 KB · Views: 472
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…