我试图使用Arduino和Piezo Buzzer生成敲击探测器 . 在这个项目中使用的那个与在这张图片中相同

enter image description here

使用此代码

const int outputPin = 8;    // led indicator connected to digital pin
const int knockSensor = A0; // the piezo is connected to an analog pin
const int thresholdHIGH =150;  // threshold value to decide when the detected knock is hard (HIGH)
const int thresholdLOW = 120;  // threshold value to decide when the detected knock is gentle (LOW)


const int secretKnockLength = 4; //How many knocks are in your secret knock

/* This is the secret knock sequence
 * 0 represents a LOW or quiet knock
 * 1 represents a HIGH or loud knock
 * The sequence can be as long as you like, but longer codes increase the difficulty of matching */
const int secretKnock[secretKnockLength] = {0, 0, 1, 0};

int secretCounter = 0; //this tracks the correct knocks and allows you to move through the sequence
int sensorReading = 0; // variable to store the value read from the sensor pin

void setup() {

  //Set the output pin as an OUTPUT
  pinMode(outputPin, OUTPUT);

  //analogWrite(knockSensor, LOW);  

  //Begin Serial Communication.
  Serial.begin(9600);

}

void loop() {

  // read the piezo sensor and store the value in the variable sensorReading:
  sensorReading = analogRead(knockSensor);
  Serial.print ("Valor del Sensor: ");
  Serial.println(sensorReading);

  // First determine is knock if Hard (HIGH) or Gentle (LOW)

  //Hard knock (HIGH) is detected
  if (sensorReading >= thresholdHIGH) {

    //Check to see if a Hard Knock matches the Secret Knock in the correct sequence.
    if (secretKnock[secretCounter] == 1) {

      //The Knock was correct, iterate the counter.
      secretCounter++;
      Serial.println("Correct");


    } else {

      //The Knock was incorrect, reset the counter
      secretCounter = 0;
      Serial.println("Fail");
      digitalWrite(outputPin, LOW);
    }//close if

    //Allow some time to pass before sampling again to ensure a clear signal.
    delay(100);

    //Gentle knock (LOW) is detected
  } else if (sensorReading >= thresholdLOW) {

    //Check to see if a Gentle Knock matches the Secret Knock in the correct sequence.
    if (secretKnock[secretCounter] == 0) {

      //The Knock was correct, iterate the counter.
      secretCounter++;
      Serial.println("Correct");

    } else {

      //The Knock was incorrect, reset the counter.
      secretCounter = 0;
      Serial.println("Fail");

    }//close if

    //Allow some time to pass before sampling again to ensure a clear signal.
    delay(100);

  }//close if else

  //Check for successful entry of the code, by seeing if the entire array has been walked through.
  if (secretCounter == (secretKnockLength) ) {

    Serial.println("Welcome");

    //if the sececret knock is correct, illuminate the LED for a couple seconds
    digitalWrite(outputPin, HIGH);


    //Reset the secret counter to 0.
    secretCounter = 0;

  }//close success check

}//close loop".

我的问题是蜂鸣器什么都没检测到 . 我不知道这是因为蜂鸣器不是正确的或其他东西 .

任何的想法?