#include <LiquidCrystal_I2C.h>
int freq[] = {30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40}; // 11 elemen
int timeArray[] = {100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000}; // 19 elemen
int buzzer = 25;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(buzzer, OUTPUT);
Serial.begin(115200);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Pengusir Tikus");
lcd.setCursor(0, 1);
lcd.print("Mode Manual");
delay(1000);
}
void loop() {
int ranFreqIndex = random(0, sizeof(freq)/sizeof(freq[0]));
int ranTimeIndex = random(0, sizeof(timeArray)/sizeof(timeArray[0]));
int ranFreq = freq[ranFreqIndex];
int ranTime = timeArray[ranTimeIndex];
tone(buzzer, ranFreq * 1000); // konversi ke Hz
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Output Active");
lcd.setCursor(0, 1);
lcd.print("Standby...");
// ✅ Menampilkan di Serial Monitor saja
Serial.println("======================");
Serial.print("Frekuensi (kHz): ");
Serial.println(ranFreq);
Serial.print("Delay (ms): ");
Serial.println(ranTime);
Serial.println("======================");
delay(ranTime);
noTone(buzzer);
}