Jump to content

JPMOFARDINI

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About JPMOFARDINI

  1. Boa noite, Fiz um código no Arduíno está funcionando tudo normalmente só gostaria de saber como eu faço um comando para desligar e um para ligar todos os reles #include <IRremote.h> const int RECV_PIN = 2; // INCUI O PINO QUE SERÁ USADO NO LED RECEPTOR IRrecv irrecv(RECV_PIN); decode_results results; const int RelayIn1Pin = 3; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN1 const int RelayIn2Pin = 4; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN2 const int RelayIn3Pin = 5; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN3 const int RelayIn4Pin = 6; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN4 const int RelayIn5Pin = 7; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN5 const int RelayIn6Pin = 8; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN6 const int RelayIn7Pin = 9; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN7 const int RelayIn8Pin = 10; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN8 int statusRelayIn1Pin = 0; int statusRelayIn2Pin = 0; int statusRelayIn3Pin = 0; int statusRelayIn4Pin = 0; int statusRelayIn5Pin = 0; int statusRelayIn6Pin = 0; int statusRelayIn7Pin = 0; int statusRelayIn8Pin = 0; void setup() { irrecv.enableIRIn(); irrecv.blink13(true); pinMode(RelayIn1Pin, OUTPUT); //DEFINE O PINO COMO SAÍDA pinMode(RelayIn1Pin, INPUT_PULLUP); //DEFINE O PINO COMO ENTRADA / "_PULLUP" É PARA ATIVAR O RESISTOR INTERNO //DO ARDUINO PARA GARANTIR QUE NÃO EXISTA FLUTUAÇÃO ENTRE 0 (LOW) E 1 (HIGH) pinMode(RelayIn1Pin, HIGH); //MÓDULO RELÉ INICIA DESLIGADO pinMode(RelayIn2Pin, OUTPUT); pinMode(RelayIn2Pin, INPUT_PULLUP); pinMode(RelayIn2Pin, HIGH); pinMode(RelayIn3Pin, OUTPUT); pinMode(RelayIn3Pin, INPUT_PULLUP); pinMode(RelayIn3Pin, HIGH); pinMode(RelayIn4Pin, OUTPUT); pinMode(RelayIn4Pin, INPUT_PULLUP); pinMode(RelayIn4Pin, HIGH); pinMode(RelayIn5Pin, OUTPUT); pinMode(RelayIn5Pin, INPUT_PULLUP); pinMode(RelayIn5Pin, HIGH); pinMode(RelayIn6Pin, OUTPUT); pinMode(RelayIn6Pin, INPUT_PULLUP); pinMode(RelayIn6Pin, HIGH); pinMode(RelayIn7Pin, OUTPUT); pinMode(RelayIn7Pin, INPUT_PULLUP); pinMode(RelayIn7Pin, HIGH); pinMode(RelayIn8Pin, OUTPUT); pinMode(RelayIn8Pin, INPUT_PULLUP); pinMode(RelayIn8Pin, HIGH); } void loop() { if (irrecv.decode(&results)) { switch (results.value) { case 0x807F728D: //Keypad button "1" if ((digitalRead(RelayIn1Pin) == HIGH) && (statusRelayIn1Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(RelayIn1Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusRelayIn1Pin = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } else { //SENÃO, FAZ if ((digitalRead(RelayIn1Pin) == LOW) && (statusRelayIn1Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(RelayIn1Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusRelayIn1Pin = 0; //VARIÁVEL RECEBE O VALOR 0 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } } } switch (results.value) { case 0x807FB04F: //Keypad button "2" if ((digitalRead(RelayIn2Pin) == HIGH) && (statusRelayIn2Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(RelayIn2Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusRelayIn2Pin = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } else { //SENÃO, FAZ if ((digitalRead(RelayIn2Pin) == LOW) && (statusRelayIn2Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(RelayIn2Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusRelayIn2Pin = 0; //VARIÁVEL RECEBE O VALOR 0 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } } } switch (results.value) { case 0x807F30CF: //Keypad button "3" if ((digitalRead(RelayIn3Pin) == HIGH) && (statusRelayIn3Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(RelayIn3Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusRelayIn3Pin = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } else { //SENÃO, FAZ if ((digitalRead(RelayIn3Pin) == LOW) && (statusRelayIn3Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(RelayIn3Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusRelayIn3Pin = 0; //VARIÁVEL RECEBE O VALOR 0 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } } } switch (results.value) { case 0x807F52AD: //Keypad button "4" if ((digitalRead(RelayIn4Pin) == HIGH) && (statusRelayIn4Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(RelayIn4Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusRelayIn4Pin = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } else { //SENÃO, FAZ if ((digitalRead(RelayIn4Pin) == LOW) && (statusRelayIn4Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(RelayIn4Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusRelayIn4Pin = 0; //VARIÁVEL RECEBE O VALOR 0 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } } } switch (results.value) { case 0x807F906F: //Keypad button "5" if ((digitalRead(RelayIn5Pin) == HIGH) && (statusRelayIn5Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(RelayIn5Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusRelayIn5Pin = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } else { //SENÃO, FAZ if ((digitalRead(RelayIn5Pin) == LOW) && (statusRelayIn5Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(RelayIn5Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusRelayIn5Pin = 0; //VARIÁVEL RECEBE O VALOR 0 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } } } switch (results.value) { case 0x807F10EF: //Keypad button "6" if ((digitalRead(RelayIn6Pin) == HIGH) && (statusRelayIn6Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(RelayIn6Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusRelayIn6Pin = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } else { //SENÃO, FAZ if ((digitalRead(RelayIn6Pin) == LOW) && (statusRelayIn6Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(RelayIn6Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusRelayIn6Pin = 0; //VARIÁVEL RECEBE O VALOR 0 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } } } switch (results.value) { case 0x807F629D: //Keypad button "7" if ((digitalRead(RelayIn7Pin) == HIGH) && (statusRelayIn7Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(RelayIn7Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusRelayIn7Pin = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } else { //SENÃO, FAZ if ((digitalRead(RelayIn7Pin) == LOW) && (statusRelayIn7Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(RelayIn7Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusRelayIn7Pin = 0; //VARIÁVEL RECEBE O VALOR 0 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } } } switch (results.value) { case 0x807FA05F: //Keypad button "8" if ((digitalRead(RelayIn8Pin) == HIGH) && (statusRelayIn8Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(RelayIn8Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusRelayIn8Pin = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } else { //SENÃO, FAZ if ((digitalRead(RelayIn8Pin) == LOW) && (statusRelayIn8Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(RelayIn8Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusRelayIn8Pin = 0; //VARIÁVEL RECEBE O VALOR 0 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } } } irrecv.resume(); } } Se alguém puder me ajudar agradeço desde já!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.