switch on a led for 5 sec and turn off??

hi

please if you replay don't write any suggestion?? ok??---write the code
i want when you turn on the led after 5 sec turn off and doesn't turn on again????
thank for replay

If you don't want our suggestions, what do you want?

i need code

Simple version:

void setup()
{
  pinMode(13,OUTPUT); // LED output
  pinMode(2,INPUT); // Button input
}

void loop()
{
  while(digitalRead(2)==LOW);
  digitalWrite(13,HIGH);
  delay(5000);
  digitalWrite(13,LOW);
}

More complex version:

{
  pinMode(13,OUTPUT); // LED output
  pinMode(2,INPUT); // Button input
}

void loop()
{
  static unsigned char ledState = LOW;
  static unsigned char buttonState = LOW;
  static unsigned char lastButtonState = LOW;
  static unsigned long ledCameOn = 0;
  
  // If the LED has been on for at least 5 seconds then turn it off.
  if(ledState == HIGH)
  {
    if(millis()-ledCameOn > 5000)
    {
      digitalWrite(13,LOW);
      ledState = LOW;
    }
  }

  // If the button's state has changed, then turn the LED on IF it is not on already.
  buttonState = digitalRead(2);
  if(buttonState != lastButtonState)
  {
    lastButtonState = buttonState;
    if((buttonState == HIGH) && (ledState == LOW))
    {
      digitalWrite(13,HIGH);
      ledState = HIGH;
      ledCameOne = millis();
    }
  }
}

Note: I haven't tested either bits of code, so do they work? Who knows! :slight_smile:

1 Like

by the way thank's :slight_smile:

You realise the simple version in reply #3 version doesn't actually meet your requirements?

@OP: If you only want code written for you and don't want to put in any effort, will you please post in "Gigs and Collaborations"?

It's hard to know what the requirements are from the brief few words the OP has written.

start from the blinc example.. study it and read the reference
this is so simple that i think you shouldnt ask for a code example but do a little bit homework.
the more rewarding it will be when you have solved it.

hint try using an if statement... and a variable..

Try not to be so demanding or angry. This is the simplest way to light an LED for five seconds then turn off permanently. It is just modified blink. I have tested it, so no worries. Enjoy.

int led = 13;
void setup() {
pinMode(led, OUTPUT);
digitalWrite(led, HIGH);
delay(5000);
}
void loop()
digitalWrite(led, LOW);
}

it's soooooo00 cake!

majenko:
More complex version:

{

pinMode(13,OUTPUT); // LED output
  pinMode(2,INPUT); // Button input
}

void loop()
{
  static unsigned char ledState = LOW;
  static unsigned char buttonState = LOW;
  static unsigned char lastButtonState = LOW;
  static unsigned long ledCameOn = 0;
 
  // If the LED has been on for at least 5 seconds then turn it off.
  if(ledState == HIGH)
  {
    if(millis()-ledCameOn > 5000)
    {
      digitalWrite(13,LOW);
      ledState = LOW;
    }
  }

// If the button's state has changed, then turn the LED on IF it is not on already.
  buttonState = digitalRead(2);
  if(buttonState != lastButtonState)
  {
    lastButtonState = buttonState;
    if((buttonState == HIGH) && (ledState == LOW))
    {
      digitalWrite(13,HIGH);
      ledState = HIGH;
      ledCameOne = millis();
    }
  }
}




Note: I haven't tested either bits of code, so do they work? Who knows! :)

It needed some alterations :wink: but its working great.Thank you SIR

This is just what I needed!!! :slight_smile:

However, how would you go about modifying this so that you can turn it off manually before the time expires with another button press?

This would help me A LOT!!