#include <DallasTemperature.h>
#include <DHT.h>
#include <Wire.h> // Memanggil library wire.h
#include <LiquidCrystal_I2C.h> // Memanggil library LCD dengan I2C
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C(0x27) LCD dan Jenis LCD (20x4)
#define ldr A0 // Deklarasi LDR pada pin A0
#define led A1 // Deklarasi LED pada pin A1 Arduino Uno
int pot = A2;
int nilai;
int hum;
int temp;
int val;
int Setpoin; // Variabel nilai
void setup() {
pinMode(pot, INPUT);
pinMode(led, OUTPUT); // Deklarasi LED sebagai Output
pinMode(ldr, INPUT); // Deklarasi LDR sebagai Input
Serial.begin(9600); // Baud komunikasi serial pada 9600
lcd.init(); // instruksi untuk memulai LCD
lcd.begin(16,2); // instruksi untuk menggunakan lcd 20x4
lcd.backlight(); // instruksi untuk mengaktifkan lampu latar LCD
}
void loop() {
pot= analogRead(pot);
Serial.print("Value:");
Serial.print(val);
delay(500);
nilai = analogRead(ldr); // Instruksi membaca nilai analog LDR
Serial.print("Nilai LDR: "); // Menampilkan Nilai analog LDR pada Serial Monitor
Serial.println(nilai);
delay(1000);
// Menampilkan nilai analog pada LCD 20x4
lcd.setCursor(0, 0);
lcd.print("Nilai ");
lcd.print(nilai);
delay(1000);
if (nilai < 800) { // LED On jika nilai analog lebih kecil dari 800
digitalWrite(led, HIGH); // Instruksi menyalakan LED
Serial.print("LED ON");
lcd.setCursor(0,2);
lcd.print("LED : ON ");
}
else {
digitalWrite(led, LOW); // LED Off ika nilai analog lebih besar dari 900
Serial.print("LED OFF"); // Instruksi mematikan LED
lcd.setCursor(0,2);
lcd.print("LED : OFF ");
}
pot = map(pot, 0, 1023, 0, 100);
lcd.setCursor(10,0);
lcd.print("Value: ");
lcd.print(pot);
}