Using Arduino to drive 4x timers

Hi all..I am brand-spanking new to Arduino and I need some help.
I need to program my board so that when 1 push 1 of 4 buttons attched to the board it will generate a 1Hz signal output that I want to use to drive timer arrays. Timer arrays use 4026 nad 4017 IC's as counters to driver 7-segment LED displays.
Scenario is: you have a box with 4 buttons on it, each with it's corresponding timer. When 1 timer's button is pressed, that timer runs and the 3 other are paused.

I have an Uno ATmega328 MCU Board Rev 3
Any assistance would be appreciated

What kind of accuracy do you need for the pulse widths? The sticky, several things at a time, at the top of the project guidance topic might be helpful.

Link to several things at a time. Generating 1Hz pulses should be straightforward.

If you use port manipulation you could change the value on 4 pins at exactly the same instant if that is needed.

...R

If you are going to do the counting in hardware (your 4026 and 4017 chips), that really doesn't leave much for the Arduino to do. The "clock inhibit" pin on the 4026 is for telling it to ignore incoming clock pulses which it would otherwise count. So that only leaves:

  1. remember which button was last pressed (I'm sure there must be some sort of low-level, non-Arduino-based way of doing this)

and

  1. generate the 1 Hz pulses (for this, you can just use a 555 timer).

what i'm trying to accomplish is this: Button 1 pressed: output 1Hz signal, cancel any other running output (outputs 2,3 &4)
Button 2 pressed: output 1Hz signal, cancel any other running output (outputs 1,3 &4)
Button 3 pressed: output 1Hz signal, cancel any other running output (outputs 1,2 &4)
Button 4 pressed: output 1Hz signal, cancel any other running output (outputs 1,2 &3)

Or, what I can do, is have 4 outputs, linked to corresponding button, that feeds to 4x 555 timer circuits

The main problem is not the 1Hz signal, but how to "switch" between the outputs when the corresponding button is pushed.

You could gate a data selector like a 74HC138 or 139. No Arduino required.

For your buttons, you can use the example from here: Arduino Playground - RadioButtons

Then all you need to do is use if statements to tell which timer is to do what.

aarg:
You could gate a data selector like a 74HC138 or 139. No Arduino required.

How would either of those help?

Seems like a pretty simple project. Just a basic application of blink without delay

// declare variables, add setup(), etc. Left as an exercise for the reader.
// keep it simple, make all variables global.
// give active a value of 1 to start, priorLevel a value of 0
// halfSecond a value of 500

void loop(){
currentMillis = millis(); // time elements are unsigned long
elapsedMillis = currentMillis - previousMillis;
  if (elapsedMillis >=halfSecond){
previousMillis = previousMillis + halfSecond;
  priorLevel = 1 - priorLevel;
switch (active){
case 1:
  digitalWrite (output1, priorLevel);
  break;
case 2:
 digitalWrite (output2, priorLevel);
  break;
case 3:
  digitalWrite (output3, priorLevel);
  break;
case 4:
  digitalWrite (output4, priorLevel);
  break;
} // end switch
} // end time check
// test for button presses
if (digitalRead(button1) == LOW){
digitalWrite (output2, LOW);
digitalWrite (output3, LOW);
digitalWrite (output4, LOW);
active = 1;
}
if (digitalRead(button2) == LOW){
digitalWrite (output1, LOW);
digitalWrite (output3, LOW);
digitalWrite (output4, LOW);
active = 2;
}
if (digitalRead(button3) == LOW){
digitalWrite (output1, LOW);
digitalWrite (output2, LOW);
digitalWrite (output4, LOW);
active = 3;
}
if (digitalRead(button4) == LOW){
digitalWrite (output1, LOW);
digitalWrite (output2, LOW);
digitalWrite (output3, LOW);
active = 4;
}
} // end loop