Com o avanço da tecnologia, a busca por soluções inteligentes que proporcionem maior conforto e eficiência no cotidiano tornou-se uma constante. Nesse cenário, a integração de dispositivos eletrônicos e a automação residencial vêm desempenhando um papel significativo, oferecendo alternativas inovadoras para aprimorar a segurança e a praticidade nas residências. O uso do sensor PIR arduino na criação de um sistema de detecção de movimento é um exemplo disso!
Este tutorial tem como propósito guiar os usuários na criação de um sistema de detecção de movimento utilizando o Arduino Uno R4 WiFi e um sensor PIR, proporcionando uma experiência prática na implementação de tecnologias voltadas para o monitoramento e controle de ambientes.
Objetivos
- Montagem do Circuito: Demonstrar a configuração física, incluindo a interligação do Arduino Uno R4 WiFi, LEDs vermelho e verde, e o sensor de movimento PIR.
- Entendimento do Sensor PIR: Explicar o funcionamento do sensor PIR, destacando seus componentes principais, como o elemento sensor, lentes, filtro de luz, amplificador e circuito de processamento, temporizador e lógica de controle.
- Configuração no Arduino Cloud: Orientar o usuário na configuração da placa Arduino Uno R4 WiFi no Arduino Cloud, abordando a instalação do Arduino Create Agent, obtenção de Device ID e Secret Key, e a conexão bem-sucedida à plataforma.
- Criação de Variáveis e Dashboard: Detalhar os passos para criar variáveis no Arduino Cloud para leitura do sensor PIR, bem como a criação de um dashboard para visualização gráfica do movimento detectado e do status de presença.
- Programação do Arduino: Apresentar o código necessário para o correto funcionamento do sistema, incluindo o manuseio das variáveis, a inicialização do Arduino Cloud, e a definição de comportamentos com base na detecção de movimento.
- Teste e Verificação: Instruir o usuário sobre como realizar testes do circuito, observando os LEDs indicativos, e como verificar o funcionamento por meio do dashboard no Arduino Cloud.
Materiais Necessários
Para seguir com este tutorial, você irá precisar dos seguintes componentes:
- Arduino Uno R4 WiFi
- LED Vermelho
- LED Verde
- Resistores 330Ω (2 un)
- Sensor de Movimento Presença PIR ou Mini Sensor de Movimento Presença PIR
- Jumpers Macho-Macho
- Jumpers Macho-Fêmea
- Protoboard
- Cabo USB Tipo C
Além dos itens mencionados acima, você também precisará ter uma conta cadastrada no Arduino Cloud.
Como funciona um sensor PIR Arduino?
Um sensor PIR (Passive Infrared) é um dispositivo eletrônico projetado para detectar movimento e/ou presença de calor no ambiente. O funcionamento básico desse tipo de sensor envolve a detecção de variações na radiação infravermelha emitida por objetos em seu campo de visão.
Aqui estão os principais componentes e o funcionamento geral de um sensor PIR:
- Elemento Sensor PIR: O componente-chave é o elemento sensor PIR, que consiste em materiais piroelétricos. Esses materiais geram uma pequena corrente elétrica quando expostos a mudanças de temperatura. O sensor PIR é dividido em duas áreas sensíveis, geralmente chamadas de “elementos” ou “sensores”, que detectam a radiação infravermelha emitida pelos objetos no ambiente.
- Lentes: O sensor PIR é geralmente coberto por uma lente, que divide o campo de visão em várias zonas. Cada zona é associada a um dos elementos sensores. As lentes ajudam a direcionar o foco do sensor e a aumentar a sensibilidade em determinadas áreas.
- Filtro de Luz: Alguns sensores PIR possuem um filtro de luz para minimizar a interferência de luz visível, permitindo que o sensor se concentre apenas na radiação infravermelha.
- Amplificador e Circuito de Processamento: O sinal gerado pelo elemento sensor PIR é muito fraco. Portanto, o sensor inclui um amplificador para aumentar a amplitude do sinal.
- Temporizador e Lógica de Controle: Um temporizador interno é comumente usado para ajustar a sensibilidade do sensor e controlar o tempo de ativação. A lógica de controle decide quando ativar ou desativar a saída do sensor, com base nas mudanças detectadas.
Quando uma pessoa ou objeto se move no campo de visão do sensor de presença PIR, há uma alteração na distribuição de calor que é detectada pelos elementos sensores. Isso gera um sinal elétrico, que é processado para determinar se é uma mudança significativa o suficiente para acionar a saída do sensor.
Sensores PIR são comumente usados em sistemas de segurança, iluminação automatizada, sistemas de controle de temperatura, entre outros, devido à sua eficiência e baixo consumo de energia.
Existem vários modelos de sensores PIR disponíveis no mercado. Um modelo extremamente utilizado é o Sensor de Movimento PIR DYP-ME003, que possui uma capacidade de detecção de movimento em uma área de até 7 metros, ativando o pino de alarme quando algo ou alguém se move nesta região.
Suas especificações incluem ajuste da sensibilidade e tempo de espera (5-200 segundos) por meio de um potenciômetro, operação com tensão de 4,5 – 20 V, distância detectável ajustável de 3 – 7 metros, e temperatura de trabalho de -20 a +80°C. O sensor possui um trigger configurável para repetição ou não repetição do alarme.
Ao conectar uma fonte de 5V aos pinos GND e VCC, o pino de dados fornece um sinal ‘Alto’ indicando movimento ou ‘Baixo’ indicando ausência de movimentação. A saída permanece ‘Alto’ por um curto período, ajustável pelo potenciômetro ‘Time’, mesmo após a detecção inicial de movimento.
Uma outra opção é o mini sensor de movimento presença PIR que apresenta um tamanho reduzido ideal para incorporação em caixas, tomadas e projetos DIY.
Ao ser disparado por movimento, o pino de saída permanece ativado enquanto o movimento persistir. Suas especificações incluem uma faixa de tensão de alimentação de 2,7 – 12 V, tempo de atraso de 2 segundos, alcance de até 5 metros e temperatura de operação entre -20 a 60°C.
Circuito Eletrônico utilizando o sensor PIR Arduino
Abaixo está o esquema de ligações para o circuito que utiliza o sensor PIR para a detecção de movimento e presença:
As conexões realizadas são as seguintes:
Sensor de Movimento e Presença PIR <-> Arduino Uno R4 WiFi
VCC <-> Pino 5V
OUT <-> Pino 9
GND <-> Pin
LED Vermelho e Resistor 330Ω <-> Arduino Uno R4 WiFi
LED (Terminal +) <-> Resistor 330Ω (Terminal 1)
LED (Terminal -) <-> Pino GND
Resistor 330Ω (Terminal 2) <-> Pino 10
LED Verde e Resistor 330Ω <-> Arduino Uno R4 WiFi
LED (Terminal +) <-> Resistor 330Ω (Terminal 1)
LED (Terminal -) <-> Pino GND
Resistor 330Ω (Terminal 2) <-> Pino 11
Configurando uma placa no Arduino Cloud
O primeiro passo é logar no Arduino Cloud. Caso ainda não tenha uma conta cadastrada, você pode criar uma aqui.
Na sequência, é necessário conectar o Arduino Uno R4 WiFi no Arduino Cloud. Para isso, vá em “Devices” e clique em “ADD DEVICE”.
Depois, em “Setup Device”, selecione “Arduino board”.
Caso você não tenha instalado o Arduino Create Agent em seu computador, a mensagem abaixo irá aparecer. Faça a instalação normalmente para continuar.
Depois que o Arduino Create Agent for instalado, a tela abaixo irá aparecer. Clique em “Configure”.
Dê um nome para a sua placa.
Na sequência, salve/copie as informações sobre o “Device ID” e “Secret Key”. Clique em “Continue”.
Aguarde as configurações do seu dispositivo serem concluídas.
Por fim, desconecte a placa do seu computador e conecte-a novamente para que o processo seja concluído corretamente. Clique em “Confirm”.
Pronto! A placa Arduino Uno R4 WiFi já está pronta para ser utilizada no Arduino Cloud.
Criando uma Thing no Arduino Cloud
Agora precisamos criar as variáveis que estarão disponíveis no Dashboard. Para isso, no Arduino Cloud clique em “Things” e depois em “CREATE THING”.
Clique em “Select Device”.
Depois, clique em “ASSOCIATE”.
Na sequência, clique em “Configure”.
Insira o nome e a senha da rede WiFi onde a placa está conectada. Também insira a “Secret Key” fornecida na etapa anterior. Clique em “Save”.
Agora clique em “Add” para adicionar uma variável.
Configure a variável da seguinte maneira
- Name: Movimento
- Type: Integer Number
- Declaration: int movimento;
- Variable Permission: Read Only
Clique em “ADD VARIABLE”.
Repita o processo acima para a segunda variável:
- Name: Status
- Type: Boolean
- Declaration: int status;
- Variable Permission: Read & Write
Clique em “ADD VARIABLE”.
Pronto! Suas variáveis já estão configuradas.
Criando um Dashboard no Arduino Cloud
Agora precisamos configurar o dashboard onde as informações lidas pelo sensor de presença e movimento PIR serão apresentadas. Para isso, na Arduino Cloud clique em “Dashboard” e depois em “CREATE DASHBOARD”
Clique em “ADD” e depois no widget STATUS.
Clique em “Link Variable”.
Selecione a variável Status e depois clique em “LINK VARIABLE”.
Em “Name” digite Presença Detectada e em “Status Labels” selecione a última opção da lista. Por fim, clique em “DONE”.
Agora vamos repetir o processo acima para adicionar um gráfico. Clique em “ADD” e depois selecione o widget Chart.
Clique em “Link Variable”.
Selecione a variável Movimento e depois clique em “LINK VARIABLE”.
Em “Name” digite Movimento/Presença. Por fim, clique em “DONE”.
Pronto! Seu dashboard já está configurado.
Criando um Sketch no Arduino Cloud
O último passo é realizar o configuração do código que será carregado para a placa Arduino Uno R4 WiFi. Para isso, na Arduino Cloud clique em Sketches. Você verá que ao criar as variáveis, um sketch será criado automaticamente. Clique nesse sketch recém criado.
Apague todo o texto que está na área de edição e cole o código abaixo:
// Programa: Sistema de detecção de movimento com Arduino Uno R4 WiFi e sensor PIR // Autor: Rosana Guse // Adiciona as bibliotecas utilizadas no código #include "thingProperties.h" // Define os pinos de ligação dos LEDs e do sensor PIR int pinoVerde = 11; int pinoVermelho = 10; int pinoPIR = 9; void setup() { // Inicia a comunicação serial Serial.begin(9600); // Aguarda 1,5 segundos para continuar delay(1500); // Define as conexões dos LEDs e sensor PIR como entradas ou saídas pinMode(pinoVerde, OUTPUT); pinMode(pinoVermelho, OUTPUT); pinMode(pinoPIR, INPUT); // Conecta com o Arduino IoT Cloud initProperties(); ArduinoCloud.begin(ArduinoIoTPreferredConnection); setDebugMessageLevel(2); ArduinoCloud.printDebugInfo(); // Pisca os LEDs vermelho e verde 3 vezes for (int i = 0; i <= 2; i++) { digitalWrite(pinoVerde, HIGH); digitalWrite(pinoVermelho, HIGH); delay(1000); digitalWrite(pinoVerde, LOW); digitalWrite(pinoVermelho, LOW); delay(1000); } } void loop() { // Faz a leitura do sensor PIR movimento = digitalRead(pinoPIR); // Se o movimento não é detectado, LED verde fica acesso e variável status é FALSA if (movimento == 0) { status = false; digitalWrite(pinoVerde, HIGH); digitalWrite(pinoVermelho, LOW); } // Se o movimento não é detectado, LED vermelho fica acesso e variável status é VERDADEIRA else { status = true; digitalWrite(pinoVerde, LOW); digitalWrite(pinoVermelho, HIGH); } // Atualiza as informações no Arduino IoT Cloud ArduinoCloud.update(); } void onMovimentoChange() { } void onStatusChange() { }
Depois clique em “Upload and Save”.
Aguarde o upload ser finalizado.
Funcionamento do Sensor PIR Arduino
Ao ligar o circuito com o sensor de movimento e presença PIR em uma fonte de alimentação, você verá os LEDs verde e vermelho piscar três vezes, indicando que a conexão com a rede WiFi foi bem sucedida.
Caso o sensor PIR detecte algum movimento/presença nas proximidades, o LED vermelho ficará acesso.
Caso contrário, o LED verde do circuito permanecerá acesso.
Também é possível verificar o funcionamento do circuito através do dashboard no Arduino Cloud. O gráfico irá registrar o sinal alto sempre que detectar alguma presença/movimento no ambiente que está monitorando. Já o status mostra se há ou não presença no ambiente no momento.
Se você tiver dúvidas, sugestões ou experiências para compartilhar, fique a vontade para deixar um comentário abaixo. E para não perder nenhum conteúdo como este, não deixe de nos seguir no Instagram.