// Pin untuk buzzer
int buzzerPin1 = 12;
int buzzerPin2 = 11;
int buzzerPin3 = 10;
int buzzerPin4 = 9;
// Pin kontrol sirine
int input1 = 2;
int input2 = 3;
int input3 = 4;
int input4 = 5; // Pin baru untuk sirine polisi yang berbeda
void setup() {
pinMode(buzzerPin1, OUTPUT);
pinMode(buzzerPin2, OUTPUT);
pinMode(buzzerPin3, OUTPUT);
pinMode(buzzerPin4, OUTPUT);
}
{
pinMode(input1, INPUT_PULLUP);
pinMode(input2, INPUT_PULLUP);
pinMode(input3, INPUT_PULLUP);
pinMode(input4, INPUT_PULLUP); // Pin baru diatur sebagai INPUT_PULLUP
}
void loop() {
// Cek kombinasi pin kontrol
if (digitalRead(input1) == LOW) {
Nada1(); // Jika pin sirine nada tinggi delay lambat aktif
}
else if (digitalRead(input2) == LOW) {
Nada2(); // Jika pin sirine nada rendah delay lambat aktif
}
else if (digitalRead(input3) == LOW) {
Nada3(); // Jika pin sirine nada tinggi delay cepat aktif
}
else if (digitalRead(input4) == LOW) {
Nada4(); // Jika pin sirine nada rendah delay cepat aktif
}
// Tambahkan logika untuk kombinasi lain jika perlu
// Jika tidak ada pin yang aktif, matikan buzzer
else {
noTone(buzzerPin 12, 11, 10, 9);
{
// Fungsi untuk sirine nada rendah, pola: naik turun lambat
void Nada1()
{
tone(buzzerPin12, 350); // Nada rendah
delay(450);
tone(buzzerPin12, 260); // Nada lebih rendah
delay(450);
}
// Fungsi untuk sirine nada tinggi, pola: naik turun lambat
void Nada2()
{
tone(buzzerPin11, 800); // Nada lebih tinggi
delay(450);
tone(buzzerPin11, 650); // Nada tinggi
delay(450);
}
// Fungsi untuk sirine nada rendah, pola: naik turun cepat
void Nada3()
{
tone(buzzerPin10, 350); // Nada rendah
delay(200);
tone(buzzerPin10, 260); // Nada lebih rendah
delay(200);
}
// Fungsi untuk sirine nada tinggi, pola: naik turun cepat
void Nada4() {
tone(buzzerPin9, 800); // Nada lebih tinggi
delay(200);
tone(buzzerPin9, 650); // Nada tinggi
delay(200);
}