Arduino delay on timer

@claude1959, your topic has been moved to a more suitable location on the forum. Installation and Troubleshooting is not for problems with (nor for advise on) your project :wink: See About the Installation & Troubleshooting category.

===

Debouncing will always result in delays but you don't need it with the long 10 second wait that you have. You need a millis based approach. Below should work.

void loop()
{
  // start time when button became pressed.
  static uint32_t startTime;
  // remember if button is pressed or not
  static bool buttonIsPressed = false;

  byte buttonState = digitalRead(buttonPin);
  if (buttonState == LOW)
  {
    buttonIsPressed = true;
    startTime = millis();
  }
  else
  {
    buttonIsPressed = false;
    digitalWrite(somePin, LOW);
  }

  if (buttonIsPressed == true)
  {
    if (millis() - startTime >= 10000UL)
    {
      digitalWrite(somePin, HIGH);
    }
  }
}

Connect button between pin and GND and use pinMode(buttonPin, INPUT_PULLUP) in setup().

// Edit
There will be a slight 'delay' due to bounce before the startTime becomes stable. If you don't want that, you have to look at state change detection and detect when the button becomes pressed.