Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // připravené proměné pro uložení času
- // kdy byly jednotlivé bloky v programu vykonány
- // jsou tu 3, Vy můžete nastavit kolik chcete
- long lastJob1, lastJob2 = 0, lastJob3 = 0;
- int LED1 = 9;
- int LED2 = 10;
- int LED3 = 11;
- void setup() {
- pinMode( 9, OUTPUT);
- pinMode(10, OUTPUT);
- pinMode(11, OUTPUT);
- digitalWrite(LED1, HIGH);
- digitalWrite(LED2, HIGH);
- digitalWrite(LED3, HIGH);
- }
- void loop() {
- // když celkový počet milisekund od startu Arduina
- // je větší jak poslední uložená hodnota, kdy byla část
- // programu vykonána s přičtením intervalu 1000ms
- if (millis() > (1000 + lastJob1))
- {
- // zde bude kód programu, který se v mém případě
- // vykoná každou 1 vteřinu (1000 ms)
- // když je digitální pin 0 tak na něj zapiš 1
- if (digitalRead(LED1) == 0) digitalWrite(LED1, HIGH);
- // jinak zapiš 0
- else digitalWrite(LED1, LOW);
- // toto je důležité, musíme uložit čas
- // kdy byla vykonána tato část programu
- lastJob1 = millis();
- }
- // tyto další části programu jsou stejné
- // v předchozím případě pouze s jiným intervalem
- // část programu, která se vykoná každé 2 sekundy
- if (millis() > (3000 + lastJob2))
- {
- if (digitalRead(LED2) == 0) digitalWrite(LED2, HIGH);
- else digitalWrite(LED2, LOW);
- lastJob2 = millis();
- }
- // část programu, která se vykoná každé 3 sekundy
- if (millis() > (5000 + lastJob3))
- {
- if (digitalRead(LED3) == 0) digitalWrite(LED3, HIGH);
- else digitalWrite(LED3, LOW);
- lastJob3 = millis();
- }
- // zde napišeme část programu, která se bude vykonávat bez ohledu
- // na čas vždy, kdy k němu program dojde ve cyklu loop()
- // ja jsem si to otestoval a sem se program dostane
- // každých 1,136 ms
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement