I am trying to amplify a piezo sensor per the instructions found at the link below. I am not trying to trigger a buzzer only print to the serial monitor whether the vibration was detected or not. I am a NOOB with respect to circuits and unable to understand why my circuit is not working.
The piezo is either giving a positive (sensing) reading or giving a negative (not sensing) reading depending on where the poteniometer is set. There is no state where-if all is quiet-the piezo is quite and if there is a vibration the piezo senses it and reports to the serial monitor. I see from the blog that if the piezo get stuck on a state to lower the feedback resistor of the op-amp from 220k to 160k but again, there is never a case where it is working then get struck in state. It is always stuck in a state!
The blog post mentions a 0.1uf capacitor in the hand-drawn sketch but the Fritzing diagram shows a 10uf capacitor. I am using the 10uf capacitor. Will switching out the 10uf for a 0.1uf capacitor test potentially damage the Arduino? Is this the cause of the +-state of the piezo? Do I just have a wiring flaw? Any advice is appreciated.
Here is a link to the post including the Fritzing diagram. http://davidhoulding.blogspot.com/2014/02/high-sensitivity-vibration-sensor-using.html
Here is a picture of my circuit.
And the Sketch...
#define VIBRATION_DIGITAL_IN_PIN 8
int DurationMillis = 1000;
void setup()
{
Serial.begin(9600);
pinMode(VIBRATION_DIGITAL_IN_PIN,INPUT);
}
void loop()
{
if(digitalRead(VIBRATION_DIGITAL_IN_PIN)==HIGH)
{
Serial.println("I felt that");
delay(DurationMillis);
}
else
{
Serial.println("I don't feel anything...");
delay(DurationMillis);
}
}