Advertisement
RuiViana

Hidra_Control

Mar 5th, 2017
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.14 KB | None | 0 0
  1.  
  2. int reposicionameto = 0;
  3. int desligar_reposicionameto = 1;
  4.  
  5. //                                                      //MOTOR
  6. int sinalparaorele = 8;                                 //define a porta para o acionamento do rele
  7. int pinobotao = 2;                                      //Porta utilizada para o botão de acionamento
  8. int leitura;                                            //Armazena informações sobre a leitura do botão
  9. int estadorele = 0;                                     //Armazena o estado do relé (ligado/desligado)
  10. //                                                      //MAQUINA
  11. int EL_AV = 9;                                          // variável electroválvula avanço
  12. int EL_RC = 10;                                         // variável electroválvula recuo
  13. int SENSOR = 3;                                         // sensor
  14.  
  15. int etapa = 0;                                          // etapa
  16. //------------------------------------------------
  17. void setup()
  18. {
  19.   Serial.begin(9600);
  20.   //                                                    //MOTOR
  21.   pinMode(sinalparaorele, OUTPUT);                      //Define o pino como saida (sinal para o rele)
  22.   pinMode(pinobotao, INPUT);                            //Define o pino como entrada (Pino do botao)
  23. //  pinMode(pinobotao, INPUT_PULLUP);                            // Meu teste
  24.   //                                                    //MAQUINA
  25.   pinMode(EL_AV, OUTPUT);                               // declaração entradas / saídas
  26.   pinMode(EL_RC, OUTPUT);                                     // Meu teste
  27.   pinMode(SENSOR, INPUT);
  28. //  pinMode(SENSOR, INPUT_PULLUP);
  29.  
  30.   digitalWrite(EL_AV, LOW);                             // limpar saídas
  31.   digitalWrite(EL_RC, LOW);
  32.   digitalWrite(sinalparaorele,LOW);
  33. }
  34. //------------------------------------------------
  35. void loop()
  36. {
  37.   //                                                    //MOTOR
  38.   leitura = digitalRead(pinobotao);
  39.   if (leitura != 0)
  40.   {
  41.     while (digitalRead(pinobotao) != 0)
  42.     {
  43.       delay(100);
  44.     }
  45.     estadorele = !estadorele;                           // Inverte o estado
  46.     digitalWrite(sinalparaorele, estadorele);
  47.   }
  48.   if  (digitalRead(sinalparaorele) == HIGH)
  49.   {
  50.     reposicionameto = 1;
  51.   }
  52.   if ((digitalRead(sinalparaorele) == HIGH) && (reposicionameto = 1))
  53.   {
  54.     digitalWrite(EL_RC, HIGH);                          // reposicionamento inicial
  55.     delay(5000);
  56.     digitalWrite(EL_RC, LOW);
  57.     desligar_reposicionameto = 0;
  58.   }
  59.   //                                                    //MAQUINA
  60.   Serial.println(etapa);
  61.   if ((digitalRead(SENSOR) == HIGH) && (etapa == 0) && (digitalRead(sinalparaorele) == HIGH))      // 0ª etapa
  62.   {
  63.     digitalWrite(EL_AV, HIGH);
  64.     etapa = 1;
  65.   }
  66.   if ((digitalRead(SENSOR) == LOW) && (etapa == 1) && (digitalRead(sinalparaorele) == HIGH))      // 1ª etapa
  67.   {
  68.     digitalWrite(EL_AV, LOW);
  69.     etapa++;
  70.   }
  71.   if (digitalRead(SENSOR) == LOW && etapa == 2 && digitalRead(sinalparaorele) == HIGH)          // 2ª etapa
  72.   {
  73.     digitalWrite(EL_RC, HIGH);
  74.     delay(3000);
  75.     digitalWrite(EL_RC, LOW);
  76.     etapa = 0;
  77.   }
  78.   delay(1);
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement