Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2015
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.23 KB | None | 0 0
  1. //Feito por Rafael Mugnol
  2.  
  3. #include "Servo.h"
  4.  
  5. Servo s;
  6. const int chave = 12;
  7. int aux;
  8. boolean pos;
  9. int i = 40;
  10. int f = 142;
  11.  
  12. int commands[][300] =
  13.     {
  14.         {f, 300}, // seq0
  15.         {100, 1000, f, 300}, // seq1
  16.         {f, 2000}, // seq2
  17.         {84, 50, 80, 50, 84, 50, 80, 50, 84, 50, 80, 50, 84, 50, 80, 50, 80, 50, 80, 50, 84, 50, 80, 50, 84, 50, 80, 50, 84, 50, 80, 50, 84, 50, 80, 50, 84, 50, 80, 50, 84, 50, 80, 50, 84, 50, 80, 50, 84, 50, 80, 50, 84, 50, i, 1000, f, 300}, // seq 3
  18.         {120, 1000, i, 2000, f, 300}, // seq4
  19.         {70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 75, 1000, f, 300}, // seq5
  20.         {}, // seq6 - populado externamente
  21.         {f, 300}, // seq7 - igual ao seq0
  22.         {70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, i, 1000, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, 60, 50, 70, 50, f, 300}, // seq8
  23.         {100, 1000, f, 300}, // seq9 - igual ao seq1
  24.         {120, 200, 110, 400, 110, 400, 110, 400, 50, 500, 90, 100, 85, 100, 90, 100, 85, 100, 90, 100, 85, 100, 90, 100, 85, 100, f, 300}, // seq10
  25.         {5000, f, 300}     
  26.     };
  27.  
  28. void popularSeq6()
  29. {
  30.     int ley = 0; int index = 0;
  31.     for (ley = i; ley < f; ley++){
  32.         commands[6][index++] = ley;
  33.         commands[6][index++] = 20;
  34.     }
  35. }
  36.    
  37. void setup(){
  38.     popularSeq6();
  39.  
  40.     s.attach(8);
  41.     aux = 0;
  42.     pinMode(13, OUTPUT);
  43.     pinMode(chave,INPUT);
  44.    
  45.     if (digitalRead(chave) == HIGH)
  46.     {
  47.         pos = false;
  48.     }
  49.     else
  50.     {
  51.         pos = true;
  52.     }
  53.    
  54. }
  55.  
  56. void processar(int seq[])
  57. {
  58.     for(int i = 0; i < 300; i++)
  59.     {
  60.         if (seq[i] == 0) break;
  61.        
  62.         if (i % 2 == 0)
  63.             s.write(seq[i]);
  64.         else
  65.             delay(seq[i]);
  66.     }
  67. }
  68.  
  69. void loop()
  70. {
  71.     if(pos == false || true)
  72.     {
  73.         delay(10);
  74.         if (digitalRead(chave) == HIGH)
  75.         {
  76.             s.write(i);
  77.         }
  78.         else
  79.         {
  80.             delay(500);
  81.             processar(commands[aux]);
  82.             aux++;
  83.             if(aux>11) aux=0;
  84.         }
  85.     }
  86.     else
  87.     {
  88.         delay(10);
  89.         if (digitalRead(chave) == HIGH)
  90.         {
  91.             s.write(i);
  92.         }
  93.         else
  94.         {
  95.             s.write(f);
  96.         }
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement