#include <Servo.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
Servo jemuran;
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int sensorPin = A0;
const int switchHujan = 2;
const int ledHijau = 6;
const int ledMerah = 7;
int batasCahaya = 500;
void setup() {
Serial.begin(9600);
jemuran.attach(9);
pinMode(switchHujan, INPUT_PULLUP);
pinMode(ledHijau, OUTPUT);
pinMode(ledMerah, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("JEMURAN PINTAR");
lcd.setCursor(0, 1);
lcd.print("System Ready");
delay(2000);
lcd.clear();
jemuran.write(0);
}
void loop() {
int cahaya = analogRead(sensorPin);
int kondisiHujan = digitalRead(switchHujan);
Serial.print("Cahaya: ");
Serial.println(cahaya);
if (kondisiHujan == LOW) {
jemuran.write(0);
digitalWrite(ledHijau, LOW);
digitalWrite(ledMerah, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("HUJAN TERDETEKSI");
lcd.setCursor(0, 1);
lcd.print("JEMURAN TUTUP");
}
else {
if (cahaya < batasCahaya) {
jemuran.write(90);
digitalWrite(ledHijau, HIGH);
digitalWrite(ledMerah, LOW);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("CUACA CERAH");
lcd.setCursor(0, 1);
lcd.print("JEMURAN BUKA");
}
else {
jemuran.write(0);
digitalWrite(ledHijau, LOW);
digitalWrite(ledMerah, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("CUACA MENDUNG");
lcd.setCursor(0, 1);
lcd.print("JEMURAN TUTUP");
}
}
delay(500);
}Resistor 220