Help me for solve my code

What is this all about ?

if (second >= 199) {
        minute++;
        second = 0; // Reset seconds to zero
    }

Earlier in the thread you seemed to have 4 digit hours, now you have minutes with 200 seconds in them.

Do you want to
(a) display "MOTOR" after 20 seconds then wait for a button press before displaying "GEAR"
(b) display "GEAR" after 20 seconds only if the button is pressed, otherwise display "MOTOR" and ignore the button
(c) show "GEAR" at any time the button is pressed
(d) something else

You can learn to read buttons by looking at the Button example in the IDE.

^ ^
ok

 if (second >= 60) {
        minute++;
        second = 0; // Reset seconds to zero
    }

    // Move forward one hour every 60 minutes
    if (minute >=60) {
        hour++;
        minute = 0; // Reset minutes to zero
    }

    if (hour >=2400) {
        hour=0;
        minute = 0; 
        // Reset minutes to zero
    }

i use int for this it can count to -32768 to 32767 so i count to 2400 it can ?? then my clock can count XXXX:XX:XX right?

btw

now i use arduino board model UNO R3 it has 6 buttons ,select,left,up,down,right,rst
i will use these buttons for change ALARM display

example
when time 20 sec alarm "MOTOR" but if sec > 20 and press button such as left button alarm change "GEAR"

.....how to

Come back and ask more questions when you have tried and understood the Button example.

I still don't get what you are on about with "my clock can count XXXX:XX:XX "

Can you give me an example of a real time in that format ?

I don't know what kind of clock you have but, you could maybe do a nested loop to give you those hours you want. But any chance does it log Days as well? instead of doing it by hours, do it by days.

shitokung:
i use int for this it can count to -32768 to 32767 so i count to 2400 it can ?? then my clock can count XXXX:XX:XX right?

The code fragment looks reasonable to me and would enable you to count up to 2400 hours (100 days) showing hours, minutes and seconds.

We won't know until the OP replies, but I can't help feeling that there is some confusion between 2400 hours (ie midnight) and the need to allow for 24 hours in the day.

UKHeliBob:
We won't know until the OP replies, but I can't help feeling that there is some confusion between 2400 hours (ie midnight) and the need to allow for 24 hours in the day.

Yeah, the initial mention of 800,1200,2000,2400 Hrs does sound more like times in a 24-hour period rather than a 2400 hour period, but the code does definitely allow for 2400 hours rather than 24 hours. Perhaps the OP is confused about the distinction.

Thanks all

I don't want to change Hrs to Day

I have to use Hr:min:sec
so maximum of Hr is 2400 Hrs for usage.
now I try to use button on board like this

http://arduino-info.wikispaces.com/LCD-Pushbuttons

So, the alarm is to go off after 800, 1200, 2000 and 2400 hours.

This is going to take a long while to test !

Hi all
I want to add code ..is
i want to use 5v from pin3, pin3=HIGH for count

if(pin3==1){
static unsigned long lastTick = 0;
    if (millis() - lastTick >= 1000) 
    {
        lastTick = millis();
        
       
        second++;
    }

    // Move forward one minute every 60 seconds
    if (second >= 60) {
        minute++;
        second = 0; // Reset seconds to zero
    }

    // Move forward one hour every 60 minutes
    if (minute >=60) {
        hour++;
        minute = 0; // Reset minutes to zero
    }

    if (hour >=2500) {
        hour=0;
        minute = 0; 
        // Reset minutes to zero
    }
}

it is not working my display is no counting 00:00:00 always

My goal is use 5V from pin3 order for couning if pin3 = 0v , pin3 is stop counting and if pin3 = 5V is counting.

What should i do new code ??

So...
if(pin3 == HIGH) count++;
else do nothing.

if(pin3==1){

Do you have, somewhere above this, a line like:

pins3 = digitalRead(state3);

It seems silly to store a state in a variable named pin3. It seems silly to name a variable pin3, and then store the value 1 in it. Therefore, it seems silly to expect pin3 to equal 1.

HazardsMind:
So...
if(pin3 == HIGH) count++;
else do nothing.

if(digitalRead(pin3) == HIGH) count++;

So...
if(pin3 == HIGH) count++;
else do nothing.

Its just pseudo code, he needs to fill in the gaps.

HazardsMind:
Its just pseudo code, he needs to fill in the gaps.

Using the pin number instead of the value read from the pin is a very common mistake. Even if you meant it to be pseudo code (which is not obvious, since that is syntactically valid C++) it's not doing the OP any favors by encouraging them to make that mistake.

Ok, I just thought he would be able to tell the difference between using the pin number and the actual value of the pin.

Thanks all

I have done. ^ - ^

Is good yes?

YES. ^ ^

I have new idea but i cant

if (minute == 1)
    { 
 switch (lcd_key)               // depending on which button was pushed, we perform an action
case btnLEFT:
     {for(j=0;j<1;j++)
       lcd.setCursor(0, 1);
     lcd.print("      Timer     ");
     digitalWrite(led0, LOW); 
     digitalWrite(led1, LOW); 
     digitalWrite(led2, LOW);
     break;    
     }
   }

i want to press hold switch LEFT for 30 sec and then it is working go on if dont press hold it can't do that.