# "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]

#### Sebi

##### Active Member
Here is a sematic, the output same as You drawed.

#### Attachments

• bounce.GIF
3.5 KB · Views: 376

#### Roff

##### Well-Known Member
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: 354
• output.gif
2.1 KB · Views: 360

#### Jimbo

##### New Member
Cool, thx guys!

(been away from the net for a week)

#### The Real MicroMan

##### New Member
learn to program a microcontroller. you can do what you described with a switch a resistor and one micro.

#### nettron1000

##### New Member
Wouldnt a dedicated microcontroller be a bit of overkill for this rather simple application ?

Status
Not open for further replies.

Replies
9
Views
3K
Replies
2
Views
1K
Replies
4
Views
2K
Replies
1
Views
3K
Replies
7
Views
3K