#define DARK HIGH
#define LIGHT LOW
const int BTNGREEN = 34;
const int BTNWHITE = 27;
const int RELAY_PIN = 17;
const int LDR_PIN = 16;
void setup() {
Serial.begin(115200);
pinMode(BTNGREEN, INPUT_PULLUP);
pinMode(BTNWHITE, INPUT_PULLUP);
pinMode(LDR_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
}
void loop() {
int modeState = digitalRead(BTNGREEN);
int ledState = digitalRead(BTNWHITE);
int lightState = digitalRead(LDR_PIN);
//Manual ไฟแดงดับ ไฟขาวติดตามแสง
if (modeState == 1){
digitalWrite(RELAY_PIN, LOW);
Serial.print("Manual ");
if(lightState == DARK){
Serial.println("Dark");
digitalWrite(RELAY_PIN, HIGH);
}
else{
Serial.println("Light");
digitalWrite(RELAY_PIN, LOW);
}
delay(100);
}
else{
digitalWrite(RELAY_PIN, HIGH);
Serial.print("Auto ");
autoMode(ledState);
}
}
//Auto ไฟแดงติด ไฟขาวติดตามการกดปุ่ม
void autoMode(int led){
if (led == 1){
digitalWrite(RELAY_PIN, HIGH);
Serial.println("Light สว่าง");
}
else{
digitalWrite(RELAY_PIN, LOW);
Serial.println("Dark ดับ");
}
delay(100);
}
void manualMode(){
digitalWrite(RELAY_PIN, LOW);
}