RuiViana

Venti5

Apr 9th, 2018
152
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define LED1 2    //Define a constante LED1
  2. #define LED2 3    //Define a constante LED2
  3. #define LED3 4    //Define a constante LED3
  4. #define LED4 5    //Define a constante LED4
  5. #define BOT1 8    //Define a constante BOT1
  6. #define BOT2 9    //Define a constante BOT2
  7.  
  8. // LED em 0 = LED desligado
  9.  
  10. // LED3 off LED4  off     velocidade media
  11. // LED3 off LED4  on      velocidade maxima
  12. // LED3 on  LED4  off     velocidade minima
  13. // LED3 on  LED44 on      velocidade minima
  14.  
  15. int aperteiB1 = 0;
  16. int aperteiB2 = 0;
  17. int ventLigado = 0;
  18. //--------------------------------
  19. void setup()      //Função setup
  20. {
  21.   Serial.begin(9600);
  22.   pinMode(BOT1, INPUT_PULLUP);        //Configura o pino 8 como entrada
  23.   pinMode(BOT2, INPUT_PULLUP);        //Configura o pino 9 como entrada
  24.   pinMode(LED1, OUTPUT);              //Configura o pino 2 como saída
  25.   pinMode(LED2, OUTPUT);              //Configura o pino 3 como saída
  26.   pinMode(LED3, OUTPUT);              //Configura o pino 4 como saída
  27.   pinMode(LED4, OUTPUT);              //Configura o pino 5 como saída
  28. }
  29. //--------------------------------
  30. void loop()
  31. {
  32.   if (digitalRead(BOT1) == LOW)               // Se BOT1 foi pressionado
  33.   {
  34.     delay(30);                                // Debouncing
  35.     if (digitalRead(BOT1) == HIGH)            // Se BOT1 foi liberado
  36.     {
  37.       aperteiB1++;                            // Incrementa controle do BOT1
  38.       if (aperteiB1 > 3) aperteiB1 = 0;       // Se chegou a 3 volte a 0
  39.       aperteiB2 = 0;                          // Inicia emn baixa
  40.     }
  41.   }
  42.   if (aperteiB1 == 0)                         // Se controle for 0
  43.   { //                                        // Desligue ventilador
  44.     digitalWrite(LED1, LOW);                  // Desliga K1
  45.     digitalWrite(LED2, LOW);                  // Desliga K2
  46.     digitalWrite(LED3, LOW);                  // Desliga K3
  47.     ventLigado = 0;                           // Informa ventilador desligado
  48.     digitalWrite(LED4, LOW);
  49.   }
  50.   if (aperteiB1 == 1)                         // Se controle for 1
  51.   { //                                        // Gira para direita
  52.     digitalWrite(LED2, LOW);                  // Desliga K2
  53.     digitalWrite(LED1, HIGH);                 // Liga K1
  54.     if (aperteiB2 == 0)                       // Se foi religado
  55.       digitalWrite(LED3, HIGH);               // Liga K3
  56.     ventLigado = 1;                           // Informa ventilador ligado
  57.   }
  58.   if (aperteiB1 == 2)                         // Se controle for 2
  59.   { //                                        // Desligue ventilador
  60.     digitalWrite(LED1, LOW);                  // Desliga K1
  61.     digitalWrite(LED2, LOW);                  // Desliga K2
  62.     digitalWrite(LED3, LOW);                  // Desliga K3
  63.     ventLigado = 0;                           // Informa ventilador desligado
  64.     digitalWrite(LED4, LOW);
  65.   }
  66.   if (aperteiB1 == 3)                         // Se controle for 3
  67.   { //                                        // Gira para esquerda
  68.     digitalWrite(LED1, LOW);                  // Desliga K1
  69.     digitalWrite(LED2, HIGH);                 // Liga K2
  70.     if (aperteiB2 == 0)                       // Se foi religado
  71.       digitalWrite(LED3, HIGH);               // Liga K3
  72.     ventLigado = 1;                           // Informa ventilador ligado
  73.  
  74.   }
  75.   if (digitalRead(BOT2) == LOW)               // Se BOT2 foi pressionado
  76.   {
  77.     delay(30);                                // Debouncing
  78.     if (digitalRead(BOT2) == HIGH)            // Se BOT2 foi liberado
  79.     {
  80.       aperteiB2++;                            // Incrementa controle do BOT2
  81.       if (aperteiB2 > 2) aperteiB2 = 0;       // Se chegou a 3 volte a 0
  82.       Serial.println(aperteiB2);
  83.     }
  84.   }
  85.   if (ventLigado == 1)
  86.   {
  87.     if (aperteiB2 == 0)                         // Se controle for 0
  88.     {
  89.       digitalWrite(LED3, HIGH);                    // velocidade baixa
  90.       digitalWrite(LED4, LOW);
  91.     }
  92.     if (aperteiB2 == 1)                         // Se controle for 1
  93.     {
  94.       digitalWrite(LED3, LOW);                    // velocidade media
  95.       digitalWrite(LED4, LOW);
  96.     }
  97.     if (aperteiB2 == 2)                         // Se controle for 2
  98.     {
  99.       digitalWrite(LED3, LOW);                    // velocidade alta
  100.       digitalWrite(LED4, HIGH);
  101.     }
  102.   }
  103. }
RAW Paste Data