Advertisement
PowerTGS440

Simple Arduino Thread

Feb 26th, 2021
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.35 KB | None | 0 0
  1. #define TERMINAL 1
  2. #define USB_SPEED 9600
  3.  
  4. // -------------------------------------------------------------------------------------------------- //
  5. // --- V A R I A B L E    -    Z M I E N N E   D L A   Z A D A Ń   C Z A S O W Y C H              --- //
  6. // -------------------------------------------------------------------------------------------------- //
  7.                                                                                                       //
  8. unsigned long czasZERO = 0;                 // --- czas ZERO dla funkcji MILLIS() ------------------- //
  9.                                                                                                       //
  10. unsigned long czas01mt = 0;                 // --- czas01m dla sprawdzania co 1 minutę -------------- //
  11. unsigned long timeout1 = 0;                 // --- timeout dla czas01mt------------------------------ //
  12.                                                                                                       //
  13. unsigned long czas10mt = 0;                 // --- czas10m dla sprawdzania co 10 minut -------------- //
  14. unsigned long timeout2 = 0;                 // --- timeout dla czas10mt ----------------------------- //
  15.                                                                                                       //
  16. unsigned long czas01ht = 0;                 // --- czas01ht dla sprawdzania co 60 minut ------------- //
  17. unsigned long timeout3 = 0;                 // --- timeout dla czas60mt ----------------------------- //
  18.                                                                                                       //
  19. unsigned long czas06ht = 0;                 // --- czas06ht dla sprawdzania co 06 godzin ------------ //
  20. unsigned long timeout4 = 0;                 // --- timeout dla czas06ht ----------------------------- //
  21.                                                                                                       //
  22. // -------------------------------------------------------------------------------------------------- //
  23. // --- S E T U P     M A I N   S E C T I O N                                                      --- //
  24. // -------------------------------------------------------------------------------------------------- //
  25. void setup()                                                                                          //
  26. {                                                                                                     //
  27.     #if TERMINAL                                                                                      //
  28.         Serial.begin(USB_SPEED);                                       // set speed USB          ---- //
  29.     #endif                                                                                            //
  30. }                                                                                                     //
  31. // -------------------------------------------------------------------------------------------------- //
  32. // --- L O O P                                                                                    --- //
  33. // -------------------------------------------------------------------------------------------------- //
  34. void loop()                                                                                           //
  35. {                                                                                                     //                  
  36.     czasZERO = millis();                                                                              //
  37.     czas01mt = czasZERO - timeout1;                                        // 01 minuta    ---------- //
  38.     czas10mt = czasZERO - timeout2;                                        // 10 minut     ---------- //
  39.     czas01ht = czasZERO - timeout3;                                        // 60 minut     ---------- //
  40.     czas06ht = czasZERO - timeout4;                                        // 06 godzin    ---------- //
  41.    
  42.     // ---------------------------------------------------------------------------------------------- //
  43.     // --- wykonaj co 1 minutę ---------------------------------------------------------------------- //  
  44.     if(czas01mt >= 60000UL)                                                                  
  45.     {                                                                                        
  46.     Demo_1m();
  47.         timeout1 = czasZERO;    
  48.     }
  49.     // ---------------------------------------------------------------------------------------------- //
  50.     // --- wykonaj : co 10 minut -------------------------------------------------------------------- //
  51.     if(czas10mt >= 600000UL)                                                                  
  52.     {                                                                                        
  53.         Demo_10m();
  54.         timeout2 = czasZERO;
  55.     }
  56.     // ---------------------------------------------------------------------------------------------- //
  57.     // --- wykonaj : co 1 godzinę ------------------------------------------------------------------- //
  58.     if(czas01ht >= 3600000UL)                                                              
  59.     {            
  60.         Demo_1h();
  61.         timeout3 = czasZERO;
  62.     }  
  63.     // ---------------------------------------------------------------------------------------------- //
  64.     // --- wykonaj : co 6 godzin -------------------------------------------------------------------- //
  65.     if(czas06ht >= 21600000UL)
  66.     {                        
  67.     Demo_6h();
  68.         timeout4 = czasZERO;  
  69.     }                                                                                  
  70.   // -------------------- KONIEC ZADAŃ wg. CZASU który upłynął ------------------------------------ //
  71. }      
  72.  
  73. // --- Funkcje wywoływane po upływie określonego czasu ---------------------------------------------- //
  74.  
  75. void Demo_1m()
  76. {
  77.   #if TERMINAL  
  78.       Serial.println("Jestem w Demo_1m, ta funkcja wywołuje się co 60 sekund.");
  79.   #endif
  80. }
  81.  
  82. void Demo_10m()
  83. {
  84.   #if TERMINAL  
  85.       Serial.println("Jestem w Demo_10m, ta funkcja wywołuje się co 10 minut.");
  86.   #endif
  87. }
  88.  
  89. void Demo_1h()
  90. {
  91.   #if TERMINAL  
  92.       Serial.println("Jestem w Demo_1h, ta funkcja wywołuje się co 1 godzinę.");
  93.   #endif
  94. }
  95.  
  96. void Demo_6h()
  97. {
  98.   #if TERMINAL  
  99.       Serial.println("Jestem w Demo_6h, ta funkcja wywołuje się co 6 godzin.");
  100.   #endif
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement