ESP32 - Sensor de Porta
O sensor de porta (também conhecido como sensor de entrada, sensor de contato ou sensor de janela) é muito usado em vários tipos de aplicação, principalmente em segurança. Ele é usado para detectar/monitorar entradas (como porta, janela...). Este tutorial ensina como usar o ESP32 com o sensor de porta.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Porta
Pinagem do Sensor de Porta
O sensor de porta tem dois componentes:
- Um ímã
- Um reed switch, que tem dois fios

Assim como em uma chave/botão, NÃO precisamos diferenciar os dois fios do reed switch.
Como o Sensor de Porta Funciona
O ímã e o reed switch são instalados na porta/janela da seguinte forma:
- O ímã é a parte móvel. Ele deve ser fixado na porta/janela
- O reed switch é a parte fixa. Ele deve ser fixado no batente da porta
Os dois componentes ficam em contato quando a porta está fechada.
- O circuito do reed switch fica fechado quando ele está perto do ímã
- O circuito do reed switch fica aberto quando ele está longe do ímã

※ Nota:
Assim como em um botão, DEVEMOS usar o resistor de pull-up ou pull-down no pino do ESP32 que está ligado ao reed switch
Se ligarmos o reed switch da seguinte forma: um fio no GND e o outro no pino de entrada do ESP32 com um resistor de pull-up:
- O pino de entrada do ESP32 fica em LOW quando o ímã está perto do reed switch
- O pino de entrada do ESP32 fica em HIGH quando o ímã está longe do reed switch
Então:
- Se o pino de entrada do ESP32 estiver em LOW, a porta está fechada
- Se o pino de entrada do ESP32 estiver em HIGH, a porta está aberta
- Se o pino de entrada do ESP32 mudar de LOW para HIGH, a porta está abrindo
- Se o pino de entrada do ESP32 mudar de HIGH para LOW, a porta está fechando
Diagrama de Ligação entre o Sensor de Porta e o ESP32
- Como conectar o ESP32 e o sensor de porta usando uma protoboard

This image is created using Fritzing. Click to enlarge image
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
- Como conectar o ESP32 e o sensor de porta usando uma placa breakout com bornes de parafuso

Como Programar o Sensor de Porta
- Inicialize o pino do ESP32 no modo de entrada digital usando a função pinMode(). Por exemplo, o pino GPIO19
- Leia o estado do pino do ESP32 usando a função digitalRead().
Código ESP32 - Verificar o Estado Aberto e Fechado da Porta
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 na Arduino IDE.
- Copie o código acima e cole na Arduino IDE.
- Compile e faça upload do código para a placa ESP32 clicando no botão Upload na Arduino IDE
- Aproxime o ímã do reed switch e depois afaste-o do reed switch.
- Veja o resultado no Serial Monitor. Ele fica parecido com o mostrado abaixo:.
Código ESP32 - Detectar os Eventos de Abertura e Fechamento da Porta
- Copie o código acima e cole na Arduino IDE.
- Compile e faça upload do código para a placa ESP32 clicando no botão Upload na Arduino IDE
- Aproxime o ímã do reed switch e depois afaste-o do reed switch.
- Veja o resultado no Serial Monitor. Ele fica parecido com o mostrado abaixo:.