Arduino Nano - Sensor de Porta
O sensor de porta é uma escolha popular para segurança. Ele é usado para detectar e monitorar entradas, como portas e janelas. Esse dispositivo também é chamado de sensor de entrada, sensor de contato ou sensor de janela.
Este tutorial ensina você a usar o Arduino Nano com o sensor de porta. Em detalhes, vamos aprender:
- Como conectar o Arduino Nano ao sensor de porta.
- Como programar o Arduino Nano para ler o estado do sensor de porta.
- Como programar o Arduino Nano para detectar se a porta está aberta ou fechada.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Porta
Pinagem do Sensor de Porta
Um sensor de porta é formado por duas partes:
- Um ímã.
- Um reed switch que tem dois pinos: como em uma chave/botão comum, não é necessário diferenciar os dois pinos.

Como Funciona
O ímã é fixado na porta/janela (a parte que se move), e o reed switch é preso ao batente da porta (o elemento estático). As duas peças entram em contato quando a porta está fechada:
- Quando o ímã está perto do reed switch, o circuito do reed switch fica fechado
- Quando o ímã está longe do reed switch, o circuito do reed switch fica aberto

※ Nota:
O reed switch não fornece uma saída LOW ou HIGH em seus pinos. Ele está fechado ou aberto. Dependendo de como o conectamos ao Arduino Nano, o pino pode ter o valor LOW, HIGH ou um valor flutuante (imprevisível). Para evitar o valor flutuante, é preciso usar um resistor de pull-up ou pull-down no pino do Arduino Nano.
Se conectarmos um pino do reed switch ao GND e o outro pino do reed switch a um pino de entrada do Arduino Nano com resistor de pull-up (interno ou externo):
- Quando o ímã está perto do reed switch, o valor no pino de entrada do Arduino é LOW
- Quando o ímã está longe do reed switch, o valor no pino de entrada do Arduino é HIGH
Para saber o estado da porta, basta olhar o estado do pino de entrada do Arduino:
- Se o estado for LOW, a porta está fechada
- Se o estado for HIGH, a porta está aberta
Também podemos detectar quando a porta é aberta ou fechada observando uma mudança no estado do pino de entrada do Arduino:
- Se o estado mudar de LOW para HIGH, o evento de abertura da porta é detectado
- Se o estado mudar de HIGH para LOW, o evento de fechamento da porta é detectado
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Nano e outros componentes.
Como Programar para o Sensor de Porta
- Inicialize o pino do Arduino Nano no modo de entrada digital usando a função pinMode(). Por exemplo, o código a seguir pode ser usado para configurar o pino 2 como entrada.
- Usa a função digitalRead() para descobrir o estado do pino do Arduino Nano.
Código Arduino Nano - Verificar o Estado Aberto e Fechado da Porta
Passos Rápidos
- Copie o código e abra-o com o Arduino IDE.
- Clique no botão Upload no Arduino IDE para compilar e fazer o upload do código para o Arduino Nano.
- Aproxime o ímã do reed switch e depois afaste.
- Veja o resultado no Serial Monitor.
Código Arduino Nano - Detectar os Eventos de Abertura e Fechamento da Porta
- Copie o código e abra-o no Arduino IDE.
- Clique no botão Upload para transferir o código para o Arduino Nano.
- Aproxime o ímã do reed switch e depois afaste.
- Veja o resultado no Serial Monitor.