Skip to content

Timer not working in a button press callback. #16

@saurabhreigns

Description

@saurabhreigns

Please help me find why the timer does not start when button at A3 is pressed?

//Library
#include "SevSeg.h"
#include <CountUpDownTimer.h>
#include <Button.h>

//create a Button objects at pin a0-a3
// Uses debounce mode. You may need to experiment with the debounce duration
// for your particular switch.
#define ledPin A4
CountUpDownTimer T(DOWN);

Button setPin = Button(A0, BUTTON_PULLUP_INTERNAL, true, 10);
Button plusPin = Button(A1, BUTTON_PULLUP_INTERNAL, true, 10);
Button minusPin = Button(A2, BUTTON_PULLUP_INTERNAL, true, 10);
Button startTimerPin = Button(A3, BUTTON_PULLUP_INTERNAL, true, 10);

int seconds=1234;

SevSeg sevseg; //Instantiate a seven segment controller object

//Variables
  int secvalue =0;
  int milvalue =0;

void setup() {
  byte numDigits = 4;   
  byte digitPins[] = {5,4,3,2,1};
  byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13};

  pinMode(ledPin,OUTPUT);

  sevseg.begin(COMMON_ANODE, numDigits, digitPins, segmentPins);
  sevseg.setBrightness(50);
  //sevseg.setNumber(1234,0);
  //while(1){sevseg.refreshDisplay();};
//      digitalWrite(ledPin,HIGH);//indicator LED test
//      delay(500);
//      digitalWrite(ledPin,LOW);
      }

void loop(){
    //sevseg.setNumber(seconds,0);

    if(setPin.uniquePress())
    {
      seconds=0000;//resetting the timer value
    }
          
    else if(plusPin.uniquePress())
    {
      seconds++;
    }
    
    else if(minusPin.uniquePress())
    {
      seconds--;
    } 
    else if(startTimerPin.uniquePress())
    { 
      T.StartTimer();
      T.SetTimer(seconds);
      T.Timer();
    }
    else{
      sevseg.setNumber(seconds,0);
      sevseg.refreshDisplay();
    }
    
      secvalue=T.ShowSeconds();
      milvalue=T.ShowMilliSeconds();
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions