Radiação
infravermelha
A radiação infravermelha foi descoberta em
1800 por William Herschel, um astrônomo inglês de origem alemã. Hershell
colocou um termômetro de mercúrio no espectro obtido por um prisma de cristal
com a finalidade de medir o calor emitido por cada cor. Descobriu que o calor
era mais forte ao lado do vermelho do espectro, observando que ali não havia
luz. Esta foi a primeira experiência que demonstrou que o calor pode ser
captado em forma de imagem, como acontece com a luz visível.
Sensor
infravermelho – PIR (Passive infra-red)
Sensores infravermelhos começaram a ser
usados por volta de 1940, originalmente desenvolvido para aplicações militares
e cientificas.
Agora a tecnologia é usada largamente em
diversos produtos comerciais como alarmes de detecção de intrusos, lâmpadas
acionadas automaticamente, etc.
Os sensores modernos são altamente eficientes
provendo conveniência, segurança e baixo custo.
Podem ser usados em qualquer lugar onde
pessoas ocasionalmente caminham como corredores, garagens, jardins etc.
Como um
sensor PIR funciona
Todos os sensores PIR detectam mudanças na
radiação infravermelha que é emitida na forma de calor por diversos corpos como
carros, seres humanos, animais etc.
Quanto maior o corpo mais radiação
infravermelha é emitida e quanto mais radiação mais fácil é a detecção de movimento.
Podemos considerar o detector de movimento
como uma chave ON - OFF controlada eletronicamente, toda vez que uma fonte de
calor é detectada um sinal digital é enviado a saída (no caso do sensor usado
um sinal de tensão ALTO +3,3V).
Conectando
seu sensor ao Arduino.
A maioria dos módulos possuem 3
pinos na PCI, o layout dos pinos pode mudar mas basicamente são Alimentação –
Saída – Terra (geralmente a descrição está escrito na placa com silkscreen).
Figura 3 – Vista traseira do sensor
Especificações:
- Tensão de entrada: DC 4.5 a 20V
- Consumo sem detecção: 50uA
- Tensão de saída 0,3V OFF e
3,6V ON
- Ângulo de detecção: 110
graus
- Distância de detecção: max 7
m
Montagem
do circuito
Conecte
o pino – do Módulo ao GND (terra) do Arduino
Conecte
o pino + do Módulo ao 5V (Vdc) do Arduino
Conecte
o pino OUT do Módulo ao pino 8 do Arduino
Código
Fonte
#define sensor 8 //
Define o pino 8 como detector de nível alto do sensor de presença
#include
<LiquidCrystal.h> // Bilbioteca necessaria para utilizar o LCD
/* Biblioteca com funcoes
para uso de um LCD baseado no Hitachi HD 44780 */
LiquidCrystal lcd(12, 11,
5, 4, 3, 2);
/* Define os pinos de
ligacao do LCD ao arduino com esta ordem LiquidCrystal(rs, enable, d4, d5, d6,
d7) */
int detecta=0;
int valor_acumulado=0;
void setup()
{
/*lcd.begin(cols, rows) */
lcd.begin(20, 4); /* Tipo de LCD usado no meu
caso de 20 colunas por 4 linhas */
lcd.setCursor(0, 0); /* O Cursor iniciara na
coluna zero linha 0 */
lcd.print(" Central AVR!");
lcd.setCursor(0, 2); /* O Cursor iniciara na
coluna zero linha 2 */
lcd.print("Detectados = 0"); /*
Mensagem inicial indicando que nenhum movimento foi computado */
lcd.print(" movs");
pinMode(sensor, INPUT); /* Define o pino 8
como entrada */
}
void loop()
{
if(digitalRead(sensor)==HIGH) /* Se algum
objeto for detectado executa o bloco abaixo */
{
valor_acumulado=detecta+1;
lcd.setCursor(0, 2); /* O Cursor iniciara
na coluna zero linha 2 */
lcd.print("Detectados = ");
lcd.print(valor_acumulado); // imprime no
LCD o número da detecção
lcd.print(" movs");
delay(8000); //espera 8 segundos até
computar a proxima detecção (meu sensor fica 7 segundos em nivel alto)
detecta = valor_acumulado; /* Guarda
valor atual para ser incrementado na próxima detecção */
}
}
Resultado
final
Figura 4 – Vista geral da montagem
Vídeo
1 – Contador de Visitas.