Notice: WP_Block_Type_Registry::register foi chamada incorretamente. Tipo de bloco "syntaxhighlighter/code" já está registrado. Leia como Depurar o WordPress para mais informações. (Esta mensagem foi adicionada na versão 5.0.0.) in /home/filipeflop/homolog2302.filipeflop.com/wp-includes/functions.php on line 5313
Alarme com o sensor de vibração SW18010P - FilipeFlop

Alarme com o sensor de vibração SW18010P Deixe um comentário

Componente recomendado para alarmes, sensores de presença e brinquedos, entre outros, o módulo Sensor de Vibração SW18010P é uma placa composta pelo sensor de vibração SW18010P propriamente dito, um chip comparador de tensão LM393, e um potenciômetro para ajuste da sensibilidade do módulo.

Sensor de Vibração SW18010P

Possui também em sua estrutura dois leds: um verde, indicando que o módulo está ligado (tensão de operação de 3.3 à 5 volts), e outro vermelho, que acende quando há mudança de estado da saída digital (pino D0).

Na ausência de vibração, a saída digital se mantém em estado alto (HIGH). Da mesma forma, a saída analógica A0 mantém o seu valor máximo, variando a tensão conforme a movimentação do sensor.

Sua estrutura e funcionamento permitem que o módulo seja conectado diretamente a um microcontrolador como o Arduino, onde podemos verificar tanto o estado da saída digital D0 como da analógica A0, observando essa variação de valores no Serial Monitor.

Como sugestão de utilização, vamos utilizar este sensor de vibração para acionar um buzzer  quando for detectada vibração, manter o buzzer ativo por 5 segundos, e depois deixar o módulo novamente em estado de espera.

Esse princípio pode ser usado para criar um alarme e acionar, por exemplo, relés, lâmpadas ou sistemas de som, tudo vai depender da sua criatividade na utilização das saídas do Arduino ou qualquer outro microcontrolador que você estiver usando.

Circuito Sensor de Vibração e Buzzer

Observe no programa que estamos lendo os valores das saídas A0 e D0 do módulo, e mostrando esses valores no serial monitor.

Para acionamento da porta 4, onde se encontra o buzzer, o programa verifica se o valor da saída D0 é diferente de 1 (1 = sem vibração) e, caso positivo, aciona a porta 4 por 5 segundos, retornando depois ao loop do programa e aguardando o próximo acionamento :

//Programa : Sensor de vibração com buzzer
//Autor : FILIPEFLOP

//Pino ligado a porta A0 do sensor
int porta_a0 = A0;
//Pino ligado a porta D0 do sensor
int porta_D0 = 2;
int leitura_porta_analogica = 0;
int leitura_porta_digital = 0;
//Pino ligado ao buzzer
int pinobuzzer = 4;

void setup()
{
  pinMode(porta_a0, INPUT);
  pinMode(porta_D0, INPUT);
  pinMode(pinobuzzer, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  //Leitura dos dados das portas do sensor
  leitura_porta_analogica = analogRead(porta_a0);
  leitura_porta_digital = digitalRead(porta_D0);
  //Mostra os valores no serial monitor
  Serial.print("Porta Digital : ");
  Serial.print(leitura_porta_digital);
  Serial.print(" Porta Analogica : ");
  Serial.println(leitura_porta_analogica);

  //Testa se o sensor foi acionado e liga o buzzer
  if (leitura_porta_digital != 1)
  {
    digitalWrite(pinobuzzer, HIGH);
    delay(5000);
    digitalWrite(pinobuzzer, LOW);
  }
  delay(100);
}

O ajuste da sensibilidade do módulo é feito girando o potenciômetro para a esquerda (diminui a sensibilidade), ou para a direita (aumenta a sensibilidade).

 Gostou? Deixe seu comentário logo abaixo. Em caso de dúvidas, caso queira trocar uma ideia, ou até mesmo dividir seu projeto, acesse nosso Fórum!

Faça seu comentário

Acesse sua conta e participe