LED BLINK pomocí ms

 avatar
Pavel1TU
c_cpp
2 years ago
1.3 kB
6
Indexable


int ledState = LOW;  // ledState promenna pro nastaveni LED

// pouzijeme "unsigned long" pro ulozeni hodnoty interniho casovace v ms
unsigned long previousMillis = 0;  // predchozi ulozeny cas
unsigned long currentMillis;       // posledni ulozeny cas (aktualni)

// promennou muzeme zmenit
const long interval = 1000;  // interval blikani LED (milliseconds)

void setup() {
  // nastaveni INTERNI LED
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {

  // ulozime hodnotu casovace, ten pak pokud Arduino nevypneme - bezi dal
  unsigned long currentMillis = millis();

  //zde testujeme zda mezi nami ulozenym casem a poslednim ulozenym casem je více než nastaveny interval
  //po prvnim spusteni arduina se vsechny casovace rozebíhají od "0"
  if (currentMillis - previousMillis >= interval) {
    // zde se provadi podminka po ubehnuti casoveho "intervalu"
    // predchozi cas se srovna s aktualnim, aby se mohlo pokracovat v hlidani intervalu
    // tim ze se promenne "srovnaji" jakoby "vyresetujeme" stopky
    previousMillis = currentMillis;

    // zde zjistime posledni stav LED a podle jejiho stavu ho zmenime - jen promennou "ledState"
    if (ledState == LOW) {
      ledState = HIGH;
    } else {
      ledState = LOW;
    }

    // zmenime stav LED podle promenne ledState
    digitalWrite(LED_BUILTIN, ledState);
  }
}
Editor is loading...