#define LED1 3 #define LED2 4 #define LED1_PERIODA 500 #define LED2_PERIODA 123 unsigned long _led1_cas; // promenna s aktualni hodnotou casove znacky (32b) unsigned long _led2_cas; // promenna s aktualni hodnotou casove znacky (32b) void setup() { pinMode(LED1, OUTPUT); // nastaveni pinu 2 jako vystup pinMode(LED2, OUTPUT); // nastaveni pinu 3 jako vystup _led1_cas = millis(); // ulozeni aktualniho casu jako casove znacky _led2_cas = millis(); // ulozeni aktualniho casu jako casove znacky } void loop() { if(millis() - _led1_cas >= LED1_PERIODA) { // je-li doba od posledni akce >= perioda digitalWrite(LED1, !digitalRead(LED1)); // zmen hodnotu vystupu _led1_cas += LED1_PERIODA; // posun casovou znacku o 500ms } if(millis() - _led2_cas >= LED2_PERIODA) { // je-li doba od posledni akce >= perioda digitalWrite(LED2, !digitalRead(LED2)); // zmen hodnotu vystupu _led2_cas += LED2_PERIODA; // posun casovou znacku o 250ms } }