Tutorial ESP32 Completo: Conecte Sensores PIR Corretamente

O avanço da tecnologia permitiu que sistemas de automação e segurança se tornassem mais acessíveis e fáceis de implementar. O ESP32, com sua versatilidade e poder de processamento, aliado a sensores de movimentoSelecionando Componentes de Hardware para o Sistema de Alarme com ESP32Selecionando Componentes de Hardware para o Sistema de Alarme com ESP32Descubra como selecionar os melhores componentes de hardware para criar um sistema de alarme com ESP32. Tutorial prático com dicas de segurança e eficiência. PIR, possibilita a criação de sistemas de detecção de presença eficientes e inteligentes. Neste artigo, exploraremos em profundidade como conectar e configurar sensores PIR ao ESP32, compreendendo tanto os aspectos teóricos quanto as aplicações práticas.

O que é um Sensor de Movimento PIR?🔗

PIRExemplo de Aplicação com SensoresExemplo de Aplicação com SensoresAprenda a integrar sensores no ESP32 para monitoramento ambiental e automação IoT. Siga nosso tutorial com dicas de conexão, código e depuração! vem do inglês Passive Infrared, ou Infravermelho Passivo em português. Esses sensores detectam variações na radiação infravermelha emitida pelos objetos, especialmente o calor corporal de seres humanos e animais. Diferentemente de outros tipos de sensoresProgramando o ESP32 para Integração de SensoresProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código., os PIR não emitem nenhuma radiação; eles apenas detectam as mudanças no infravermelho do ambiente.

Princípio de Funcionamento

Os sensores PIR consistem em um piroelétrico que gera uma carga elétrica quando exposto a calor na forma de radiação infravermelha. Internamente, o sensor possui dois segmentos piroelétricos posicionados lado a lado. Quando um corpo quente, como uma pessoa, passa na frente do sensor, primeiro um segmento detecta o aumento de IR e, em seguida, o outro. Essa mudança diferencial gera um pulso elétrico, que é então processado para indicar detecção de movimento🔒 Sistema de Bike Sharing com Trava Eletrônica🔒 Sistema de Bike Sharing com Trava EletrônicaDescubra como implementar um sistema de bike sharing com ESP32, integrando NFC, cobrança automática e recursos de segurança para cidades inteligentes..

Componentes Necessários🔗

Para iniciar nosso projeto, precisaremos dos seguintes componentes📜 Quadro Digital com Tela E-Ink de 32 Polegadas📜 Quadro Digital com Tela E-Ink de 32 PolegadasDescubra como combinar eficiência energética, tecnologia E-Ink e ESP32 para criar quadros digitais, dashboards interativos e arte generativa com soluções IoT.:

Entendendo o Sensor PIR🔗

Antes de conectar o sensorProgramando o ESP32 para Integração de SensoresProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. ao ESP32, é importante entender seus terminais e ajustes disponíveis.

Terminais do Sensor PIR

Ajustes Disponíveis

  • Sensibilidade: Controla a distância máxima de detecção, geralmente ajustável entre 3 e 7 metros.
  • Tempo de Retardo: Define por quanto tempo a saída permanece em nível alto após a detecção. Pode variar de alguns segundos a vários minutos.

Conectando o Sensor PIR ao ESP32🔗

Apesar do ESP32 operar com lógica de 3.3V, muitos sensores PIRSelecionando Componentes de Hardware para o Sistema de Alarme com ESP32Selecionando Componentes de Hardware para o Sistema de Alarme com ESP32Descubra como selecionar os melhores componentes de hardware para criar um sistema de alarme com ESP32. Tutorial prático com dicas de segurança e eficiência. são compatíveis com essa tensão, mas é essencial verificar no datasheet do seu modelo.

Diagrama de Conexão

1. Conecte o VCC do sensor PIRSegurança Residencial: Sensores de Movimento e Detecção com ESP32Segurança Residencial: Sensores de Movimento e Detecção com ESP32Descubra como implementar um sistema de segurança residencial utilizando ESP32 com sensor PIR, notificações e muito mais para proteger seu lar. ao pino 3.3V do ESP32.

2. Ligue o GND do sensor PIRSegurança Residencial: Sensores de Movimento e Detecção com ESP32Segurança Residencial: Sensores de Movimento e Detecção com ESP32Descubra como implementar um sistema de segurança residencial utilizando ESP32 com sensor PIR, notificações e muito mais para proteger seu lar. ao GND do ESP32.

3. Conecte o OUT do sensor PIR a um dos pinos GPIOInteração com GPIOs via Interface Web no ESP32Interação com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. do ESP32, por exemplo, o GPIO 16.

Montagem na Protoboard

Para facilitar, monte o circuito na protoboardDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! seguindo as conexões descritas. Certifique-se de que todas as ligações estão firmes e que não há curto-circuitos.

Programando o ESP32 para Ler o Sensor PIR🔗

Agora que o hardware está configurado, passaremos para a programação do ESP32Controle de Dispositivos com ESP32 via BluetoothControle de Dispositivos com ESP32 via BluetoothDescubra como controlar dispositivos com ESP32 via Bluetooth em projetos IoT. Aprenda a configurar circuitos e programar funcionalidades de automação.. Utilizaremos a Arduino IDE, que oferece uma interface amigável para programar o ESP32.

Configurando o Ambiente de Desenvolvimento

Se ainda não o fez, instale a Arduino IDEInstalando o Arduino IDE para ESP32 no WindowsInstalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT. e adicione o suporte ao ESP32 seguindo estes passos:

1. Abra a Arduino IDEInstalando o Arduino IDE para ESP32 no WindowsInstalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT..

2. Acesse Arquivo > Preferências.

3. No campo URLs Adicionais para Gerenciadores de PlacasInstalando o Arduino IDE para ESP32 no macOSInstalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns., adicione: httpsSegurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Segurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados.://dl.espressif.com/dl/package_esp32_index.json.

4. Vá em Ferramentas > Placas > Gerenciador de PlacasInstalando o Arduino IDE para ESP32 no macOSInstalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns., procure por "ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!" e instale.

5. Selecione a placa ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! Dev Module em Ferramentas > Placas.

Código Fonte

Vamos escrever um código simples que lê o estado do sensor PIRSegurança Residencial: Sensores de Movimento e Detecção com ESP32Segurança Residencial: Sensores de Movimento e Detecção com ESP32Descubra como implementar um sistema de segurança residencial utilizando ESP32 com sensor PIR, notificações e muito mais para proteger seu lar. e imprime no Serial Monitor quando movimento é detectado.

// Definição do pino onde o sensor PIR está conectado
const int pirPin = 16;
// Variável para armazenar o estado do sensor
int pirStatus = LOW;
void setup()
{
  // Inicializa a comunicação serial
  Serial.begin(115200);
  // Configura o pino do sensor PIR como entrada
  pinMode(pirPin, INPUT);
  Serial.println("Iniciando o monitoramento do sensor PIR...");
}
void loop()
{
  // Lê o estado do sensor PIR
  pirStatus = digitalRead(pirPin);
  if (pirStatus == HIGH)
  {
    Serial.println("Movimento detectado!");
    // Aguarda até que o sensor retorne ao estado LOW
    while (digitalRead(pirPin) == HIGH)
    {
      delay(100);
    }
  }
  else
  {
    Serial.println("Sem movimento.");
  }
  // Pequeno atraso para evitar poluição do serial
  delay(500);
}

Explicação do Código

Testando o Sistema🔗

Após carregar o códigoDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! no ESP32:

1. Abra o SerialEnviando Dados do ESP32 para o ArduinoEnviando Dados do ESP32 para o ArduinoDescubra como enviar dados do ESP32 para o Arduino com comunicação serial simples e robusta, garantindo integração e monitoramento em tempo real. Monitor na Arduino IDEInstalando o Arduino IDE para ESP32 no WindowsInstalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT..

2. Configure a taxa de transmissãoExibindo Dados no Monitor Serial com ESP32Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT. para 115200 bps.

3. Observe as mensagens. Ao passar na frente do sensorProgramando o ESP32 para Integração de SensoresProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código., a mensagem "Movimento detectado!" deve aparecer.

4. Se tudo estiver funcionando, o sistema está operando corretamente.

Ajustando o Sensor PIR🔗

Dependendo do ambiente e da aplicação, pode ser necessário ajustar a sensibilidade e o tempo de retardo do sensorProgramando o ESP32 para Integração de SensoresProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código..

Sensibilidade

  • Aumentar: Para detectar movimento a distâncias maiores.
  • Diminuir: Para evitar detecções falsas causadas por fontes de calor distantes.

Tempo de Retardo

Os ajustes são feitos girando os trimpots presentes na placa do sensorProgramando o ESP32 para Integração de SensoresProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código.. Geralmente, um controla a sensibilidade e o outro o tempo de retardo.

Integrações e Aplicações Práticas🔗

Com o sensor PIRSegurança Residencial: Sensores de Movimento e Detecção com ESP32Segurança Residencial: Sensores de Movimento e Detecção com ESP32Descubra como implementar um sistema de segurança residencial utilizando ESP32 com sensor PIR, notificações e muito mais para proteger seu lar. funcionando com o ESP32, podemos expandir o projeto para incluir notificações, acionamento de dispositivos e muito mais.

Acionando um LED

Podemos adicionar um LEDDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! ao circuito que acende quando movimento é detectado.

Conexão do LED

1. Anodo (+) do LED conectado a um resistor de 220Ω, que por sua vez conecta ao pino GPIOInteração com GPIOs via Interface Web no ESP32Interação com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. 17 do ESP32.

2. Cátodo (-) do LEDDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! conectado ao GND.

Código Adicional

No códigoDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!, adicionamos:

const int ledPin = 17;
void setup()
{
  Serial.begin(115200);
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.println("Iniciando o monitoramento do sensor PIR...");
}
void loop()
{
  pirStatus = digitalRead(pirPin);
  if (pirStatus == HIGH)
  {
    Serial.println("Movimento detectado!");
    digitalWrite(ledPin, HIGH); // Acende o LED
    while (digitalRead(pirPin) == HIGH)
    {
      delay(100);
    }
  }
  else
  {
    Serial.println("Sem movimento.");
    digitalWrite(ledPin, LOW); // Apaga o LED
  }
  delay(500);
}

Enviando Notificações por Wi-Fi

Uma das vantagens do ESP32 é sua conectividade Wi-FiControle de LEDs e Relés através do Web Server do ESP32Controle de LEDs e Relés através do Web Server do ESP32Aprenda a controlar LEDs e relés usando um Web Server no ESP32. Este tutorial completo ensina montagem, configuração e programação para automação IoT. integrada. Podemos programá-lo para enviar notificações por e-mail ou atualizar um servidor web quando movimento for detectado.

Exemplo: Envio de Notificação via HTTP

Podemos fazer uma requisição HTTPHospedando Múltiplas Páginas Web no ESP32Hospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP. a um serviço como o IFTTT para enviar uma notificação ao smartphone.

Passos Gerais

1. Criar uma Applet no IFTTT que, ao receber uma requisição webIntegração com Aplicativos Móveis e WebIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT., envia uma notificação.

2. Modificar o códigoDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! do ESP32 para fazer uma requisição HTTPHospedando Múltiplas Páginas Web no ESP32Hospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP. quando o sensor detectar movimento.

Código Simplificado

#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "SEU_SSID";
const char* password = "SUA_SENHA";
const char* iftttUrl = "https://maker.ifttt.com/trigger/SEU_EVENTO/with/key/SUA_CHAVE";
void setup()
{
  Serial.begin(115200);
  pinMode(pirPin, INPUT);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.println("Conectando ao Wi-Fi...");
  }
  Serial.println("Conectado ao Wi-Fi.");
}
void loop()
{
  pirStatus = digitalRead(pirPin);
  if (pirStatus == HIGH)
  {
    Serial.println("Movimento detectado!");
    enviarNotificacao();
    while (digitalRead(pirPin) == HIGH)
    {
      delay(100);
    }
  }
  delay(500);
}
void enviarNotificacao()
{
  if (WiFi.status() == WL_CONNECTED)
  {
    HTTPClient http;
    http.begin(iftttUrl);
    int httpResponseCode = http.GET();
    if (httpResponseCode > 0)
    {
      Serial.println("Notificação enviada com sucesso.");
    }
    else
    {
      Serial.println("Falha ao enviar notificação.");
    }
    http.end();
  }
  else
  {
    Serial.println("Wi-Fi desconectado.");
  }
}

Considerações de Segurança

Ao desenvolver sistemas que envolvem segurança, é crucial considerar a confiabilidadeDual-Core do ESP32: Como Funciona e BenefíciosDual-Core do ESP32: Como Funciona e BenefíciosDescubra como a arquitetura dual-core do ESP32 otimiza a performance em IoT e automação, distribuindo tarefas e gerenciando recursos com eficiência. e a proteção contra falhas.

Expandindo o Projeto🔗

O que aprendemos aqui pode ser a base para projetos mais complexos:

Dicas e Melhores Práticas🔗

Conclusão🔗

Conectar um sensor de movimento PIRSegurança Residencial: Sensores de Movimento e Detecção com ESP32Segurança Residencial: Sensores de Movimento e Detecção com ESP32Descubra como implementar um sistema de segurança residencial utilizando ESP32 com sensor PIR, notificações e muito mais para proteger seu lar. ao ESP32 é uma tarefa relativamente simples, mas que abre um leque enorme de possibilidades no campo da automação e segurança. Compreendendo os princípios de funcionamento e aplicando boas práticas de programação e instalação, podemos criar sistemas eficientes e confiáveis.

Aprofunde-se nos conceitos apresentados, experimente ajustes e integrações, e descubra como o ESP32 pode ser uma poderosa ferramenta em seus projetos de IoTVantagens do Uso do ESP32 em Projetos de IoTVantagens do Uso do ESP32 em Projetos de IoTDescubra os principais benefícios do ESP32 para IoT, como conectividade, baixo consumo, dual-core e segurança, e impulsione seus projetos conectados. e automação.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados