#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Servo.h>
#define buzer A3
#define sensor A2
Servo myservo;
LiquidCrystal_I2C lcd(0x3f, 16, 2);
void setup() {
Serial.begin(9600);
Wire.begin();
Wire.beginTransmission(0x3F);
if (Wire.endTransmission())
{
lcd = LiquidCrystal_I2C(0x27, 16, 2);
}
lcd.init(); // klw error ganti lcd.begin
lcd.backlight();
pinMode(buzer,OUTPUT);
myservo.attach(5);
digitalWrite(buzer,HIGH);
delay(100);
digitalWrite(buzer,LOW);
delay(100);
digitalWrite(buzer,HIGH);
delay(100);
digitalWrite(buzer,LOW);
delay(100);
myservo.write(0);
}
void loop()
{
int ldr=analogRead(sensor);
Serial.println (ldr);
float voltage =ldr * (5.0/1023.0);
//lcd.setCursor(0,0); lcd.print("Volt =");lcd.print(voltage);lcd.print(" ");
lcd.setCursor(0,0); lcd.print("ADC=");lcd.print(ldr);lcd.print(" ");
delay(1000);
int tes = map(ldr, 0, 1023, 0, 180);
//lcd.setCursor(0,0);lcd.print(tes);lcd.print(" ");
myservo.write(tes);
if(ldr<=300)
{
lcd.setCursor(8,0);lcd.print("Gelap ");
lcd.setCursor(0,1);lcd.print("Jendela Tertutup");
delay(100);
}
else {lcd.setCursor(8,0);lcd.print("Terang");
lcd.setCursor(0,1);lcd.print("Jendela Terbuka ");
delay(100);
}
}