#include <LiquidCrystal_I2C.h>
int cahaya = 0; //deklarasikan variabel cahaya
LiquidCrystal_I2C lcd(0x27,20,4);
void setup() {
// put your setup code here, to run once:
pinMode(A0, INPUT); //inisialisasi untuk pin A0 sebagai input
pinMode(4, OUTPUT); //inisialisasi untuk pin 4 sebagai output
pinMode(5, OUTPUT); //inisialisasi untuk pin 5 sebagai output
pinMode(6, OUTPUT); //inisialisasi untuk pin 6 sebagai output
Serial.begin(9600);
//untuk menampilkan di lcd
lcd.init();
lcd.backlight();
digitalWrite(4, HIGH); //untuk menyalakan lampu yang terhubung pada pin4
digitalWrite(5, HIGH); //untuk menyalakan lampu yang terhubung pada pin5
digitalWrite(6, HIGH); //untuk menyalakan lampu yang terhubung pada pin6
lcd.setCursor(0,0);
lcd.print("Sensor Cahaya");
lcd.setCursor(0,1);
lcd.print("dibuat oleh");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Mukh. Naufal Nazih");
lcd.setCursor(0,1);
lcd.print("20.240.0039");
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
delay(2000);
lcd.clear();
delay(1000);
}
void loop() {
// put your main code here, to run repeatedly:
cahaya = analogRead(A0);
//jika ruangan dalam keadaan gelap maka semua lampu akan menyala
if(cahaya < 250){
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
//untuk menampilkan di lcd
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Cahaya :");
lcd.setCursor(7,0);
lcd.print(cahaya);
lcd.setCursor(0,1);
lcd.print("Ruangan Gelap");
}
//jika ruangan dalam keadaan gelap maka 2 lampu akan menyala
if(cahaya > 250 && cahaya < 750){
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
//untuk menampilkan di lcd
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Cahaya :");
lcd.setCursor(7,0);
lcd.print(cahaya);
lcd.setCursor(0,1);
lcd.print("Ruangan Redup");
}
//untuk menyalakan 1 lampu saat ruangan dalam keadaan terang
if(cahaya > 750){
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
//untuk menampilkan di lcd
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Cahaya :");
lcd.setCursor(7,0);
lcd.print(cahaya);
lcd.setCursor(0,1);
lcd.print("Ruangan Terang");
}
delay(1000);
}