adjustable digital timers to launch events ?

I am trying to create a digital display timer that will allow me to set 6 different events based on a count down timer.

For example event one would happen when the counter gets to 45 minutes. the next at 30 minutes, 15, etc.

I want these times to be adjustable via simple up and down buttons or rotary dial.

The brain is an arduino that when it gets a signal that the timer has reached 45 minutes…event A happens. When the timer reaches 30 minutes, Event B happens.

The ideal setup is that I have 6 bubble displays (I want to keep it small) showing the set time for the events. Display 1 would show 45, display 2 would show 30, etc.

Each digital display would have 2 buttons or a rotary dial to adjust the time for each event.

Another way of course is to have a single LCD display and then scroll through the various events and set the time with a single set of buttons…however for ease of use and to consistently show the time setting of each event, I prefer the first option I mentioned above.

So here is the Nube question…how do I do this?

Thanks in advance for your help.

What’s the longest time you need and what level of accuracy ?

Arduinos, w/o help, make lousy clocks.

The longest time would be 90 minutes.

Accuracy should be within a few seconds of desired time.

Typical events would happen at 60,45,30,15,10,5…or 60,30,10,5,2,0

So to be clear, events closer to the end of the countdown, tend to be closer together… If that makes any difference regarding your accuracy question.

From your description, probably much simpler with a Beaglebone or RaspbPi

I’m quite new to this, but the reason I wanted to use the arduino is because of its on/off capabilities.

In other words when I turn on the box, everything runs. No need to wait for things to load etc.

I need thus project to be instant on.

Am I wrong in my thinking that an Arduino board would be best for this?

pilzner:
The longest time would be 90 minutes.

Accuracy should be within a few seconds of desired time.

Given the above an Arduino should work. A lower power platform might be better (I'm assuming battery power) but if you're using LEDs for a readout that might not matter much.

I plan on having power to the box.

Events triggered will need power… So no issues on that.

So the big question is how do I do this?

How do I create these timed events based on variable times?

Sorry but this is all kind of new to me.

The Arduino will be fine. My comment was just that for a one-off something that can drive a VGA display and have a keyboard would make it easier. I don’t understand your question about how to do the timing though. You have 6 different timers: tick each one and when it hits zero, fire that relay

e.g.,

timer[6]= { 60,45,30,15,10,5};
for (;;)
{
    delaySeconds(1);
    for (int i = 0; i < 6; i++)
    {
        if (timer[i] > 0)
        {
            timer[i]--;
            if (timer[i] == 0)
            {
                doTimedThing(i);
            }
        }
    }
}

lyndon:
The Arduino will be fine. My comment was just that for a one-off something that can drive a VGA display and have a keyboard would make it easier. I don’t understand your question about how to do the timing though. You have 6 different timers: tick each one and when it hits zero, fire that relay

e.g.,

Thanks. That’s good news.

But I guess my question at this stage is what do you mean by timer? Hardware?

I don’t seem to be able to identify the type of timer that I would need.

Is there an example somewhere that you could point me towards to create a timer that has a simple rotary dial and simple 7 seg display?

pilzner:
I don’t seem to be able to identify the type of timer that I would need.

Is there an example somewhere that you could point me towards to create a timer that has a simple rotary dial and simple 7 seg display?

The problem is there are too many ways to do the still undefined design you've put forth. How many timers and what display(s) might be the 1st detail to (try to) definitize. You've mentioned LCD and bubble LEDs. Let's look at the latter.

https://www.sparkfun.com/products/12710

You need 7 pins to control the segments and 4 to control which digit is on. Ands that’s for 4 digits. Is 4 enough for any single timer display ? 11 pins is really all you have on an Uno. What Arduino are you going to use ? You need another 4 pins to control each additional bubble display. Does that mean going to a Mega ? Or perhaps using an LED 7 segment driver or some shift registers ? Or going to an LCD ? All of these have $$s and space and complexity considerations that “we” can’t evaluate for you.

What’s your software background ? Not knowing what, if any, background you have let me recommend that you should read the following pages to “learn how to swim”.

http://arduino.cc/en/Tutorial/Foundations

Read the pages on the basics of a sketch (gack, I loathe that term). Then the pages on digital pins, variables and functions.

And these on libraries.

https://learn.adafruit.com/adafruit-all … -libraries

http://www.arduino.cc/en/Hacking/Libraries

http://arduino.cc/en/Tutorial/HomePage

Look at the 1’st pages on Basics and then those under Control structures for - if, for loops and the switch case.

If you can grok the above then you should be able to look at, and decipher how, most sketches work. Look at the sketches in the lessons on this page.

http://arduino.cc/en/Tutorial/Links

Above all else bookmark this page and have it open when reading or writing a sketch.

http://arduino.cc/en/Reference/HomePage

It’s your Rosetta Stone.

There are also a gaggle of Arduino tutorials online. Google for them.

There are many ways to time events w/an Arduino but I’ll guess you want a count down timer for display purposes. I’ve not seen pre-“done” software (aka a library) to do that but I’ve not looked. You can Google as well as I can.

Ok so my worries were justified that I would not have enough pins.

I will therefore use a single lcd display and have all times set there and use it for the display of where the timer stands.

Are there any libraries that you can point me towards that might help me do the above?

Everything you posted is fantastic. I’ll make sure to hit those first.

Thanks again