#include <Servo.h>
#include <TimeLib.h>
Servo myservo; // Buat objek servo
int lightSensorPin = A0; // Pin sensor cahaya
int servoPin = 9; // Pin servo
int ledPin = 13; // Pin lampu LED
int tempSensorPin = 11; // Pin sensor cahaya
void setup() {
myservo.attach(servoPin); // Sambungkan servo ke pin 9
pinMode(lightSensorPin, INPUT);
pinMode(tempSensorPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
int lightValue = analogRead(lightSensorPin);
int tempValue = digitalRead(tempSensorPin);
// Baca nilai sensor cahaya
if (lightValue > 600 || (lightValue >= 300 && lightValue <= 600) || (tempValue > 10 || (tempValue >= 10 && tempValue <= 25))) {
// Jika terang atau kondisi panas
myservo.write(0); // Buka atap (posisi 0)
digitalWrite(ledPin, HIGH); // Nyalakan lampu LED
} else {
// Jika gelap atau kondisi dingin/hujan
myservo.write(90); // Tutup atap (posisi 90)
digitalWrite(ledPin, LOW); // Matikan lampu LED
}
// Cek jam untuk atur waktu terbuka
int currentHour = hour();
if (currentHour >= 8 && currentHour < 15) {
myservo.write(0); // Buka atap (posisi 0)
digitalWrite(ledPin, HIGH); // Nyalakan lampu LED
}
delay(1000); // Delay untuk menghindari pembacaan sensor yang berlebihan
}