Turning a light on and off with momentary switch

Discussion in 'Electronic Basics' started by Chris W, Feb 16, 2005.

1. Chris WGuest

I want a circuit that will turn a light on with the press of a momentary
switch and then turn it back off when the momentary switch is hit
again. I had heard that a flip flop might be the way to go. After some
reading, I have found that a flip flop is a much more complex device
than I was lead to believe. I think a flip flop would some how do the
job, but it is going to take some more reading before I figure out how.
If you have been reading some of my other posts, you know that I want to
turn on and off more than one light, so I need several of these
circuits, preferably using the minimum number of components.

Another option I would like to explore is to turn the light on and off
using 2 inputs. Say we have in put A and B. If input B is high, when
input A goes high, turn the light on, or leave it on. If input B is
low, when input A goes hight, turn the light off, or leave it off.

--
Chris W

Get the gifts you want &
http://thewishzone.com

"They that can give up essential liberty
to obtain a little temporary safety
deserve neither liberty nor safety."
-- Benjamin Franklin, 1759 Historical Review of Pennsylvania

2. Guest

Yes, a flip-flop would do it and someone is sure to suggest a PIC, both
requiring a fair amount of extra components to actually work. Have you
looked for alternate action switches or relays? It would run your
lights and not require a degree to get it to work.
Glenn Gundlach

3. Lord GarthGuest

Don't let a little flip-flop stop you. You should research the T flip-flop
and a debounce circuit for your clock input. That's the button that makes
it do it thing Chris, not a time of day clock!

4. Peter MichelsonGuest

Yes, a flip-flop would do it and someone is sure to suggest a PIC, both
Is that because flip-flops require capacitors to store state information? I
would be interested to know the minimum complement of components necessary
to support a single flip-flop. Perhaps there is a good link to this kind of
information (?)

I have a similar request as the original poster. I would like to use a
momentary switch to cycle among three LEDs. Is the circuit design for this
using flip-flops complex? Is there an easier way to generate the same
functionality? It seems that there must be some ICs out there that provide
this kind of functionality out of the box. Does anyone know of any?

Thanks a lot!
Peter

5. Si BallengerGuest

You can use an led chaser kit to do the sequental leds. You can
use just the first two outputs on the chip for flip-flop. I've
got a page below showing some tinkering with the 4017 decade
counter chip that might be useful.

6. Peter MichelsonGuest

Thanks for the ideas! Also, interesting link.
Regards,
Peter

8. Peter MichelsonGuest

Is there a more specific term for "driver"? I am not familiar with a
component by that name.

Good point. Simple for me means that few (e.g., less than 5) components are
involved and testing can be done with a multimeter.
As I said, I would like to cycle among three LEDs. To elaborate: one LED is
turned on at any given time; each time I depress the momentary switch, I
would like the LED that is on to turn off, and the next LED in sequence to
turn on; the first LED is considered to follow the third in a cyclical
manner. I imagine that this circuit is functionally similar to one that
would drive marquis lights, except that instead of using a timer chip, it is
user-driven.

I hope the more complete description above is easier to understand than the
one in my first posting.

Is there one in particular that is best-suited to the functionality
described above?

9. petrus bitbyterGuest

Chris,

What kind of lights do you want to switch? It makes a lot of difference
whether you want to switch a LED (~40mW) or a 100W incandescent bulb.

The most simple solution I can imagine is a tablelamp pushbutton switch.
Conrad sells them for ?2,20 but I guess you can do cheaper locally. It does
exactly what you describe. Push on, push off, push on, push off and so on.

A more expensive but still simple solution goes with a relay of the same
voltage as the lamp, a make- and a break pushbutton. Conrad sells relay from
below ?2,-- upward and pushbuttons from below ?1,00 upward depending on
voltages and currents required. Digikey will sell similar components but I
have no catalog at hand.

LEDs can be controlled easily using electronics and that's where the
flip-flop appears. You need a so called T-flipflop but they are not very
common. Use an D-type flipflop instead and connect the inverted Q-output
(/Q) to the D-input. Every pulse on the clock input will make the flipflop
change state. So a pushbutton on that input will theoretically do the job.
But a flipflop is a high speed switching device and will see a lot of pulses
every time you push and you can not predict the last one. So you need to
debounce your pushbutton carefully which requires some extra electronics.

Of course you can use a microcontoller as wel. Microchip sells 6 pins ones
these days and the only extra components you need is the pushbutton, the LED
and maybe two resistors. The problem of course is skills and equipment to
program them.

petrus bitbyter

10. John FieldsGuest

---
The driver would be the device/circuit sending the information to the
flip-flop which would cause it to flip or flop.
---
---
"Marquee" lights?^)
---
---
Yes, it is.

I'll reply, tomorrow or the day after, with a schematic which will
You're welcome.

11. JohnGuest

A flip-flop basically stores a 1 or a 0, ON or OFF, respectively. It can't
switch between the two by itself. It needs additional circuitry to drive it,
or basically tell it when to switch the flip-flop from 0 to 1, and 1 to 0.
A component might be an IC, or a PIC which might be pretty advanced for an
electronics hobbyst.
A PIC would suit perfectly for this type of application but it requires some
funds for a PIC programmer (hardware) and coding the PIC (software). You'd
have to know how to program to use a PIC.

12. Peter MichelsonGuest

Indeed =) One wonders what, exactly, a "marquis light" would be.
That's very kind.

13. Peter MichelsonGuest

what are the characteristics of the signal required to cause the bit to
change?
Does PIC stand for Programmable IC? Is this similar to an EPROM or PROM?
How much does PIC programmer hardware cost?

What skills are necessary for programming to use a PIC? For example, if one
is versed in machine language, is that sufficient?

Thanks for the information. It sounds intriguing.
Regards,
Peter

14. Chris WGuest

For the first application I just want to switch 1 or maybe 2 LED's
hooked in parallel. They could be of different colors and therefore
different voltages so I am guessing even for just one led on each line I
probably need some kind of a driver so I can match the voltage and
current for each load. Future applications will need to switch around
10W lights, probably in the form of groups of LEDs, on and off.

After some more reading on flip flops I figured this out on my own. If
What I would really like to find is an IC with as many as 16 D flip
flops that are already wired up like you described. I don't suppose
finding that is likely?
I'm thinking about getting one of the RABBIT modules, that way I don't
think I need a separate programmer do I?

--
Chris W

Get the gifts you want &
http://thewishzone.com

"They that can give up essential liberty
to obtain a little temporary safety
deserve neither liberty nor safety."
-- Benjamin Franklin, 1759 Historical Review of Pennsylvania

15. JohnGuest

A flip-flop STORES a signal. So basically it stores whatever signal you feed
it. For your project, you don't need a flip-flop if you use a PIC.
Yes. EPROM. You can get one for around \$150US
(http://xtronics.com/memory/EPROM.htm)
Some are assembler, some are C/C+, some you can use BASIC.
Microcontrollers are the easiest ways to create your own electronics devices
given you know how to program.

16. Terry PinnellGuest

Here are three practical circuits you can experiment with:
http://www.terrypin.dial.pipex.com/Images/Toggles-Momentary.gif

17. John FieldsGuest

---

+-------------+
| 4017 |
| +-------+ |
VCC>--[100K]--O--> | +--|MR Q3|--+
| | |
O-----+--------|CP0 Q2|--[R3]--[LED3>]--+
| | | | |
| | | Q1|--[R2]--[LED2>]--+
[0.1] [1M] | | |
| | +-O|CP1 Q0|--[R1]--[LED1>]--+
| | | +-------+ |
GND>---------------+-----+-----+----------------------------+

Vcc - 2V
R1 = R2 = R3 = -----------
0.002A

All LEDs = HLMP4700

18. petrus bitbyterGuest

One or two LEDs in series can be driven by some logic devices. For more LEDs
or lamps you will need a transistor driver or a relay.
Missed your post of 2-14-2005. Can't even find it in the Google groups.

AFAIK such a device does not exist and its very unlikely you'll ever find
one. You can design one for yourself using PLDs but that requires quite some
skills and programming equipment. Especially if you want to incorporate
debouncing. Even then you wil need power drivers to control loads over some
hundreds of mW.
FAIK RABBIT devices also requires programming which can be done using C. You
will also need a pretty expensive development system and the modules
themselves does look like to be cheap either.

Did you realise a module like you want, needs at least 34 pins? I think a 40
pins micro comes most close to that. A PIC16F877 is one of the cheaper
<\$10,-- examples. Software is free from Microchip and programming tools can
be bought or home made. You can find a lot of information on
http://www.voti.nl/swp/n_index.html
but it's for sure not the only one a the on the net.

petrus bitbyter

19. Bill BowdenGuest

There is a "10 stage LED sequencer" at the below address.
You will need to change the 555 oscillator into a
555 "one shot" circuit so you can use a pushbutton.
The 4017 can be used for just 3 LEDs by connecting the
reset line (pin 15) to the 4th output, (pin 7).

http://ourworld.compuserve.com/homepages/Bill_Bowden/page5.htm#4017-2.gif

-Bill

20. Bill BowdenGuest

There is a "10 stage LED sequencer" at the below address.
You will need to change the 555 oscillator into a
555 "one shot" circuit so you can use a pushbutton.
The 4017 can be used for just 3 LEDs by connecting the
reset line (pin 15) to the 4th output, (pin 7).

http://ourworld.compuserve.com/homepages/Bill_Bowden/page5.htm#4017-2.gif

-Bill