#include <PaunaStepper.h>




PaunaStepper SEC_stepper;     //Include PaunaStepper for Seconds motor
PaunaStepper MIN_stepper;     //Include PaunaStepper for Minutes motor
PaunaStepper HOUR_stepper;    //Include PaunaStepper for Hours motor

//Variables
unsigned long timesec;        //Variable timesec for 1 second count - millis storage
unsigned long dt;             //Variable dt for 1 second count - actual count
int seconds ;                 //Variable seconds
int minutes ;                 //Variable minutes
int hours;                    //Variable hours




void setup() {
  SEC_stepper.attach(2, 3, 4, 5);         //Seconds motor connection to pins 2-3-4-5
  MIN_stepper.attach(6, 7, 8, 9);         //Minutes motor connection to pins 6-7-8-9
  HOUR_stepper.attach(10, 11, 12, 13);    //Hours motor connection to pins 10-11-12-13
  timesec = millis();
}

void loop() {

  //Motors speed setup
  SEC_stepper.setRPM(1.3);
  MIN_stepper.setRPM(1);
  HOUR_stepper.setRPM(1);


//Count time up to 1 second
  dt = millis() - timesec;
  if (dt >= 1000) {
    timesec = millis();

    //Seconds motor rotation
    SEC_stepper.rotate(-6);
    SEC_stepper.resetOdo();
    seconds ++;

    //Count time up to 1 minute
    if (seconds == 60) {
      seconds = 0;

      //Minutes motor rotation
      MIN_stepper.rotate(-6);
      MIN_stepper.resetOdo();
      minutes++;

      //Count time up to 1 hour
      if (minutes == 60) {
        minutes = 0;

        //Hours motor rotation
        HOUR_stepper.rotate (-30);
        HOUR_stepper.resetOdo();
        hours++;

        if (hours == 12) {
          hours = 0;
        }
      }

    }

  }
  delay (100);
}
