#include <LiquidCrystal_I2C.h>
int BUZZ1 = 25; //30-45 khz
int BUZZ2 = 26; //45-50 khz
int buttonPin = 4;
int buttonState;
long ran;
long run;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup ()
{
pinMode (BUZZ1, OUTPUT);
pinMode (BUZZ2, OUTPUT);
pinMode (buttonPin, INPUT_PULLDOWN);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
}
void loop()
{
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH){
for (ran = 16; ran < 255; ran = ran + 16)
for (run = 500; run < 3000; run = run + 100)
ran = random();
run = random();
if (ran == 16){
dacWrite(BUZZ1, 16);
//digitalWrite (BUZZ1, HIGH);
lcd.setCursor(0,0);
lcd.print("Buzz 1 nyala 16");
Serial.println("Buzz 1 nyala 16");
delay (500);
}
if (ran == 32){
dacWrite(BUZZ2, 32);
//digitalWrite (BUZZ2, HIGH);
lcd.setCursor(0,0);
lcd.print("Buzz 2 nyala 32");
Serial.println("Buzz 2 nyala 32");
delay (1000);
}
if (ran == 64){
dacWrite(BUZZ1, 64);
//digitalWrite (BUZZ1, HIGH);
lcd.setCursor(0,0);
lcd.print("Buzz 1 nyala 64");
Serial.println("Buzz 1 nyala 64");
delay (1500);
}
if (ran == 128){
dacWrite(BUZZ2, 128);
//digitalWrite (BUZZ2, HIGH);
lcd.setCursor(0,0);
lcd.print("Buzz 2 nyala 128");
Serial.println("Buzz 12 nyala 128");
delay (2000);
}
if (ran == 5){
dacWrite(BUZZ1, 192);
//digitalWrite (BUZZ1, HIGH);
lcd.setCursor(0,0);
lcd.print("Buzz 1 nyala 192 ");
delay (2500);
}
if (ran == 6){
dacWrite(BUZZ2, 255);
//digitalWrite (BUZZ2, HIGH);
lcd.setCursor(0,0);
lcd.print("Buzz 2 nyala 255");
delay (3000);
}
}
digitalWrite (BUZZ1, LOW);
digitalWrite (BUZZ2, LOW);
}
//deklarasi dac, 0-255, tambah 16
//deklarasi durasi, 500-3000. tambah 100
//acak per deklarasi
//https://dronebotworkshop.com/esp32-dac/