manage led output

Thanks Paul for your patience :slight_smile:

Not quite in goal yet.
Still has no effect..
updated the variable names

const int buttonPin = 0;    
const int ledPin = 3;     


int ledState = HIGH;         
int buttonState;             
int lastButtonState = LOW;   


unsigned long ledOnDelay = 10000;
unsigned long trackLedOnTime = 0; 
unsigned long lastDebounceTime = 0; 
unsigned long debounceDelay = 50;    

void setup() {
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);

  // set initial LED state
  digitalWrite(ledPin, ledState);
}

void loop() {
  
  int reading = digitalRead(buttonPin);

 
  if (reading != lastButtonState) {
    
    lastDebounceTime = millis();
  }

  if ((millis() - lastDebounceTime) > debounceDelay) {
    
    if (reading != buttonState) {
      buttonState = reading;

   
      if (buttonState == HIGH) {
        ledState = !ledState;
         if(ledState)
         trackLedOnTime = millis();       
      }
    }
  }

  
  digitalWrite(ledPin, ledState);
  lastButtonState = reading;

  if ((millis - trackLedOnTime) > ledOnDelay) {
    digitalWrite(ledPin, LOW);
     }
  }