Arduino - Sensor de Inclinação SW520D

O módulo sensor de inclinação SW520D (também conhecido como chave de esfera ou sensor de ângulo) é capaz de detectar inclinação ou mudanças de orientação. Ele pode ser usado para criar projetos que reagem à inclinação, como um alarme que dispara quando um objeto é movido ou um servo motor que responde à orientação.

Neste tutorial, vamos aprender a usar o Arduino e um sensor de inclinação SW520D para detectar inclinação. Em detalhes, vamos aprender:

Sensor de inclinação SW520D com Arduino

Depois, você pode ajustar o código para fazê-lo acionar um LED ou uma lâmpada (via relé) quando detectar uma inclinação, ou até mesmo fazer um servo motor girar.

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 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 (LIGADO/DESLIGADO), o que facilita a interface com o Arduino.

Pinagem do Sensor de Inclinação SW520D

O sensor de inclinação SW520D tem 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 Arduino.
Pinagem do Sensor de Inclinação SW520D
image source: diyables.io

O módulo sensor de inclinação SW520D também tem dois LEDs indicadores:

  • Um LED indicador de alimentação
  • Um LED indicador do estado de inclinação: aceso quando o sensor está na vertical, apagado quando está inclinado

Como Funciona

  • Quando o sensor está na vertical, a esfera de metal interna fecha o contato, e o pino de saída fica em HIGH.
  • Quando o sensor está inclinado, a esfera de metal interna abre o contato, e o pino de saída fica em LOW.

Diagrama de Ligação

Diagrama de Ligação do Sensor de Inclinação SW520D com Arduino

This image is created using Fritzing. Click to enlarge image

Como Programar o Sensor de Inclinação SW520D

  • Inicializa o pino do Arduino no modo de entrada digital usando a função pinMode(). Por exemplo, o pino 5
pinMode(5, INPUT);
  • Lê o estado do pino do Arduino usando a função digitalRead().
int tiltState = digitalRead(5);

Código Arduino - Detectando a inclinação

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino/arduino-sw520d-tilt-sensor */ // Arduino's pin connected to DO pin of the SW520D tilt sensor #define SENSOR_PIN 5 int lastState = HIGH; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: currentState = digitalRead(SENSOR_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("The tilt has been detected"); else if (lastState == LOW && currentState == HIGH) Serial.println("The tilt has disappeared"); // save the the last state lastState = currentState; }

Passos Rápidos

  • Copie o código acima e abra-o com o Arduino IDE
  • Clique no botão Upload no Arduino IDE para carregar o código no Arduino
  • Incline o sensor SW520D para frente e para trás
  • Veja o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
The tilt has been detected The tilt has disappeared The tilt has been detected The tilt has disappeared
Ln 11, Col 1
Arduino Uno on COM15
2

Agora podemos personalizar o código para acionar um LED ou uma lâmpada quando uma inclinação for detectada, ou até mesmo fazer um servo motor girar. Você pode encontrar mais informações e instruções passo a passo nos tutoriais fornecidos no final deste tutorial.

Solução de Problemas

Se o sensor de inclinação SW520D não estiver funcionando corretamente, tente os seguintes passos:

  • Verifique a orientação: O SW520D é sensível à sua 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: O sensor de inclinação também pode captar vibrações mecânicas. Montá-lo em uma superfície sólida pode ajudar a minimizar disparos falsos.
  • 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 estável para leituras consistentes.

Vídeo

Referências de Funções

Tutoriais Relacionados

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!