Advertisement
baldengineer

millis example

Nov 28th, 2014
418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.97 KB | None | 0 0
  1. /*
  2. The index keeps track of the event in question
  3. The delay and Pin arrays hold timing and logic levels
  4. The last levels in the logic arrays mean nothing - they are just there
  5. to equal the number of elements with the timing array's "255" which resets the system.
  6. */
  7. // Pin 13 has an LED connected on most Arduino boards.
  8. // give it a name:
  9. int led13 = 13;
  10. int led9 = 9;
  11. int index=0;
  12. int Delays[] =     {1,5,60, 5, 30, 5, 300, 5, 390, 5, 1200, 5, 1140, 5, 1170, 5, 60, 5, 1260, 5, 180, 5, 1170, 5, 630, 5, 450, 5, 420, 5, 180, 5, 150, 5, 60, 5, 180, 5, 120, 5, 150, 5, 30, 5, 120, 5, 60, 5, 180, 5, 60, 5, 180, 5, 510, 5, 3510, 5, 360, 5, 6240, 5, 30, 5, 720, 5, 390, 5, 60, 5, 150, 5, 120, 5, 630, 5, 90, 5, 780, 5, 810, 5, 300, 5, 2790, 5, 1590, 5, 300, 5, 30, 5, 30, 5, 270, 5, 360, 5, 30, 5, 30, 5, 60, 5, 150, 5, 540, 5, 2910, 5, 30, 5, 150, 5, 30, 5, 30, 5, 120, 5, 30, 5, 30, 5, 30, 5, 5010, 5, 120, 5, 1170, 5, 660, 5, 2790, 5, 480, 5, 2100, 5, 240, 5, 2520, 5, 1110, 5, 1170, 5, 60, 5, 150, 5, 4530, 5, 300, 5, 30, 5, 2460, 5, 150, 5, 30, 5, 8160, 5, 8250, 5, 1770, 5, 10290, 5, 30, 5, 35910, 5, 7890, 5, 8190, 5, 6000, 5, 1290, 5, 90, 5, 30, 5, 30, 5, 255};
  13. bool level9[] = {true, false, false, false, false, false, false, true, false, true, false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, true, false, true, false, true, false, false, false, false, false, false, false, false, false, false, false, true, false, true, false, false, false, false, false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, true, false, false, false, false, false, false, false, false, false, true, false, false, false, true, false, false, false, false, false, false, false, true, false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, true, false, false, false, true, false, false, false, false, false, true, false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, true, false, true, false, false, false, false, false, true, false, true, false, true, false, true, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, true, false, false, false, false, false, true};
  14. bool level13[] = {true, false, false, true, false, true, false, false, false, false, true, false, false, true, false, false, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, false, false, false, false, false, false, false, false, true, false, true, false, true, false, true, false, true, false, false, false, false, false, true, false, true, false, false, false, true, false, false, false, true, false, true, false, true, false, true, false, true, false, true, false, false, false, false, false, true, false, true, false, true, false, true, false, false, false, true, false, false, false, true, false, true, false, true, false, false, false, false, false, true, false, false, false, true, false, true, false, true, false, true, false, true, false, false, false, true, false, false, false, true, false, false, false, true, false, true, false, false, false, false, false, true, false, false, false, true, false, true, false, true, false, true, false, false, false, false, false, true, false, true, false, false, false, false, false, false, false, false, false, true, false, true, false, false, false, true, false, true, false, true, false, true, false, true, false, false, false, true, false, false, false, true, false, true, false, false};
  15.  
  16. bool led13State = false;
  17. bool led9State = false;
  18.  
  19. unsigned long previousTime;
  20. unsigned long currentTime;
  21.  
  22. unsigned long previousSerialTime;
  23.  
  24.  
  25. // the setup routine runs once when you press reset:
  26. void setup() {                
  27.   Serial.begin(9600);
  28.   // initialize the digital pin as an output.
  29.   pinMode(led13, OUTPUT);  
  30.   pinMode(led9, OUTPUT);
  31.   previousTime = millis();
  32.  
  33. }
  34.  
  35.  
  36.  
  37. void loop() {
  38.         digitalWrite(led13, led13State);
  39.         digitalWrite(led9, led9State);  
  40.        
  41.         currentTime = millis();
  42.  
  43.         if (currentTime - previousSerialTime > 1000) {
  44.           previousSerialTime = currentTime;
  45.           Serial.print("index = ");
  46.           Serial.print(index);
  47.           Serial.print(", ");
  48.           Serial.print("currentTime - previousTime = ");
  49.           Serial.print((currentTime - previousTime));
  50.           Serial.print(", ");
  51.           Serial.print("timeout at: ");
  52.           Serial.println((Delays[index] * 2000UL));
  53.          
  54.         }
  55.          
  56.         while (currentTime - previousTime > (Delays[index] * 2000UL)) {
  57.           previousTime = currentTime;        
  58.           led13State = level13[index];
  59.           led9State = level9[index];
  60.          
  61.           index++;
  62.         }
  63.         if (index >= 255) index = 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement