//Nama : Choirul Aminin
//NIM : 20102117
//Tugas : Lampu Otomatis berdasarkan Intensitas Cahaya (Tantangan)
const float GAMMA = 0.7; //Gamma 0.7
const float RL10 = 50; //Resistor 50 Ohm
int LedPin = 33; //deklarasi led pada pin 33
void setup() {
Serial.begin(115200);
pinMode(12, OUTPUT); //led pada Photoresistor di pin 12 (bukan di pin esp) sebagai output
pinMode(LedPin, OUTPUT); //ledpin sebagai output
}
void loop() {
int analogValue = analogRead(25); // membaca analog pada pin 25
float voltage = analogValue * 5/4095.0; //bacaan analog dari ldr (5 = vin 5 volt)
float resistance = 2000 * voltage / (1 - voltage / 5); // konversi
float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
Serial.print("Lux : "); //menampilkan hasil dari lux
Serial.println(lux);
if (lux >= 50){ //kondisi lux lebih dari atau sama dengan 50, status terang dan led mati
Serial.print("Status : ");
Serial.println("Terang");
digitalWrite(LedPin, LOW);
} else { //kondisi lux kurang dari 50, status gelap dan led hidup
Serial.print("Status: ");
Serial.println("Gelap");
digitalWrite(LedPin, HIGH);
}
Serial.println("=============================="); //memberikan batas agar rapi
delay(100); // this speeds up the simulation
}