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>
#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
Tags:
#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
}
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por