Jump to content
  • ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Leidsman217
      Ola a todos, tenho uma duvida quanto a programação de Arduíno. Gostaria de saber se o seguinte código foi escrito de forma correta  ? Agradeço desde já a atenção de todos !
       
         
    • By JPMOFARDINI
      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á!
    • By Mateusrosa1939
      Toda hora faço esse programa para arduino e coloco a variável para ler o. Valor e imprimir a operação mas está dando erro será quem alguém poderia me auxiliar? Arquivo está em Word 

    • By Numca
      int inputs[6] = {48,49,50,51,52,53};
      int outputs[12] = {0,1,2,3,4,5,6,7,8,9,10,11};
      int x;
       
      void setup() {
      for (x = 0; x <= 5; x = x + 1); {
        pinMode(inputs[x], INPUT_PULLUP);
      }
      for (x = 0; x <= 11; x = x + 1); {
        pinMode(outputs[x], OUTPUT);
      }
      }
       
      O trecho de programação acima era suposto que definisse as portas do primeiro array como entradas, e a do segundo array, como saída. Porém além de não acontecer, portas erradas são selecionadas. Gostaria de saber onde eu errei, grato desde já.
    • By Nico Las
      eu fiz o seguinte código, ele funciona com os botões mas o sensor não. O projeto é o seguinte, aperta o botão1 e liga o motor, para fazer a volta dele pode ser, ou pelo sensor ou pelo botão2
        #include <Stepper.h>   int bot1 = 3; int bot2 = 4; int PinSensor = 0; int chuva; //sensor Stepper myStepper(2048, 8,10,9,11);      void setup() {        pinMode (bot1, INPUT);   pinMode (bot2, INPUT);   myStepper.setSpeed(10);    }          void loop() {   chuva = analogRead(PinSensor);    if (digitalRead(bot1) == HIGH && digitalRead(bot2) == LOW){   myStepper.step(-2048);     if(chuva<500){  //valor testado       myStepper.step(2048);     } } if (digitalRead(bot1) == LOW && digitalRead(bot2) == HIGH){  myStepper.step(2048);  }     }  
×

Important Information

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