//untuk mendefinisikan
#define pinTrig 3
#define pinEcho 2
#define pinBuz 13
long waktu, jarak; //menggunakan tipe data long
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(pinBuz, OUTPUT);//di fungsikan sebagai output
pinMode(pinTrig, OUTPUT);//fungsinya untuk memberikan sinyal atau transfer sinyal
pinMode(pinEcho, INPUT);//yang akan menerima sinyal pantulan dari pin Triger,
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(pinTrig, LOW);//pin Triger di berikan tegangan low atau di matikan
delayMicroseconds(2);
digitalWrite(pinTrig, HIGH);//untuk menghidupkan
delayMicroseconds(10);//diberikan jeda / nilai 10
digitalWrite(pinTrig, LOW);
//setelah jaraknya ini di ketahui, sekarang kita tentukan jarak berapah buzzer ini berbunyi
waktu = pulseIn(pinEcho, HIGH); //menentukan waktu masuknya yang akan dihidupkan
jarak = waktu / 58.2;
if (jarak < 250 && jarak >= 200){ //200-250 mlmeter bru buzzer berbunyi
tone(pinBuz, 100);//tone untuk menghidupkan buzzer kemudian frekuensi yang kita inginkan misal 100 hats
delay(50);
noTone(pinBuz);//kemudian buzzer dimatikan
delay(200);
}
if (jarak < 200 && jarak >= 150){
tone(pinBuz, 200);
delay(50);
noTone(pinBuz);
delay(150);
}
if (jarak < 150 && jarak >= 100){
tone(pinBuz, 300);
delay(50);
noTone(pinBuz);
delay(100);
}
if (jarak < 100 && jarak >= 50){
tone(pinBuz, 400);
delay(50);
noTone(pinBuz);
delay(50);
}
if (jarak < 50 && jarak >= 2){
tone(pinBuz, 500);
delay(50);
noTone(pinBuz);
}
else {
noTone(pinBuz);//jika selain itu alarm tidak dibunyikan atau noTine pinBuz.
}
}