简单点,可以这样写,最好按键加下消抖。
#define LED 13
#define KEY 6
#define LED_ON_TIME 10000 //10s
bool led_flag=0;
unsigned int led_count_start=0;
void setup() {
// put your setup code here, to run once:
pinMode(KEY, INPUT_PULLUP);
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
}
void loop() {
// put your main code here, to run repeatedly:
if (digitalRead(KEY) == LOW)
{
led_flag = 1;
digitalWrite(LED, HIGH);
led_count_start = millis();
}
if(led_flag)
{
if( (millis()-led_count_start) >= LED_ON_TIME)
{
led_flag = 0;
digitalWrite(LED, LOW);
}
}
}