Go Down

Topic: Help me for solve my code (Read 2838 times) previous topic - next topic

PeterH


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.
I only provide help via the forum - please do not contact me for private consultancy.

shitokung

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


UKHeliBob

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

This is going to take a long while to test !
Please do not send me PMs asking for help.  Post in the forum then everyone will benefit from seeing the questions and answers.

shitokung

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

Code: [Select]

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 ??

HazardsMind

So...
if(pin3 == HIGH) count++;
else do nothing.
My GitHub:
https://github.com/AndrewMascolo?tab=repositories

PaulS

Code: [Select]
if(pin3==1){
Do you have, somewhere above this, a line like:
Code: [Select]
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.

PeterH


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


Code: [Select]

if(digitalRead(pin3) == HIGH) count++;
I only provide help via the forum - please do not contact me for private consultancy.

HazardsMind

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


Its just pseudo code, he needs to fill in the gaps.
My GitHub:
https://github.com/AndrewMascolo?tab=repositories

PeterH


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.
I only provide help via the forum - please do not contact me for private consultancy.

HazardsMind

Ok, I just thought he would be able to tell the difference between using the pin number and the actual value of the pin.
My GitHub:
https://github.com/AndrewMascolo?tab=repositories

shitokung

Thanks all

I have done.   ^ - ^

HazardsMind

My GitHub:
https://github.com/AndrewMascolo?tab=repositories


shitokung

I have new idea but i cant

Code: [Select]
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.

HazardsMind

You have to use a timer. Press the button once to start the timer and then keep it held. Using "millis() - timer > 30000UL", it will check to see if the state has changed within that period. If it DOES change within that period, it will NOT do the action. Only when the first state and second state are equal will it do the action.
My GitHub:
https://github.com/AndrewMascolo?tab=repositories

Go Up