Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

anon
2022-05-10 13:48:17

Тут помілка в тому що два if-и нияк не залежать один від одного.
Як я розумію, задача була зробити блималку без застосування delay.
зробити це можно наступним чином:

unsigned long last_time1;
int ledState=LOW;
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
    if (millis()- last_time1 > 1000){
    
      last_time1 = millis();
      ledState=!ledState;
      digitalWrite(13, ledState);
    }
   
}

Таким чином значення ledState кожної секунди буде змінюватись на протележне

г0сть
2022-05-09 14:13:33
Malyhin пише:

він мигає не з інтеравлом 1 секунду, а через 1, потім починає до 10 секунд не мигати

А повинен?  Вын мИгає рівно так як задано автором коду.

Malyhin
2022-05-09 13:26:58

та ділов тому що він мигає не з інтеравлом 1 секунду, а через 1, потім починає до 10 секунд не мигати

г0сть
2022-05-09 12:41:42

І? Екперемотн пройшов вдало? У чому питанння?

Malyhin
2022-05-09 12:26:44

я захотів поекперемотнувати, моя мігалка працює то  через 1 секунду то через 7

ось код:
unsigned long last_time1;
unsigned long last_time2;
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
if (millis()- last_time1 > 1000){
 
  last_time1 = millis();
  digitalWrite(13, HIGH);
}
if (millis()- last_time2 > 1000){
  last_time2 = millis();
  digitalWrite(13, LOW);
}

Підвал форуму