7 segment counter

hey this is my first topic , and im just trying to the basics of arduino down,,,, So i decided to make a counter for a project and when i test the segment

int led4k1 =  53;
int led4k2 =  52;
int led4k3 =  51;
int led4k4 =  50;
int led4k5 =  49;
int led4k6 =  48;
int led4k7 =  47;
int led1k1 =  46;




void setup()   {                 
  pinMode(led4k1, OUTPUT); 
   pinMode(led4k2, OUTPUT);
    pinMode(led4k3, OUTPUT);
     pinMode(led4k4, OUTPUT);
      pinMode(led4k5, OUTPUT);
       pinMode(led4k6, OUTPUT);
        pinMode(led4k7, OUTPUT);
       
  
}

// the loop() method runs over and over again,
// as long as the Arduino has power

void loop()                     
{
  digitalWrite(led4k1, HIGH);  
 digitalWrite(led4k2, HIGH);
 digitalWrite(led4k3, HIGH);
 digitalWrite(led4k4, HIGH);
 digitalWrite(led4k5, HIGH);
digitalWrite(led4k6, HIGH);
digitalWrite(led4k7, HIGH);
 delay(100);
   digitalWrite(led4k1, LOW);  
 digitalWrite(led4k2, LOW);
 digitalWrite(led4k3, LOW);
 digitalWrite(led4k4, LOW);
 digitalWrite(led4k5, LOW);
digitalWrite(led4k6, LOW);
digitalWrite(led4k7, LOW);
delay(5000);

For some reason low lights up the segments i dont know why this is ,
could some one explain?

For some reason low lights up the segments

Probably because your display is a common anode device, with the anode connected to +5V, and the segments connected to output pins.
When the pins are LOW, they sink current through the segments.
A common cathode device would be connected with the cathode to 0V.

For some reason low lights up the segments

You are using what is known as current sinking, low will light up the segments because the current from them is being routed to ground through the arduino pin.
The opposite of current sinking is current sourcing where the current flows out of the arduino and into the segments and then to ground.

Both scenarios route the current through an external current limiting resistor of course, you do have one?

Thanks , so i have it working ill include a video and a pic if i can but , i have 3 questions
:
how do i know its accurate

could i leave it on over night , how long can it run

and if i wanted to replace my mega and solder a non reuseable chip
to make it permanet which one could i use?

how do i know its accurate

Accurate to what?
You've posted only a portion of a sketch - what is it supposed to measure?

could i leave it on over night , how long can it run

Yes and as long as you like.

sorry I didnt elabaroate, im making a timer for misc projects like a ... timer . so i have 4 7 segment leds, 3 big blue , one small red.
i have the 3 big seconds , and the red as miliseconds. ,

but i dont know if it counts in seconds ,,,or if it is slow or fast , how do I make sure the timer is accurate in seconds

And I didnt know if anything would overheat or have a problem if i leave it on for long periods, will something happen?

Heres my code and some pictures...

int led4k1 =  53;
int led4k2 =  52;
int led4k3 =  51;
int led4k4 =  50;
int led4k5 =  49;
int led4k6 =  48;
int led4k7 =  47;

int led3k1 =  46;
int led3k2 =  45;
int led3k3 =  44;
int led3k4 =  43;
int led3k5 =  42;
int led3k6 =  41;
int led3k7 =  40;

int led2k1 =  39;
int led2k2 =  38;
int led2k3 =  37;
int led2k4 =  36;
int led2k5 =  35;
int led2k6 =  34;
int led2k7 =  33;
int led2k8 =  32;

int num = 0;
int num2 = 0;
int num3 = 0;
int button = 0;
void setup()   {                
 pinMode(led4k1, OUTPUT); 
   pinMode(led4k2, OUTPUT);
    pinMode(led4k3, OUTPUT);
     pinMode(led4k4, OUTPUT);
      pinMode(led4k5, OUTPUT);
       pinMode(led4k6, OUTPUT);
        pinMode(led4k7, OUTPUT);
   pinMode(led3k1, OUTPUT); 
   pinMode(led3k2, OUTPUT);
    pinMode(led3k3, OUTPUT);
     pinMode(led3k4, OUTPUT);
      pinMode(led3k5, OUTPUT);
       pinMode(led3k6, OUTPUT);
        pinMode(led3k7, OUTPUT);
   pinMode(led2k1, OUTPUT); 
   pinMode(led2k2, OUTPUT);
    pinMode(led2k3, OUTPUT);
     pinMode(led2k4, OUTPUT);
      pinMode(led2k5, OUTPUT);
       pinMode(led2k6, OUTPUT);
        pinMode(led2k7, OUTPUT);
         pinMode(led2k8, OUTPUT);
  
}
void loop()                     
{
      switch (num) {
  case 0:   
 digitalWrite(led2k1, LOW);
 digitalWrite(led2k2, HIGH);
 digitalWrite(led2k3, LOW);
 digitalWrite(led2k4, LOW);
 digitalWrite(led2k5, LOW);
digitalWrite(led2k6, LOW);
digitalWrite(led2k7, LOW);
digitalWrite(led2k8, LOW);
    break;
  case 1:   
   digitalWrite(led2k1, HIGH);
 digitalWrite(led2k2, HIGH);
 digitalWrite(led2k3, HIGH);
 digitalWrite(led2k4, HIGH);
 digitalWrite(led2k5, LOW);
digitalWrite(led2k6, HIGH);
digitalWrite(led2k7, LOW);
digitalWrite(led2k8, LOW);
    break;
  case 2:    
  digitalWrite(led2k1, LOW);
  digitalWrite(led2k2, LOW);
 digitalWrite(led2k3, LOW);
 digitalWrite(led2k4, HIGH);
 digitalWrite(led2k5, HIGH);
digitalWrite(led2k6, LOW);
digitalWrite(led2k7, LOW);
digitalWrite(led2k8, LOW);
    break;
  case 3:  
  digitalWrite(led2k1, HIGH);
 digitalWrite(led2k2, LOW);
 digitalWrite(led2k3, LOW);
 digitalWrite(led2k4, HIGH);
 digitalWrite(led2k5, LOW);
digitalWrite(led2k6, LOW);
digitalWrite(led2k7, LOW);
digitalWrite(led2k8, LOW);
    break;
      case 4:   
  digitalWrite(led2k1, HIGH);
 digitalWrite(led2k2, LOW);
 digitalWrite(led2k3, HIGH);
 digitalWrite(led2k4, LOW);
 digitalWrite(led2k5, LOW);
digitalWrite(led2k6, HIGH);
digitalWrite(led2k7, LOW);
digitalWrite(led2k8, LOW);
    break;
      case 5:
  digitalWrite(led2k1, HIGH);
 digitalWrite(led2k2, LOW);
 digitalWrite(led2k3, LOW);
 digitalWrite(led2k4, LOW);
 digitalWrite(led2k5, LOW);
digitalWrite(led2k6, LOW);
digitalWrite(led2k7, HIGH);
digitalWrite(led2k8, LOW);
    break;
      case 6:    
  digitalWrite(led2k1, LOW);
 digitalWrite(led2k2, LOW);
 digitalWrite(led2k3, LOW);
 digitalWrite(led2k4, LOW);
 digitalWrite(led2k5, LOW);
digitalWrite(led2k6, LOW);
digitalWrite(led2k7, HIGH);
digitalWrite(led2k8, LOW);
    break;
      case 7:   
  digitalWrite(led2k1, HIGH);
 digitalWrite(led2k2, HIGH);
 digitalWrite(led2k3, HIGH);
 digitalWrite(led2k4, HIGH);
 digitalWrite(led2k5, LOW);
digitalWrite(led2k6, LOW);
digitalWrite(led2k7, LOW);
digitalWrite(led2k8, LOW);
    break;
      case 8:  
  digitalWrite(led2k1, LOW);
 digitalWrite(led2k2, LOW);
 digitalWrite(led2k3, LOW);
 digitalWrite(led2k4, LOW);
 digitalWrite(led2k5, LOW);
digitalWrite(led2k6, LOW);
digitalWrite(led2k7, LOW);
digitalWrite(led2k8, LOW);
    break;
      case 9:  
  digitalWrite(led2k1, HIGH);
 digitalWrite(led2k2, LOW);
 digitalWrite(led2k3, LOW);
 digitalWrite(led2k4, LOW);
 digitalWrite(led2k5, LOW);
digitalWrite(led2k6, LOW);
digitalWrite(led2k7, LOW);
digitalWrite(led2k8, LOW);
    break;
  } 
  
      switch (num2) {
  case 0:   
 digitalWrite(led3k1, LOW);
 digitalWrite(led3k2, HIGH);
 digitalWrite(led3k3, LOW);
 digitalWrite(led3k4, LOW);
 digitalWrite(led3k5, LOW);
digitalWrite(led3k6, LOW);
digitalWrite(led3k7, LOW);
    break;
  case 1: 
   digitalWrite(led3k1, HIGH);
 digitalWrite(led3k2, HIGH);
 digitalWrite(led3k3, HIGH);
 digitalWrite(led3k4, HIGH);
 digitalWrite(led3k5, LOW);
digitalWrite(led3k6, HIGH);
digitalWrite(led3k7, LOW);
    break;
  case 2:   
  digitalWrite(led3k1, LOW);
  digitalWrite(led3k2, LOW);
 digitalWrite(led3k3, LOW);
 digitalWrite(led3k4, HIGH);
 digitalWrite(led3k5, HIGH);
digitalWrite(led3k6, LOW);
digitalWrite(led3k7, LOW);
    break;
  case 3:   
  digitalWrite(led3k1, HIGH);
 digitalWrite(led3k2, LOW);
 digitalWrite(led3k3, LOW);
 digitalWrite(led3k4, HIGH);
 digitalWrite(led3k5, LOW);
digitalWrite(led3k6, LOW);
digitalWrite(led3k7, LOW);
    break;
      case 4:   
  digitalWrite(led3k1, HIGH);
 digitalWrite(led3k2, LOW);
 digitalWrite(led3k3, HIGH);
 digitalWrite(led3k4, LOW);
 digitalWrite(led3k5, LOW);
digitalWrite(led3k6, HIGH);
digitalWrite(led3k7, LOW);
    break;
      case 5:    
  digitalWrite(led3k1, HIGH);
 digitalWrite(led3k2, LOW);
 digitalWrite(led3k3, LOW);
 digitalWrite(led3k4, LOW);
 digitalWrite(led3k5, LOW);
digitalWrite(led3k6, LOW);
digitalWrite(led3k7, HIGH);
    break;
      case 6:    
  digitalWrite(led3k1, LOW);
 digitalWrite(led3k2, LOW);
 digitalWrite(led3k3, LOW);
 digitalWrite(led3k4, LOW);
 digitalWrite(led3k5, LOW);
digitalWrite(led3k6, LOW);
digitalWrite(led3k7, HIGH);
    break;
      case 7:    
 digitalWrite(led3k1, HIGH);
 digitalWrite(led3k2, HIGH);
 digitalWrite(led3k3, HIGH);
 digitalWrite(led3k4, HIGH);
 digitalWrite(led3k5, LOW);
digitalWrite(led3k6, LOW);
digitalWrite(led3k7, LOW);
    break;
      case 8:   
  digitalWrite(led3k1, LOW);
 digitalWrite(led3k2, LOW);
 digitalWrite(led3k3, LOW);
 digitalWrite(led3k4, LOW);
 digitalWrite(led3k5, LOW);
digitalWrite(led3k6, LOW);
digitalWrite(led3k7, LOW);
    break;
      case 9:   
 digitalWrite(led3k1, HIGH);
 digitalWrite(led3k2, LOW);
 digitalWrite(led3k3, LOW);
 digitalWrite(led3k4, LOW);
 digitalWrite(led3k5, LOW);
digitalWrite(led3k6, LOW);
digitalWrite(led3k7, LOW);
    break;
  } 
  

  
  
    switch (num3) {
  case 0:    
 digitalWrite(led4k1, LOW);
 digitalWrite(led4k2, HIGH);
 digitalWrite(led4k3, LOW);
 digitalWrite(led4k4, LOW);
 digitalWrite(led4k5, LOW);
digitalWrite(led4k6, LOW);
digitalWrite(led4k7, LOW);
    break;
  case 1:    
   digitalWrite(led4k1, HIGH);
 digitalWrite(led4k2, HIGH);
 digitalWrite(led4k3, HIGH);
 digitalWrite(led4k4, HIGH);
 digitalWrite(led4k5, LOW);
digitalWrite(led4k6, HIGH);
digitalWrite(led4k7, LOW);
    break;
  case 2:    
  digitalWrite(led4k1, LOW);
  digitalWrite(led4k2, LOW);
 digitalWrite(led4k3, LOW);
 digitalWrite(led4k4, HIGH);
 digitalWrite(led4k5, HIGH);
digitalWrite(led4k6, LOW);
digitalWrite(led4k7, LOW);
    break;
  case 3:    
  digitalWrite(led4k1, HIGH);
 digitalWrite(led4k2, LOW);
 digitalWrite(led4k3, LOW);
 digitalWrite(led4k4, HIGH);
 digitalWrite(led4k5, LOW);
digitalWrite(led4k6, LOW);
digitalWrite(led4k7, LOW);
    break;
      case 4:   
  digitalWrite(led4k1, HIGH);
 digitalWrite(led4k2, LOW);
 digitalWrite(led4k3, HIGH);
 digitalWrite(led4k4, LOW);
 digitalWrite(led4k5, LOW);
digitalWrite(led4k6, HIGH);
digitalWrite(led4k7, LOW);
    break;
      case 5:    
  digitalWrite(led4k1, HIGH);
 digitalWrite(led4k2, LOW);
 digitalWrite(led4k3, LOW);
 digitalWrite(led4k4, LOW);
 digitalWrite(led4k5, LOW);
digitalWrite(led4k6, LOW);
digitalWrite(led4k7, HIGH);
    break;
      case 6:   
  digitalWrite(led4k1, LOW);
 digitalWrite(led4k2, LOW);
 digitalWrite(led4k3, LOW);
 digitalWrite(led4k4, LOW);
 digitalWrite(led4k5, LOW);
digitalWrite(led4k6, LOW);
digitalWrite(led4k7, HIGH);
    break;
      case 7:   
  digitalWrite(led4k1, HIGH);
 digitalWrite(led4k2, HIGH);
 digitalWrite(led4k3, HIGH);
 digitalWrite(led4k4, HIGH);
 digitalWrite(led4k5, LOW);
digitalWrite(led4k6, LOW);
digitalWrite(led4k7, LOW);
    break;
      case 8:    
  digitalWrite(led4k1, LOW);
 digitalWrite(led4k2, LOW);
 digitalWrite(led4k3, LOW);
 digitalWrite(led4k4, LOW);
 digitalWrite(led4k5, LOW);
digitalWrite(led4k6, LOW);
digitalWrite(led4k7, LOW);
    break;
      case 9:    
  digitalWrite(led4k1, HIGH);
 digitalWrite(led4k2, LOW);
 digitalWrite(led4k3, LOW);
 digitalWrite(led4k4, LOW);
 digitalWrite(led4k5, LOW);
digitalWrite(led4k6, LOW);
digitalWrite(led4k7, LOW);
    break;
  } 
  
   num += 1;
   
   if (num == 10)
   { num = 0;
   num2 += 1; if(num2 == 10)
   {
     num2 = 0;
     num3 += 1;
     if(num3 == 10)
     {num3 = 0;
     }}
     
   }
  delay(1000);
  
  
  
  
}

each case make the led a number

but i dont know if it counts in seconds

It will only count in seconds if you write the code to make it count in seconds. That code is very inefficient and there is a 1 second delay between each count. BUT the time taken to execute the code will make it count slightly slower.
Look at the blink without delay for how to use the timer function to synchronize your counter.
http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay

http://img526.imageshack.us/img526/4310/dsc03312.mp4

Look at the blink without delay for how to use the timer function to synchronize your counter.
http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay

thanks :slight_smile:

see i now understand to the answer to my problem , but i dont know how i would make the code?

ut i dont know how i would make the code?

Use millis() + 1000 to get the time for the next change. Then keep checking millis() until it is greater than this figure. When it is output the next count and set the time for the next count.

The same idea I used in :-
http://www.thebox.myzen.co.uk/Hardware/Econo_Monome.html