Interface do Módulo Sensor de Vibração SW-420 com Arduino

Tempo de leitura: 5 minutes

Existem várias máquinas críticas ou equipamentos caros que sofrem danos devido às vibrações. Nesse caso, um sensor de vibração é necessário para descobrir se a máquina ou equipamento está produzindo vibrações ou não. Identificar o objeto que está vibrando continuamente não é um trabalho complicado se o sensor adequado for usado para detectar a vibração. Existem vários tipos de sensores de vibração disponíveis no mercado que podem detectar a vibração por meio da detecção de aceleração ou velocidade e podem fornecer excelentes resultados. No entanto, esses sensores são muito caros onde o acelerômetro é usado. O acelerômetro é muito sensível e pode ser usado para fazer o circuito detector de terremotos. Porém, existem poucos sensores dedicados e baratos disponíveis para detectar apenas as vibrações, um desses sensores de vibração é o SW-420, que faremos a interface com o Arduino Uno.

Portanto, neste projeto, um módulo de sensor de vibração básico faz interface com o popular Arduino UNO e sempre que o sensor de vibração detecta qualquer vibração ou solavanco, um LED começa a piscar.

 

Módulo Sensor de Vibração SW-420

Módulo Sensor de Vibração SW-420

Este é um módulo de vibração SW-420, que pode trabalhar de 3,3 V a 5 V. O sensor usa o comparador LM393 para detectar a vibração acima de um ponto limite e fornecer dados digitais, Logic Low ou Logic High, 0 ou 1. Durante a operação normal, o sensor fornece Logic Low e quando a vibração é detectada, o sensor fornece Logic High. Existem três periféricos disponíveis no módulo, dois LEDs, um para o estado de energia e outro para a saída do sensor. Além disso, um potenciômetro está disponível, o qual pode ser usado para controlar o ponto limite da vibração. Neste projeto, usaremos 5V para alimentar o módulo.

Usamos o mesmo sensor no Anti-Theft Alert System usando o microcontrolador ATmega8. Além disso, um sensor de inclinação pode ser usado para detectar acidentes repentinos.

Componentes necessários

  • Arduino UNO
  • Módulo sensor de vibração SW-420
  • LED 5mm (qualquer cor)
  • Fios de ligação (fios de conexão)
  • Cabo USB para upload de programa

 

Diagrama de circuito do sensor de vibração Arduino

O esquema para fazer a interface do sensor de vibração com o Arduino uno é fornecido abaixo.

O LED está conectado no pino D13. O módulo é alimentado usando o pino de 5 V disponível no Arduino. O aterramento e o pino de 5 V são usados para ligar o Arduino, enquanto o pino A5 é usado para obter os dados do sensor de vibração.

O circuito é construído onde o módulo SW-420 e o LED são conectados ao Arduino Uno.

Programação do sensor de vibração Arduino Uno

Programar o Arduino UNO para fazer a interface do sensor de vibração não requer muito esforço, pois apenas o pino de entrada deve ser monitorado para fazer a conclusão. O código completo e o vídeo de trabalho estão anexados no final.

Inicialmente, os arquivos de cabeçalho são incluídos. O cabeçalho arduino está incluído desde que este tutorial foi escrito em Eclipse IDE com extensão Arduino. Este sketch também funcionará para Arduino IDE e ao usar este sketch no Arduino IDE, não há necessidade de incluir o cabeçalho <Arduino.h>.

#include <Arduino.h>

Aqui, duas macros são definidas para ON e OFF.

#define ON 1
#define OFF 0

A declaração abaixo é usada para integrar os LEDs e o sensor de vibração. O sensor de vibração é conectado ao pino A5. O LED embutido também é usado, o qual é conectado diretamente na placa ao pino 13. O LED de 5 mm também é conectado ao pino 13.

/*
 * Descrição do pino
 */
int vibration_Sensor = A5;
LED int = 13;

Dois inteiros são declarados onde os sensores apresentam a saída e a saída anterior será armazenada, que será usada posteriormente para detectar se a vibração está acontecendo ou não.

/*
 * Descrição do fluxo do programa
 */
int present_condition = 0;
int previous_condition = 0;

O mesmo pino que é declarado como a conexão periférica, a direção dos pinos é configurada. O pino do sensor como entrada e o pino do LED como saída.

/*
 * Configuração do modo pino
 */
void setup() {
            pinMode(vibration_Sensor, INPUT);
            pinMode(LED, OUTPUT);     
}

Uma função é escrita para piscar o led duas vezes. O atraso pode ser configurado alterando o valor do atraso.

void led_blink(void) {
            digitalWrite(LED, ON);
            delay(250);
            digitalWrite(LED, OFF);
            delay(250);
            digitalWrite(LED, ON);
            delay(250);
            digitalWrite(LED, OFF);
            delay(250);
}

Na função de loop, a condição presente e a anterior são comparadas. Se os dois não forem iguais, os leds começam a piscar até que os dois sejam iguais. No início, as duas variáveis mantêm 0 e o led permanece apagado durante o início do programa. Quando há algum virbraion, a variável present_condition torna-se 1 e o led começa a piscar. E novamente, quando as vibrações param, os valores tornam-se 0 e o LED pára de piscar.

void loop() {
     previous_condition = present_condition;
     present_condition = digitalRead(A5); // Lendo dados digitais do pino A5 do Arduino.
     if (previous_condition != present_condition) {
        led_blink();
     } else {
        digitalWrite(LED, OFF);
     }
}

Isso finaliza a programação do arduino UNO com sensor de vibração. A etapa final será testar toda a configuração.

 

Testando o circuito do sensor de vibração Arduino

O circuito não requer um ProtoBoard adicional. Ele pode ser simplesmente testado usando a placa Arduino UNO. O led é monitorado quando o sensor de vibração é atingido ou se ele muda de estado. O led piscará conectado ao pino 13 do Arduino UNO quando houver alguma vibração. Se o sensor de vibração não funcionar, verifique a conexão e a alimentação. Evite qualquer conexão solta entre o sensor e o microcontrolador.

Portanto, é assim que um sensor de vibração pode ser conectado ao Arduino UNO. Se você tiver alguma dúvida ou sugestão, pode entrar em contato conosco através do fórum ou comentar abaixo.

 

Código

/*//==============================================================================//
 * Interface do sensor de vibração com Arduino
*/ //=============================================================================//
#include <Arduino.h>
#include <stdio.h>
 
#define ON 1
#define OFF 0
 
/*
 * Descrição do pino
 */
int vibration_Sensor = A5;
int LED = 13;
 
/*
 * Descrição do fluxo do programa
 */
int present_condition = 0;
int previous_condition = 0;
 
/*
 * Configuração do modo pino
 */
void setup() {
   pinMode(vibration_Sensor, INPUT);
   pinMode(LED, OUTPUT);
}
 
/*
 * Led blink
 */
void led_blink(void);
 
/*
 * main_loop
 */
 
void loop() {
  previous_condition = present_condition;
  present_condition = digitalRead(A5); // Lendo dados digitais do pino A5 do Arduino.
 
  if (previous_condition != present_condition) {
     led_blink();
  } else {
    digitalWrite(LED, OFF);   
  }
}
 
void led_blink(void) {
   digitalWrite(LED, ON);
   delay(250);
   digitalWrite(LED, OFF);
   delay(250);
   digitalWrite(LED, ON);
   delay(250);
   digitalWrite(LED, OFF);
   delay(250);
}

 

Visits: 3 Visits: 1199914