#include <Arduino.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
//atur alamat LCD, nomor dari kolom dan baris
const int pinBuzzer = 13;
const int merah = 41;
const int hijau = 40;
String text = "Caution!! Gas anda mengalami kebocoran";
int textLength = text.length();
int lcdWidth = 16;
void setup() {
pinMode(pinBuzzer, OUTPUT);
pinMode(merah,OUTPUT);
pinMode(hijau,OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
digitalWrite(hijau, HIGH);
// lcd.print("Selamat Datang projek IOT");
}
void loop(){
tone(pinBuzzer, 500);
delay(100);
noTone(pinBuzzer);
delay(100);
tone(pinBuzzer,500);
delay(100);
noTone(pinBuzzer);
delay(100);
digitalWrite(merah, HIGH);
delay(250);
digitalWrite(merah, LOW);
delay(250);
for (int position =0; position < textLength -lcdWidth + 1; position++){
lcd.clear();
lcd.setCursor(0,0);
lcd.print(text.substring(position, position + lcdWidth));
delay(300);
}
}
//https://jasaarduino.com/cara-simple-menggunakan-lcd-16x2-i2c-menggunakan-esp32/