Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

2 timers on/off command

  1. Dec 6, 2008 #1

    I want to build a circuit to control a light bulb in such a way that Ill be able to choose the time that it'll be on [choosing from 5/10/15/20 min] and off [again, choosing from 5/10/15/20 min].

    I would also like to have a counter showing how much time I have till it'll change from on to off or from off to on.

    for example, I'll have 4 7-segments display and 2 buttons.
    the first button will change the period of time the light will be on and every click will change the time and present it with the 7-segments.
    the second button will change the period of time the light will be off and every click will change the time and present it with the other 7-segments.

    Ill push the first button till ill see "5" and the other one till Ill see "10", then itll start work for 5 minutes, while showing me how much time left from that 5 min, and afterward will stop working for 10 min, showing the time left before operating again and so on.

    Any help will be greatly appreciated.
  2. jcsd
  3. Dec 6, 2008 #2


    User Avatar
    Science Advisor

    You can do this pretty easily with just a microcontroller (one with enough I/O pins for your 7 segment displays). Or you could go with a few 7-segment display decoder chips if you want a smaller microcontroller / pins for doing something else. You'll need to do a fair bit of programming however.
  4. Dec 18, 2008 #3
    Which microcontroller has enough pins for all of my demands?
    Can you give me a specific model?
  5. Dec 18, 2008 #4


    User Avatar
    Science Advisor

    Well, assuming you're not doing anything to reduce pin count, you should be doing the analysis on how many pins you'll need for your display:

    -4 7-segments = 4*7
    -3 push buttons = 3
    -Other LEDs = 1-5

    So, something like 30+ I/O lines.

    Then you go to your favourite microcontroller manufacturer and START with your I/O pin count, choosing the one which has the peripherals and on-board memory / FLASH / EEPROM you need.

    If you've never worked with microcontrollers before, most microcontroller manufacturers make a 40-pin part, e.g. ATMEL ATmega32, ATmega644, Microchip 16F877A or 18F425) Unfortunately, 40-pin is the max that most manufacturers make nowadays that still come in DIP (dual in-line pin) packages. Which one should you go for? In some ways, that's like asking fans which sports team is the best.

    But you'll need some way of programming them. The AVRisp mkII is pretty good, and capable of programming most ATMELs (there's also a GCC-based C compiler for it). Programming PICs are a little more hit and miss, but various homebrew programmers (and semi-pro kit-based ones) exist that can program various PICs. There is a Microchip C compiler for the PIC18 (and PIC32), but they were designed from the get go to be assembler machines (as opposed to the ATMELs which were designed to be high-language machines).

    You can rest easy that various forums exist on the web to help you along with whatever microcontroller you go with, and whatever language you decide to program it in. Unless you go with something really obscure.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook