const int soundSensorPin = A0; // Pin analog untuk sensor suara
const int ledPin = 13; // Pin untuk LED
const int buzzerPin = 9; // Pin untuk buzzer
int threshold = 500; // Ambang batas sensor dari potensiometer yang ditetapkan
int soundDetected = 0;// Jumlah deteksi suara
bool ledState = LOW; // status LED
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int soundValue = analogRead(soundSensorPin); // membaca nilai dari sensor suara
Serial.println(soundValue); // output nilai ke Serial Monitor untuk pemantauan
if (soundValue > threshold) {
soundDetected++; // menambah jumlah deteksi suara jika suara melebihi ambang batas
tone(buzzerPin, 1000); // meyalakan buzzer dengan frekuensi 1000
delay(70); // menahan output suara selama 0.1 detik
noTone(buzzerPin); // mematikan buzzer
digitalWrite(ledPin, HIGH); // menyalakan LED
delay (70);
digitalWrite(ledPin, LOW);
delay(70);
} else {
digitalWrite(ledPin, LOW); // mematikan LED jika suara tidak melebihi ambang batas
soundDetected = 0; // meyetel ulang jumlah deteksi suara
}
if (soundDetected == 3) {
delay(500); // 0.5detik senyap
soundDetected = 0; // penyetelan ulang deteksi suara
}
delay(50); //bagian ini diperuntukkan untuk sedikit keterlambatan sebelum membaca sensor lagi
}