Привет. Помогите понят, почему счетчик millis работает не стабильно? Почему-то отрабатывает только в первый раз а потом на 2-4 секунды меньше и каждый раз по разному.
#define key_pin 3 //подключение кнопки
#define led_pin 10 // подключение лампочки
#define led_time 6000 // время свечения
boolean led_flag, key_status;
unsigned long last_time_led ;
void setup() {
pinMode (key_pin, INPUT_PULLUP);
pinMode (led_pin, OUTPUT);
}
void loop() {
digitalWrite (led_pin, led_flag);
key_status = digitalRead (key_pin);
key_status = !key_status;
if (key_status == 1 ) {
led_flag = 1;
}
if (led_flag == 1 && millis() - last_time_led > led_time) {
led_flag = 0;
last_time_led = millis();
}
}
#define key_pin 3 //подключение кнопки
#define led_pin 10 // подключение лампочки
#define led_time 6000 // время свечения
boolean led_flag, key_status;
unsigned long last_time_led ;
void setup() {
pinMode (key_pin, INPUT_PULLUP);
pinMode (led_pin, OUTPUT);
}
void loop() {
digitalWrite (led_pin, led_flag);
key_status = digitalRead (key_pin);
key_status = !key_status;
if (key_status == 1 ) {
led_flag = 1;
}
if (led_flag == 1 && millis() - last_time_led > led_time) {
led_flag = 0;
last_time_led = millis();
}
}