Could you help with this countdown timer circuit?

Discussion in 'The Projects Forum' started by zoist, Jul 23, 2015.

  1. zoist

    Thread Starter New Member

    Dec 3, 2011
    What I would like is a circuit design which needs to be a countdown timer circuit.
    Basically, here's how it needs to work:

    A foot pedal will close a momentary contact and activate a relay (open relay) and on a 16x3 display and possibly powered by arduino Uno, countdown to a preset number. The countdown timer is preset and stays at the given set time whilst the power connected and goes back to 1.0 after power turned off/then on. There will be up and down buttons to adjust the timer which the lcd display will show a preset timer on the display from 1.0 to 9.9. For example if the circuit is set at 1.0, the countdown will run approx 3 seconds. If it's set to 1.1, the timer will be set to say 3.2 seconds and so forth. It's a simple design in theory, just the display part and timer is the hardest for me. I'm not great with modern Arduino or things like that but I'm willing to try.

    So, the whole design goes like this. Set the timer for desired time, press the momentary switch and the timer activates opening a relay and at the duration, the timer stops and closes the relay.

    Hope this makes sense. I love the idea of learning Arduino or if it's possible with Arduino. The device I need is two circuits in one or two timer countdowns in one. I'm not sure if I'd need two arduino boards or can use one. I'd like the device to run as a single device or run as two timers selected by a switch or something. Thanks a lot.
  2. pwdixon


    Oct 11, 2012
    This looks simple enough for a single Arduino. The easiest solution if you don't have much in the way of electronics experience would be to buy a timer board, a relay board and a display board and use standard Arduino libraries.
  3. djsfantasi

    AAC Fanatic!

    Apr 11, 2010
    What do you have in mind for a timer board? The Arduino supports the "millis()" function, which can be used in code for timing functions.
    Code (C):
    2. void setup() {
    3.   // put your setup code here, to run once:
    4. long endTime;
    5. long setTime=millis()+3200; // timer time in milliseconds
    7. while (true) {
    8.   if (millis() >= endTime){
    9.     /// do something at the end of the timer
    10.     }
    11.   }
    12. }
    13. void loop() {
    14.   // put your main code here, to run repeatedly:
    16. }
  4. pwdixon


    Oct 11, 2012
    Agreed, could just use timer library then you wouldn't need an RTC module, depends on the precision required.