با سلام و عرض ادب
می خوام کدی به اینصورت بنویسم
زمانی که پایه 2 میکرو HIGHشد، LED روشن بشه و بعد از 10ثانیه خاموش بشه در این کد برای وقفه 10ثانیه می خوام بجای تابع delay از تابع millis استفاده بشه ممنون می شم اگر راهنمایی بفرمایید
با تشکر
int period = 1000;
unsigned long time_now = 0;
void setup() {
Serial.begin(115200);
pinMode(A0,INPUT);
pinMode(2,OUTPUT);
pinMode(5,OUTPUT);
int sens;
}
void loop() {
int sens=analogRead(A0);
Serial.print("sens");
Serial.println(sens);
delay(1000);
time_now = millis();
if(sens<=100){//---بهد از اینکه مقدار سنسور کمتر یا مساوی100 شد ال ای دی باید روشن بشه و بعد از 10ثانیه خاموش بشه در حالیکه ال ای دی شماره5همزمان به کار خودش ادامه بده
digitalWrite(2,HIGH);
if(millis() > time_now + period){ //--دراین قسمت بعد از اینکه ال ای دی روشن شد بعد از چند ثانیه خاموش بشه ولی ال ای دی روشن میشه و خاموش نمی شه اشکال کد کجاست
digitalWrite(2,LOW);
time_now = millis();
}
}
digitalWrite(5,HIGH);
delay(100);
digitalWrite(5,LOW);
}