ptrvlck icon

Ledky 2

ptrvlck | PRO | 12/30/20 06:31:25 PM UTC | 0 ⭐ | 1712 👁️ | Never ⏰ | []
Arduino |

1.55 KB

|

None

|

0 👍

/

0 👎

long prevMillis1=0; // pro ledky
long prevMillis2=0; // pro tlacitko
byte akce=0; // akce casovace1 - 150ms
byte ledky=2; // pomocna pro ledky
int buttVal; // hodnota tlacitka
 
void setup() {
  Serial.begin(9600);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  prevMillis1=millis(); // ulozeni predchoziho stavu
  prevMillis2=millis(); // ulozeni predchoziho stavu
}
 
void loop() {
  // Casovani 150ms
  if (prevMillis1+150 < millis()) {
    prevMillis1=millis(); // aktualizujeme hodnotu ulozene predchozi hodnoty millis
    akce=1; // bude neco s ledkama dale v loopu vyhodnocene
  }
 
  // Casovani 50ms pro tlacitko
  if (prevMillis2+50 < millis()) {
    prevMillis2=millis(); // aktualizujeme hodnotu ulozene predchozi hodnoty millis
    buttVal=analogRead(A0); // nacteme tlacitko
    if (buttVal > 500) { // zde si uprav hodnotu na kterou to ma reagovat - tady jen z duvodu vypisu
      Serial.print("Tlacitko hodnota");
      Serial.println(buttVal);
    }
  }
 
  // akce ledek
  if (akce==1) {
    akce=0; // nulujeme hodnotu promenne aby se v danem prubehu provedla jen 1x
    // Rozsveceni ledek - cyklus 2 az 5 - piny kde mas ledky
    for (byte a=2; a<=5; a++) {
      if (a==ledky) // aktualni co ma svitit je v promenne "ledky"
        digitalWrite(a, HIGH); // tahle bude svitit
      else
        digitalWrite(a, LOW); // tahle svitit nebude
    }
    ledky++; // zvysime promennou ledky o 1
    if (ledky==6) ledky=2; // pokud uz je 6 tak to je moc a jedeme na zacatek od 2
  }
}

Comments