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 } }