Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int reposicionameto = 0;
- int desligar_reposicionameto = 1;
- // //MOTOR
- int sinalparaorele = 8; //define a porta para o acionamento do rele
- int pinobotao = 2; //Porta utilizada para o botão de acionamento
- int leitura; //Armazena informações sobre a leitura do botão
- int estadorele = 0; //Armazena o estado do relé (ligado/desligado)
- // //MAQUINA
- int EL_AV = 9; // variável electroválvula avanço
- int EL_RC = 10; // variável electroválvula recuo
- int SENSOR = 3; // sensor
- int etapa = 0; // etapa
- //------------------------------------------------
- void setup()
- {
- Serial.begin(9600);
- // //MOTOR
- pinMode(sinalparaorele, OUTPUT); //Define o pino como saida (sinal para o rele)
- pinMode(pinobotao, INPUT); //Define o pino como entrada (Pino do botao)
- // pinMode(pinobotao, INPUT_PULLUP); // Meu teste
- // //MAQUINA
- pinMode(EL_AV, OUTPUT); // declaração entradas / saídas
- pinMode(EL_RC, OUTPUT); // Meu teste
- pinMode(SENSOR, INPUT);
- // pinMode(SENSOR, INPUT_PULLUP);
- digitalWrite(EL_AV, LOW); // limpar saídas
- digitalWrite(EL_RC, LOW);
- digitalWrite(sinalparaorele,LOW);
- }
- //------------------------------------------------
- void loop()
- {
- // //MOTOR
- leitura = digitalRead(pinobotao);
- if (leitura != 0)
- {
- while (digitalRead(pinobotao) != 0)
- {
- delay(100);
- }
- estadorele = !estadorele; // Inverte o estado
- digitalWrite(sinalparaorele, estadorele);
- }
- if (digitalRead(sinalparaorele) == HIGH)
- {
- reposicionameto = 1;
- }
- if ((digitalRead(sinalparaorele) == HIGH) && (reposicionameto = 1))
- {
- digitalWrite(EL_RC, HIGH); // reposicionamento inicial
- delay(5000);
- digitalWrite(EL_RC, LOW);
- desligar_reposicionameto = 0;
- }
- // //MAQUINA
- Serial.println(etapa);
- if ((digitalRead(SENSOR) == HIGH) && (etapa == 0) && (digitalRead(sinalparaorele) == HIGH)) // 0ª etapa
- {
- digitalWrite(EL_AV, HIGH);
- etapa = 1;
- }
- if ((digitalRead(SENSOR) == LOW) && (etapa == 1) && (digitalRead(sinalparaorele) == HIGH)) // 1ª etapa
- {
- digitalWrite(EL_AV, LOW);
- etapa++;
- }
- if (digitalRead(SENSOR) == LOW && etapa == 2 && digitalRead(sinalparaorele) == HIGH) // 2ª etapa
- {
- digitalWrite(EL_RC, HIGH);
- delay(3000);
- digitalWrite(EL_RC, LOW);
- etapa = 0;
- }
- delay(1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement