como acrecentar um sensor PIR no projeto de IR. ( RESOLVIDO E FUNCIONANDO)

ola  eu gostaria e acrecentar um sensor de movimento PIR no meu projeto IR seno que já uso o projeto de IR para acender lâmpada porem eu gostaria e colocar o sensor PIR no corredor para acender a lâmpada do corredor a elétrica já esta feita só falta colocar o PIR no projeto de IR pra roar no arduino

#include <IRremote.h>  
int led = 8;
int RECV_PIN = 11;  
float armazenavalor;  
IRrecv irrecv(RECV_PIN);  
decode_results results;  
  
void setup()  
 pinMode(led, OUTPUT); 
  Serial.begin(9600);  
  irrecv.enableIRIn(); // Inicializa o receptor IR  
}  
   
void loop()  
{  
  if (irrecv.decode(&results))  
  {  
    
    Serial.println(results.value, HEX);  
    armazenavalor = (results.value);  
    if (armazenavalor == 0xFF30CF) //Verifica se a tecla 1 foi acionada  
    {  
     digitalWrite(led, HIGH); 
    }  
    if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada  
    {  
     digitalWrite(led, LOW);
    }  
    
  irrecv.resume(); //Le o próximo valor  
  }  
}  
RESOLVIDO E FUNCIONANDO  segue abaixo code

#include <IRremote.h>
  #define pirPin 2                      // Pino para o PIR
  #define  lamp1Pin 3                   // Define o pino para a lampada 1
  #define  lamp2Pin 4                   // Define o pino para a lampada 2
  #define  lamp3Pin 5                   // Define o pino para a lampada 3
  #define  lamp4Pin 6                   // Define o pino para a lampada 4
  #define  lamp5Pin 7                   // Define o pino para a lampada 5
  #define  lamp6Pin 8                   // Define o pino para a lampada 6
    
  int RECV_PIN = 11;                    // Entrada do sensor de Infra Red Remote Control
  float armazenavalor;                  // Variavel para guardar valor lido do Remote Control
  IRrecv irrecv(RECV_PIN);              // Função para receber Remote Control
  decode_results results;               // Decodifica o resultado
  
  void setup()
  {
    pinMode(pirPin, INPUT);             // Define o Pino PIR com entrada       
    pinMode(lamp1Pin,OUTPUT);           // Define o pino lamp1Pin   como saida
    pinMode(lamp2Pin, OUTPUT);          // Define o pino lamp2Pin como saída 
    pinMode(lamp3Pin, OUTPUT);          // Define o pino lamp3Pin como saída 
    pinMode(lamp4Pin, OUTPUT);          // Define o pino lamp4Pin como saída 
    pinMode(lamp5Pin, OUTPUT);          // Define o pino lamp5Pin como saída 
    pinMode(lamp6Pin, OUTPUT);          // Define o pino lamp6Pin como saída 
    Serial.begin(9600);                 // Inicialisa o monitor serial
    irrecv.enableIRIn();                // Inicializa o receptor IR
  }
  // --------------------------------- loop ---------------------------- 
  void loop()
  {
    int pirVal = digitalRead(pirPin);                     // Variavel para "status"do PIR
    if (irrecv.decode(&results))                          // recebe códigos do RC               
    {
      Serial.println(results.value, HEX);                 // Imprime valor recebido na serial
      armazenavalor = (results.value);                    // Salva este valor em armazena valor
    
      // ----------------------------- lamp1--------------------------------
      if (armazenavalor == 0xFF6897)
                         // verifica se a tecla 12 foi acionada             
      {
         digitalWrite(lamp1Pin,HIGH);                      // Acende lampada 1
      }
      if (armazenavalor == 0xFF9867)
                       // verifica se a tecla 11 foi acionada 
      {
         digitalWrite(lamp1Pin, LOW);                       // Apaga lampada 1
      }
      
              // ----------------------------- lamp3 --------------------------------
      if (armazenavalor == 0xFFB04F)
                        // Verifica se a tecla 8 foi acionada             
      {
         digitalWrite(lamp3Pin, HIGH);                     // Acende lampada 3
      }
      if (armazenavalor == 0xFF30CF)
                        // Verifica se a tecla 7 foi acionada             
      {
         digitalWrite(lamp3Pin, LOW);                     // Apaga lampada 3
      }
              // ---------------------------- lamp4 --------------------------------
      if (armazenavalor == 0xFF18E7)

                       // Verifica se a tecla 5 foi acionada
      {
         digitalWrite(lamp4Pin, HIGH);                    // Acende lampada 4
      }
      if (armazenavalor == 0xFF7A85)

                       // Verifica se a tecla 6 foi acionada
      {
         digitalWrite(lamp4Pin, LOW);                     // Apaga lampada 4
      }
              // ----------------------------- lamp5 --------------------------------
      if (armazenavalor == 0xFF10EF)
                       // Verifica se a tecla 3 foi acionada
      {
         digitalWrite(lamp5Pin, HIGH);                    // Acende lampada 5
      }
      if (armazenavalor == 0xFF38C7)

                       // Verifica se a tecla 4 foi acionada
      {
         digitalWrite(lamp5Pin, LOW);                     // Apaga lampada 5
      }
              // ----------------------------- lamp6 --------------------------------
      if (armazenavalor == 0xFF5AA5)
                       // Verifica se a tecla 1 foi acionada
      {
         digitalWrite(lamp6Pin, HIGH);                    // Acende lampada 6
      }
      if (armazenavalor == 0xFF42BD)
                     // Verifica se a tecla 2 foi acionada
      {
         digitalWrite(lamp6Pin, LOW);                     // Apaga lampada 6
      }
              // -------------------------------------------------------------------------------- 
    irrecv.resume(); //Le o próximo valor                 // le proximo valor do RC
    }
    if(pirVal == 1)                                        // Se PIR detectou movimento
    {                                                      // Faça
       Serial.println("Motion Detected");                  // Msg no serial
       digitalWrite(lamp2Pin, HIGH);                       // Aqui acende a lampada                
    }
    else                                                   // Se PIR detectou movimento
      digitalWrite(lamp2Pin, LOW);                         // Aqui acende a lampada          
  }

QUERO AGRADECER AO MESTRE ( RUI VIANA ) PORQUE SEM ELE ESTE PROJETO NAO

SERIA VIAVEL , CHAMO ELE DE MESTRE PORQUE O CARA MANJA MUITO  , MUITO

OBRIGADO RUI VIANA QUE VC POSSA CONTINUAR AJUNDANDO MUITA GENTE ASSIM COMO

VC ME AJUDOU NESTE PROJETO E AJUDOU SEM PEDIR NADA EM TROCA, VALEU MESMO 

MESTRE

Exibições: 541

Responder esta

Respostas a este tópico

#include <IRremote.h> 

int led = 8;

int RECV_PIN = 11; 

float armazenavalor; 

IRrecv irrecv(RECV_PIN); 

decode_results results; 

 

void setup() 

{

 pinMode(led, OUTPUT);

  Serial.begin(9600); 

  irrecv.enableIRIn(); // Inicializa o receptor IR 

  

void loop() 

  if (irrecv.decode(&results)) 

  { 

   

    Serial.println(results.value, HEX); 

    armazenavalor = (results.value); 

    if (armazenavalor == 0x80108) //Verifica se a tecla 1 foi acionada 

    { 

     digitalWrite(led, HIGH);

    } 

    if (armazenavalor == 0x40108) //Verifica se a tecla 2 foi acionada 

    { 

     digitalWrite(led, LOW);

    } 

   

  irrecv.resume(); //Le o próximo valor 

  } 

#include <IRremote.h>
#define lamp1Pin 3 // Define o pino para a lampada 1
#define lamp2Pin 4 // Define o pino para a lampada 2
#define lamp3Pin 5 // Define o pino para a lampada 3
#define lamp4Pin 6 // Define o pino para a lampada 4
#define lamp5Pin 7 // Define o pino para a lampada 5
#define lamp6Pin 8 // Define o pino para a lampada 6

int RECV_PIN = 11; // Entrada do sensor de Infra Red Remote Control
float armazenavalor; // Variavel para guardar valor lido do Remote Control
IRrecv irrecv(RECV_PIN); // Função para receber Remote Control
decode_results results; // Decodifica o resultado

void setup()
{
pinMode(lamp1Pin,OUTPUT); // Define o pino lamp1Pin como saida
pinMode(lamp2Pin, OUTPUT); // Define o pino lamp2Pin como saída
pinMode(lamp3Pin, OUTPUT); // Define o pino lamp3Pin como saída
pinMode(lamp4Pin, OUTPUT); // Define o pino lamp4Pin como saída
pinMode(lamp5Pin, OUTPUT); // Define o pino lamp5Pin como saída
pinMode(lamp6Pin, OUTPUT); // Define o pino lamp6Pin como saída
Serial.begin(9600); // Inicialisa o monitor serial
irrecv.enableIRIn(); // Inicializa o receptor IR
}
// --------------------------------- loop ----------------------------
void loop()
{
if (irrecv.decode(&results)) // recebe códigos do RC
{
Serial.println(results.value, HEX); // Imprime valor recebido na serial
armazenavalor = (results.value); // Salva este valor em armazena valor

// ----------------------------- lamp1--------------------------------
if (armazenavalor == 0x90108) // verifica se a tecla 12 foi acionada

{
digitalWrite(lamp1Pin,HIGH); // Acende lampada 1
}
if (armazenavalor == 0x88108) // verifica se a tecla 11 foi acionada

{
digitalWrite(lamp2Pin, LOW); // Apaga lampda 1
}
// ----------------------------- lamp2 --------------------------------
if (armazenavalor == 0xD210C) // verifica se a tecla 10 foi acionada

{
digitalWrite(lamp2Pin, HIGH); // Acende lampada 1
}
if (armazenavalor == 0x48108) //verifica se a tecla 9 foi acionada

{
digitalWrite(lamp2Pin, LOW); // Apaga lampda 1
}
// ----------------------------- lamp3 --------------------------------
if (armazenavalor == 0xE0108) // Verifica se a tecla 8 foi acionada

{
digitalWrite(lamp3Pin, HIGH); // Acende lampada 1
}
if (armazenavalor == 0x10108) // Verifica se a tecla 7 foi acionada

{
digitalWrite(lamp3Pin, LOW); // Apaga lampda 1
}
// ---------------------------- lamp4 --------------------------------
if (armazenavalor == 0xa0108) // Verifica se a tecla 5 foi acionada
{
digitalWrite(lamp4Pin, HIGH); // Acende lampada 1
}
if (armazenavalor == 0x60108) // Verifica se a tecla 6 foi acionada
{
digitalWrite(lamp4Pin, LOW); // Apaga lampda 1
}
// ----------------------------- lamp5 --------------------------------
if (armazenavalor == 0xC0108) // Verifica se a tecla 3 foi acionada
{
digitalWrite(lamp5Pin, HIGH); // Acende lampada 1
}
if (armazenavalor == 0x20108) // Verifica se a tecla 4 foi acionada
{
digitalWrite(lamp5Pin, LOW); // Apaga lampda 1
}
// ----------------------------- lamp6 --------------------------------
if (armazenavalor == 0x80108) // Verifica se a tecla 1 foi acionada
{
digitalWrite(lamp6Pin, HIGH); // Acende lampada 1
}
if (armazenavalor == 0x40108) // Verifica se a tecla 2 foi acionada
{
digitalWrite(lamp6Pin, LOW); // Apaga lampda 1
}

// --------------------------------------------------------------------------------
irrecv.resume(); //Le o próximo valor // le proximo valor do RC
}
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço