// Sistem Alarm Keamanan Dengan Sensor UlterSonic
// Sensor ini akan mendeteksi sebuah gerakan dengan jarak 200cm dari sensor
// Ketika sensor menerima respon ada gerakan, maka alarm akan berbunyi
// Okky Rangga Pratama - NIM 1203220011
// Definisi Pin yang akan digunakan
#define trigerPin 11
#define echoPin 10
#define ledPin 7
#define speakerPin 9
#define pitch 262
// Definisi varibel global
double duration, distance;
// Inisialisasi set up awal untuk semua pin
void setup() {
Serial.begin(9600);
pinMode(trigerPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(speakerPin, OUTPUT);
}
// Loop utama program.
void loop(){
digitalWrite(trigerPin, LOW);
delayMicroseconds(2);
digitalWrite(trigerPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigerPin, LOW);
delayMicroseconds(2);
// Mengukur durasi waktu yang dibutuhkan oleh sinyal ultrasonik
duration = pulseIn(echoPin, HIGH);
// Menghitung jarak berdasarkan durasi waktu
distance = (duration/2) * 0.0343;
// Kondisi untuk mengecek jarak sensor terdeteksi dan menjalankan ke speaker dan led
if(distance>200) {
digitalWrite(ledPin, HIGH);
tone(speakerPin, pitch);
delay(200);
digitalWrite(ledPin, LOW);
noTone(speakerPin);
delay(200);
}
else{
digitalWrite(ledPin, LOW);
noTone(speakerPin);
}
}