//31 Hz to 65535 Hz
#include <MusicBuzzer.h>
const int BUZZER_PIN = 8; // declaring the Buzzer pin
const int trigPin = 10;
const int echoPin = 9;
const int adjustPin = A0;
long duration, defautltTriggerDistance;
int distanceCm, distanceInch;
boolean play = false;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
//Serial.begin(115200);
pinMode(BUZZER_PIN, OUTPUT); //addigning pin to Output mode
music.init(BUZZER_PIN);
pinMode(trigPin, OUTPUT);
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
pinMode(echoPin, INPUT);
delay(6000);
defautltTriggerDistance = 24;
}
void loop() {
ExamineSensor();
}
void RunBuzzerSound(){
// put your main code here, to run repeatedly:
tone(BUZZER_PIN, 4000); // Send 1KHz sound signal...
delay(1000); //pause...for 1 sec
noTone(BUZZER_PIN); //// Stop sound...
//delay(1000); //// ...for 1sec
tone(BUZZER_PIN, 1000); // Send 1KHz sound signal...
delay(1000); //pause...for 1 sec
noTone(BUZZER_PIN); //// Stop sound...
delay(100); //// ...for 1ms
}
void RunMusicSound()
{
music.greensleeves(); //YOU'VE BEEN RICK ROLLED
delay(2000);
}
void ExamineSensor()
{
int sensorValue = 0;
sensorValue = analogRead(A0);
long triggerDist = map(sensorValue,0,1024,0,30);
long activeTriggerDist = defautltTriggerDistance;
bool alarmTriggered = false;
if(defautltTriggerDistance != triggerDist)
{
activeTriggerDist = triggerDist;
}
digitalWrite(trigPin, HIGH);//Take ultrasonic Measurement
delayMicroseconds(10); //
digitalWrite(trigPin, LOW);//
duration = pulseIn(echoPin, HIGH); //Read ultrasonic result
distanceInch = duration * 0.0133 / 2; //sensor distance from object in inches
String stringDistanceInch = (String) distanceInch;
String stringtriggerDist = (String) activeTriggerDist;
Serial.println("Distance Inch:" + stringDistanceInch);
Serial.println("Trigger Distance Inch:" + stringtriggerDist);
if (distanceInch < activeTriggerDist && distanceInch > 0) {
RunMusicSound();
alarmTriggered = true;
}
Serial.print(triggerDist);
Serial.print("--");
Serial.println(distanceInch);
if(alarmTriggered)
{
delay(1000);
}
else{
delay(1000);
}
}