O sensor de batida piezoelétrico é um componente que detecta vibrações.
Ele usa o efeito piezoelétrico para gerar um sinal elétrico proporcional às vibrações.
Seu princípio de funcionamento baseia-se no efeito piezoelétrico, onde o cristal piezo gera tensão elétrica quando submetido a pressão ou vibração.
O sinal gerado é de baixa tensão e em forma de onda alternada, proporcional à intensidade das vibrações.
Ele é resistente a altas temperaturas e vibrações intensas.
A leitura do sensor no Arduino é feita através de uma conexão de sinal a um pino analógico do Arduino.
Neste projeto você criará um circuito que faz o uso de um sensor de batida (knock) com o Arduino.
Para a criação deste circuito serão necessários os seguintes componentes:
Para montar o circuito, visualize na imagem a seguir como conectar os componentes entre a placa Arduino e a breadboard.
Uma vez criado o circuito, use o código fonte a seguir no Arduino IDE para fazer o upload dele na placa Arduino e assim ver o resultado do circuito em funcionamento.
/**
* Código do curso Magos do Arduino para utilizar um Sensor de Batida (Knock)
* com o Arduino.
*
* Utilize o sensor de batida para acender e apagar um LED quando o sensor detectar
* um sinal maior do que o limite definido no código do Arduino.
*
* (c) Copyright KazaleIT
* @kazaleitoficial no YouTube
**/
#define PINO_LED 2
#define PINO_SENSOR_BATIDA A0
#define LIMITE_SENSOR 40
int valorSensor = 0; // armazena o valor do sensor
int controleLed = LOW; // armazena se o LED está aceso ou apagado
void setup() {
pinMode(PINO_LED, OUTPUT);
}
void loop() {
// realiza a leitura do sensor
valorSensor = analogRead(PINO_SENSOR_BATIDA);
// caso valor lido seja maior do que o limite altera o status do LED
if (valorSensor >= LIMITE_SENSOR) {
// inverte o valor corrente do LED
controleLed = !controleLed;
digitalWrite(PINO_LED, controleLed);
}
delay(100);
}