/*
* Elijah Yacoob L. Zipagan
* Motion Alarm System
*/
const int trigPin = 8;// Trig pin 8
const int echoPin = 9;// Echo pin 9
long duration;// Long type variable for duration no value
int distance; // int Type variable for distance no value
int minDistance = 10;//Set minDistance value to 10
int maxDistance = 15;//Set maxDistance value to 15
int buzzerPin = 11;//Declare an int type variable named buzz and add 11 as its pin value
int ledPin = 10;//Declare an int type variable named ledPin and add 10 as its pin value
String team = "Team Fantastic Four";
String project = "Motion Alarm System";
//minimum distance for the alarm
const int MIN_DISTANCE = 20; // Minimum distance in cm
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
Serial.begin(9600); // Set default rate BAUD
pinMode(buzzerPin, OUTPUT); //Set buzz pin as an output
pinMode(ledPin, OUTPUT);// Set ledPin as an output
Serial.println(team);
Serial.println(project);
}
void loop() {
digitalWrite(trigPin, LOW); // Trig Pin OFf
delayMicroseconds(2);//Wait 2 Microseconds
digitalWrite(trigPin, HIGH); // Trig Pin ON
delayMicroseconds(10); // Wait 10 Micorseconds
digitalWrite(trigPin, LOW); //Trig Pin OFF
// Measure the duration of the pulse coming back
long duration = pulseIn(echoPin, HIGH);
// Convert duration to distance in cm
int distance = duration * 0.034 / 2; // Formula for distance in cm
// Print distance to the Serial Monitor (for debugging)
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Trigger alarm if the object is close
if (distance > 0 && distance < MIN_DISTANCE) { // Use MIN_DISTANCE
Serial.println("Unidentified threat!");
//BEEP 1X TURN ON LED
tone(buzzerPin, 600, 500);//Beep Once for half second
digitalWrite(ledPin, HIGH); //Turn LED Red on
digitalWrite(ledPin, LOW);// Turn LED Red off to blink
delay(1000); //Wait in miliseconds 1000 = 1 Secod
}
// Add a short delay to prevent excessive triggering
delay(100);
}