Advertisement
Guest User

leak-test

a guest
Oct 16th, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.30 KB | None | 0 0
  1. const byte BOTAO = 2;
  2. const byte INDUTIVO = 3;
  3. const byte CILINDROGRANDE = 4;
  4. const byte CILINDROPEQUENO = 5;
  5.  
  6. unsigned long botaoPressionadoMillis;
  7. unsigned long releAcionado;
  8. unsigned long acionarCilindroGrande = 000;
  9. unsigned long acionarCilindroPequeno = 4000;
  10. unsigned long desacionarCilindroPequeno = 9000;
  11. unsigned long desacionarCilindroGrande = 12000;
  12.  
  13. bool cilindroGdacionado = false;
  14. bool cilindroGdestado = false;
  15. bool cilindroPqacionado = false;
  16. bool cilindroPqestado = false;
  17. int val;                        // variable for reading the pin status
  18. int val2;                       // variable for reading the delayed/debounced status
  19. int botaoEstado;                // variable to hold the button state
  20.  
  21. byte comando = 0;
  22.  
  23. void setup() {//inicio do setup
  24.     pinMode(BOTAO, INPUT_PULLUP);
  25.     pinMode(INDUTIVO, INPUT);
  26.     pinMode(CILINDROGRANDE, OUTPUT);
  27.     pinMode(CILINDROPEQUENO, OUTPUT);
  28.     digitalWrite(CILINDROGRANDE, HIGH);
  29.     digitalWrite(CILINDROPEQUENO, HIGH);
  30. }//fim do setup
  31.  
  32. void loop() { //inicio do loop
  33.     unsigned long atualMillis = millis();
  34.     int estado1 = digitalRead(BOTAO);
  35.     int estado2 = digitalRead(INDUTIVO);
  36.  
  37.     if (estado1 == LOW && estado2 == LOW) {
  38.         comando = 0;
  39.     }
  40.  
  41.     else
  42.         if (estado1 == LOW && estado2 == HIGH) {
  43.             comando = 1;
  44.         }
  45.  
  46.     switch (comando) {
  47.     case 0:
  48.         if (digitalRead(BOTAO) == LOW) {
  49.             botaoPressionadoMillis = atualMillis;
  50.             cilindroGdacionado = true;
  51.             cilindroPqacionado = true;
  52.         }
  53.  
  54.         if (cilindroGdacionado) {
  55.             if ((unsigned long)(atualMillis - botaoPressionadoMillis) >= acionarCilindroGrande) {
  56.                 digitalWrite(CILINDROGRANDE, LOW);
  57.                 cilindroGdestado = true;
  58.                 releAcionado = atualMillis;
  59.                 cilindroGdacionado = false;
  60.             }
  61.         }
  62.  
  63.         if (cilindroPqacionado) {
  64.             if ((unsigned long)(atualMillis - botaoPressionadoMillis) >= acionarCilindroPequeno) {
  65.                 digitalWrite(CILINDROPEQUENO, LOW);
  66.                 cilindroPqestado = true;
  67.                 releAcionado = atualMillis;
  68.                 cilindroPqacionado = false;
  69.             }
  70.         }
  71.  
  72.         if (cilindroGdestado) {
  73.             if ((unsigned long)(atualMillis - releAcionado) >= desacionarCilindroGrande) {
  74.                 cilindroGdestado = false;
  75.                 digitalWrite(CILINDROGRANDE, HIGH);
  76.             }
  77.         }
  78.  
  79.         if (cilindroPqestado) {
  80.             if ((unsigned)(atualMillis - releAcionado) >= desacionarCilindroPequeno) {
  81.                 cilindroPqestado = false;
  82.                 digitalWrite(CILINDROPEQUENO, HIGH);
  83.             }
  84.         }
  85.  
  86.         break;
  87.  
  88.     case 1:
  89.         if (digitalRead(BOTAO) == LOW) {
  90.             botaoPressionadoMillis = atualMillis;  
  91.             cilindroGdacionado = true;
  92.             cilindroPqacionado = true;
  93.         }
  94.  
  95.         if (cilindroGdacionado) {
  96.             if ((unsigned long)(atualMillis - botaoPressionadoMillis) >= acionarCilindroGrande) {
  97.                 digitalWrite(CILINDROGRANDE, LOW);
  98.                 cilindroGdestado = false;
  99.                 releAcionado = atualMillis;
  100.                 cilindroGdacionado = false;
  101.             }
  102.         }
  103.  
  104.         break;
  105.     }
  106. }//fim do loop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement