ESP8266 - Sensor de Inclinação SW520D
O módulo sensor de inclinação SW520D é capaz de detectar inclinação ou mudanças de orientação ao seu redor. Ele pode ser usado para criar projetos que respondem à inclinação, como um alarme que dispara quando um objeto é mexido ou um servo motor que responde a mudanças de orientação.
Este tutorial ensina você a usar o ESP8266 e um sensor de inclinação SW520D para detectar inclinação. Vamos explorar:
- Como conectar o sensor de inclinação SW520D ao ESP8266
- Como programar o ESP8266 para detectar inclinação usando o sensor de inclinação SW520D.

Depois, você pode modificar o código para acionar um LED ou uma luz (usando um relé) quando uma inclinação for detectada, ou até 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 sensor de inclinação SW520D pode ser usado para detectar inclinação ou mudanças de orientação no ambiente ao seu redor. Dentro do módulo, há uma pequena bola 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 ESP8266.
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 vertical e LOW quando o sensor está inclinado. Este pino precisa ser conectado a um pino de entrada do ESP8266.

O módulo sensor de inclinação SW520D vem com dois LEDs indicadores:
- Um LED indica o estado da alimentação.
- Outro LED indica o estado da inclinação: ele acende quando o sensor está na vertical e apaga quando está inclinado.
Como Funciona
Veja como o sensor se comporta:
- Quando o sensor está na vertical, a bola de metal dentro dele fecha o contato, e o pino de saída é colocado em HIGH.
- Quando o sensor está inclinado, a bola de metal dentro dele abre o contato, e o pino de saída é colocado em LOW.
Diagrama de Ligação
- O diagrama de ligação entre o ESP8266 e o sensor de inclinação SW520D quando alimentado pela porta USB

This image is created using Fritzing. Click to enlarge image
Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.
- O diagrama de ligação entre o ESP8266 e o sensor de inclinação SW520D quando alimentado pelo Vin

This image is created using Fritzing. Click to enlarge image
Como Programar o Sensor de Inclinação SW520D
- Inicializa o pino do ESP8266 no modo de entrada digital usando a função pinMode(). Por exemplo, o pino D7
- Lê o estado do pino do ESP8266 usando a função digitalRead().
Código ESP8266 - Detectando a inclinação
Passos Rápidos
Para começar com o ESP8266 na Arduino IDE, siga estes passos:
- Confira o tutorial como configurar o ambiente para ESP8266 na Arduino IDE se esta for sua primeira vez usando o ESP8266.
- Conecte os componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
- Copie o código acima e abra com a Arduino IDE
- Clique no botão Upload na Arduino IDE para fazer upload do código para o ESP8266
- Incline o sensor SW520D para frente e para trás
- Confira o resultado no Serial Monitor.
Agora, com o código personalizado, podemos fazer com que ele acione um LED ou uma luz quando uma inclinação for detectada. Podemos até fazer um servo motor girar. Para instruções detalhadas e mais informações, consulte os tutoriais indicados no final deste guia.
Solução de Problemas
Se você tiver problemas com o sensor de inclinação SW520D não funcionando corretamente, tente 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. Montá-lo em uma superfície estável pode ajudar a minimizar falsos acionamentos.
- Verifique a ligação: Certifique-se de que os pinos VCC, GND e DO estejam conectados corretamente.
- Verifique a fonte de alimentação: Garanta que a fonte de alimentação esteja limpa e estável para leituras consistentes.