Go Down

Topic: switch on a led for 5 sec and turn off?? (Read 5 times) previous topic - next topic

zhirantaha

Jul 19, 2012, 04:13 pm Last Edit: Jul 19, 2012, 04:21 pm by zhirantaha Reason: 1
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

majenko

If you don't want our suggestions, what do you want?
Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

zhirantaha


majenko

Simple version:

Code: [Select]

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:

Code: [Select]

{
  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! :)
Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

zhirantaha


Go Up