Arduino Nano ESP32 - Sensor de Inclinação SW520D
O módulo de sensor de inclinação SW520D tem a capacidade de detectar mudanças de inclinação ou de orientação no ambiente ao redor. Ele pode ser usado para criar projetos que respondem à inclinação, como um alarme que dispara quando um objeto é movido ou um servo motor que reage a mudanças de orientação.
Neste tutorial, vamos aprender como usar o Arduino Nano ESP32 e um sensor de inclinação SW520D para detectar a inclinação. Vamos nos aprofundar nos seguintes pontos:
- Conectar o sensor de inclinação SW520D ao Arduino Nano ESP32
- Programar o Arduino Nano ESP32 para detectar a inclinação usando o sensor de inclinação SW520D.

Depois disso, você tem a flexibilidade de modificar o código para acionar um LED ou uma luz (usando um relé) ao detectar a inclinação, ou até mesmo fazer um servo motor girar.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Inclinação SW520D
O módulo de sensor de inclinação SW520D pode ser usado para detectar mudanças de inclinação ou de orientação no ambiente ao redor. Dentro do módulo, há uma pequena esfera de metal que rola entre dois contatos elétricos dependendo do ângulo de inclinação. O módulo fornece um sinal digital simples (ON/OFF), o que facilita a interface com o Arduino Nano ESP32.
Pinagem do Sensor de Inclinação SW520D
O sensor de inclinação SW520D possui três pinos:
- Pino VCC: precisa ser conectado ao VCC (3.3V a 5V)
- Pino GND: precisa ser conectado ao GND (0V)
- Pino DO: é um pino de saída: HIGH quando o sensor está na posição vertical e LOW quando o sensor está inclinado. Este pino precisa ser conectado a um pino de entrada do Arduino Nano ESP32.

O módulo de sensor de inclinação SW520D possui dois indicadores LED:
- Um indicador LED mostra o estado da alimentação.
- Outro indicador LED mostra o estado de inclinação, acendendo quando o sensor está na posição vertical e apagando quando ele está inclinado.
Como Funciona
Veja como o pino de saída do sensor se comporta:
- Quando o sensor está na posição vertical, a esfera de metal interna fecha o contato, e o pino de saída é definido como HIGH.
- Quando o sensor está inclinado, a esfera de metal interna abre o contato, e o pino de saída é definido como LOW.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Como Programar para o Sensor de Inclinação SW520D
- Inicialize o pino do Arduino Nano ESP32 no modo de entrada digital usando a função pinMode(). Por exemplo, o pino D3
- Leia o estado do pino do Arduino Nano ESP32 usando a função digitalRead().
Código Arduino Nano ESP32 - Detectando a inclinação
Passos Rápidos
- Se esta é a primeira vez que você usa o Arduino Nano ESP32, veja como configurar o ambiente para o Arduino Nano ESP32 no Arduino IDE.
- Copie o código acima e abra com o Arduino IDE
- Clique no botão Upload no Arduino IDE para fazer upload do código para o Arduino Nano ESP32
- Incline o sensor SW520D para frente e para trás
- Confira o resultado no Serial Monitor.
Agora, temos a liberdade de personalizar o código e fazer com que ele acione um LED ou uma luz quando uma inclinação for detectada. Podemos até fazer um servo motor girar de acordo com a entrada de inclinação. Para orientações mais detalhadas e instruções passo a passo, você pode consultar os tutoriais fornecidos no final deste tutorial.
Solução de Problemas
Se você encontrar algum problema com o funcionamento do sensor de inclinação SW520D, considere os seguintes passos de solução de problemas:
- Verifique a orientação: O SW520D é sensível à orientação de montagem. Certifique-se de que ele esteja instalado na posição vertical correta para uma detecção confiável.
- Reduza as vibrações: Vibrações mecânicas podem afetar o desempenho do sensor de inclinação. Para minimizar falsos acionamentos, tente montar o sensor em uma superfície estável.
- Verifique a ligação: Certifique-se de que os pinos VCC, GND e DO estejam conectados corretamente.
- Verifique a fonte de alimentação: Certifique-se de que a fonte de alimentação esteja limpa e estável para obter leituras consistentes.