Adquira estes componentes na Loja do Lab de Garagem
Neste tutorial, vamos falar sobre o elemento piezo e como utilizá-lo com Arduino. Elementos piezo podem ser utilizados quando você precisa detectar a vibração ou a uma batida. Como por exemplo, torneira ou sensores de detonação. Eles também podem ser utilizados para transdutor de áudio, como uma campainha.
Para utilizar com Arduino é necessário um resistor de 1Mega Ohm em paralelo com o elemento piezo e ligá-lo na porta analógica do Arduino. As ligações estão demonstradas abaixo:
Feito as ligações, vamos a programação exemplo tirada da página: http://www.arduino.cc/en/Tutorial/Knock
/* Knock Sensor
This sketch reads a piezo element to detect a knocking sound.
It reads an analog pin and compares the result to a set threshold.
If the result is greater than the threshold, it writes
"knock" to the serial port, and toggles the LED on pin 13.
The circuit:
* + connection of the piezo attached to analog in 0
* - connection of the piezo attached to ground
* 1-megohm resistor attached from analog in 0 to ground
http://www.arduino.cc/en/Tutorial/Knock
created 25 Mar 2007
by David Cuartielles a href="http://www.0j0.org%3E">http://www.0j0.org>;
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
*/
// these constants won't change:
const int ledPin = 13; // led connected to digital pin 13
const int knockSensor = A0; // the piezo is connected to analog pin 0
const int threshold = 100; // threshold value to decide when the detected sound is a knock or not
// these variables will change:
int sensorReading = 0; // variable to store the value read from the sensor pin
int ledState = LOW; // variable used to store the last LED status, to toggle the light
void setup() {
pinMode(ledPin, OUTPUT); // declare the ledPin as as OUTPUT
Serial.begin(9600); // use the serial port
}
void loop() {
// read the sensor and store it in the variable sensorReading:
sensorReading = analogRead(knockSensor);
// if the sensor reading is greater than the threshold:
if (sensorReading >= threshold) {
// toggle the status of the ledPin:
ledState = !ledState;
// update the LED pin itself:
digitalWrite(ledPin, ledState);
// send the string "Knock!" back to the computer, followed by newline
Serial.println("Knock!");
}
delay(100); // delay to avoid overloading the serial port buffer
}
Agora, selecione a sua versão da sua placa Arduino (UNO, Duemilanove, etc), selecione a porta em que o Arduino está conectado (COMx, ttyUSBx, ttyACMx, etc) e faça UPLOAD.
Na programação acima, ao dar uma batida no elemento piezo, o arduino faz a leitura pela porta analógica A0 e se a leitura for maior que o threshold (>100), ele mostra no Serial Monitor a palavra "Knock!".
E é isso!! Muito simples!! Se você tiver dúvidas sobre o assunto, poste aqui mesmo no blog. Se tiver sugestões para tutoriais, você pode postar aqui! Você pode ver outros tutoriais feitos clicando aqui e se quiser ver projetos abertos disponibilizados, clique aqui! Até a próxima!
Referências:
Comentar
ola, mas eu queria que o numero de vibraçoes aparece se num lcd, preciso de fazer alguma conta especial? ou o proprio piezo ja me da os valores da vibraçoes em m/s^2?
olá, estou com um tcc, no qual uma parte dele é detectar uma pessoa sentada num banco de carro. Eu e meu grupo estamos pensando em usar um sensores piezoelétricos no assento do banco. Gostaria de que alguém me desse uma ideia de como colocar o piezoelétrico no banco e se esse sensor é o mais recomendado pra situação. Desde já agradeço!
alguem de vocês podem me ajudar com um circito com capsula piezoeletrica, eu quero que ele detecte uma vibração bem pequena de uma linha de tecido correndo em "alta velocidade" por dentro de um "tubinho" que ficará encostado na capsula, a capsula por sua vez deve detectar esta pequena vibração e o positivo dela eu quero ligar na base de um transistor para manter tipo um rele acionado, eu já cheguei perto de conseguir mas nã consegui uma sensibilidade suficiente na capsula, eu preciso que ela detecte uma pressão ou vibração bem pequena do "tubinho", se alguem puder me ajudar eu ficaria eternamente grato, porque já tentei de todo jeito! um abraço, companheiros, fiquem com DEUS.
Bom Dia Gostaria de achar umaloja no Brasil para comprar este componente, pois não estou achando.
Fiz a montagem aqui e precisei do resistor de 1 mega ohm mesmo, senão detecta sempre 0.
O problema é que a placa pecisa ter uma certa mobilidade para que detecte o impacto. Se ficar encostada em uma superfície, por exemplo, o funcionamento fica ruim.
Precisa mesmo de um resistor de 1 MEGAOhm?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)