Shahreza:
I am trying to add number to a variable every time, button was push but when it gets to 32000 it goes over flow.
You did not add number to a variable
if (digitalRead(push_inc) == HIGH) {
Relay_ON_Interval = 100UL; // it re-assign value every time
if (Relay_ON_Interval > 60000)
Relay_ON_Interval = 60000;
You check on the wrong variable
if (digitalRead(push_inc) == HIGH) {
for (int g = 0; g < 100; g++) {
Relay_OFF_Interval++;
if (Relay_ON_Interval > 10000)
Relay_OFF_Interval = 10000;
}
long unsigned previous_Millis = 0;
...
long previousLCDMillis = 0; // for LCD screen update
long lcdInterval = 1000;
...
long unsigned i = 500;
...
long unsigned currentMillis = millis();
Referring to your original post, you've already declared test_delay as unsigned long. So to add 100 to it every time a button is pressed, just need to use
test_delay += 100;
The main problem is that as the main loop processes over and over, 100 keeps getting added to test_delay over and over "while" the button is pressed.
Check the StateChangeDetection example included with the IDE to find out how to do this only once, "just" when the button is pressed or "just" when the button is released.