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 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);  }     }  
    • By Heitor jose
      Pessoal tudo certo? 
      Pessoal estou tentando imprimir uma variável que é recebida na variável "status" pelo método GET  vinda de um arduino no php com um servidor WAMP porém não consigo, criei uma rotina para imprimir a variável em um documento .txt e funcionou só que eu não consigo imprimir em  minha página, é retornado uma variável vazia, alguém tem algum conselho? 
       
      <?php
      $status = isset($_GET[ 'evento' ] )?$_GET['evento']:NULL; 
                                                                                                                           
      if($status === "") echo "a is an empty string\n";
      if($status === false) echo "a is false\n";
      if($status === null) echo "a is null\n";
      if(isset($status)) echo "a is set\n";
      if(!empty($status)) echo "a is not empty";
       
      /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

      ///////// Cria uma variavel que armazena a data e hora em que o pino mudou de status/////////////////////////////////////
                                                                                                                             //
      // o número "-3" tem como objetivo corrigir o fuso horário.                                                                                                 
      $timestamp = mktime(date("H")-3, date("i"), date("s"), date("m"), date("d"), date("Y"));                               //
      $data = gmdate("d/m/Y H:i:s", $timestamp);                                                                             //
      /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

      ///////// Cria um documento TXT para armazenar o status do botão e o momento em que foi acionado/////////////////////////
      // O parâmetro a é um comando da função fopen ele determina que ira abrir e esccrever em um arquivo txt                //
                                                                                                                                                                                                                                                                                                                                        
          $fp = fopen("bloco1.txt", "a");                                                                                    //
                                                                                                                             //
      // Escreve "exemplo de escrita" no bloco1.txt
          $escreve = fwrite($fp,"\n||============================== ||<br> \n||Evento:   $status  || Data: $data ||<br>");    //
                        
                                                                                                                                              
      // Fecha o arquivo
      fclose($fp);
      ?>
       
×

Important Information

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