elektronek

David Haisman - ledky

Dec 30th, 2020
914
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. long prevMillis1=0; // pro ledky
  2. long prevMillis2=0; // pro tlacitko
  3. byte akce=0; // akce casovace1 - 150ms
  4. byte ledky=2; // pomocna pro ledky
  5. int buttVal; // hodnota tlacitka
  6.  
  7. void setup() {
  8.   Serial.begin(9600);
  9.   pinMode(2, OUTPUT);
  10.   pinMode(3, OUTPUT);
  11.   pinMode(4, OUTPUT);
  12.   pinMode(5, OUTPUT);
  13.   prevMillis1=millis(); // ulozeni predchoziho stavu
  14.   prevMillis2=millis(); // ulozeni predchoziho stavu
  15. }
  16.  
  17. void loop() {
  18.   // Casovani 150ms
  19.   if (prevMillis1+150 < millis()) {
  20.     prevMillis1=millis(); // aktualizujeme hodnotu ulozene predchozi hodnoty millis
  21.     akce=1; // bude neco s ledkama dale v loopu vyhodnocene
  22.   }
  23.  
  24.   // Casovani 50ms pro tlacitko
  25.   if (prevMillis2+50 < millis()) {
  26.     prevMillis2=millis(); // aktualizujeme hodnotu ulozene predchozi hodnoty millis
  27.     buttVal=analogRead(A0); // nacteme tlacitko
  28.     if (buttVal > 500) { // zde si uprav hodnotu na kterou to ma reagovat - tady jen z duvodu vypisu
  29.       Serial.print("Tlacitko hodnota");
  30.       Serial.println(buttVal);
  31.     }
  32.   }
  33.  
  34.   // akce ledek
  35.   if (akce==1) {
  36.     akce=0; // nulujeme hodnotu promenne aby se v danem prubehu provedla jen 1x
  37.     // Rozsveceni ledek - cyklus 2 az 5 - piny kde mas ledky
  38.     for (byte a=2; a<=5; a++) {
  39.       if (a==ledky) // aktualni co ma svitit je v promenne "ledky"
  40.         digitalWrite(a, HIGH); // tahle bude svitit
  41.       else
  42.         digitalWrite(a, LOW); // tahle svitit nebude
  43.     }
  44.     ledky++; // zvysime promennou ledky o 1
  45.     if (ledky==6) ledky=2; // pokud uz je 6 tak to je moc a jedeme na zacatek od 2
  46.   }
  47. }
RAW Paste Data