#include <EducationShield.h>
//Declare the pezio knock sensor. Connected to A0
PiezoKnockSensor sensor=PiezoKnockSensor(A0);
//Declare the servo motor for opening the lid
Servo lidOpener;
void setup(){
//define the threshold and debounce time of the knock
//sensor. Threshold defines how hard you need to knock,
//debounce time prevents the sensor from detecting
//false knocks, but also limits how rapid you can knock.
//See the PiezoKnockSensor sketch in the help folder
//to make sure your values are correct
sensor.config(100,80);
//initialize the servo
lidOpener.attach(9);
//Rotate servo to close lid a 0º
lidOpener.write(0);
pinMode(2, OUTPUT);
}
void loop(){
if(sensor.knocked(20)){
//rotate the servo motor to open the lid
lidOpener.write(180);
//play de music
tone(2,294,150);
delay(50);
tone(2,294,150);
delay(50);
tone(2,294,150);
delay(50);
tone(2,392,900);
delay(50);
tone(2,587,900);
delay(50);
tone(2,523,150);
delay(50);
tone(2,494,150);
delay(50);
tone(2,440,150);
delay(50);
tone(2,784,150);
delay(50);
tone(2,587,150);
delay(50);
tone(2,523,150);
delay(50);
tone(2,494,150);
delay(50);
tone(2,784,150);
delay(50);
tone(2,587,150);
delay(50);
tone(2,523,150);
delay(50);
tone(2,494,150);
delay(50)
//close the lid
lidOpener.write(0);
delay(200);
}
}
Comments