// LDR Characteristics
const float GAMMA = 0.7;
const float RL10 = 50;
const int ledPins[] = {2, 4, 5, 18}; // Pin numbers for the LEDs
void setup() {
Serial.begin(11200);
for (int i = 0; i < 4; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
float manage_led(int nb){
digitalWrite(ledPins[nb], HIGH); // LED ON
for (int i = 0; i < 4; i++) {
if (i != nb){
digitalWrite(ledPins[i], LOW); // LED OFF
}
}
return nb;
}
void loop() {
int analogValue = analogRead(32);
float voltage = analogValue / 1024. * 5;
float resistance = 2000 * voltage / (1 - voltage / 5);
float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
if (lux < 10) {
manage_led(0);
Serial.print("sombre : ");
Serial.println(lux);
}
if (lux > 10 && lux < 100) {
manage_led(1);
Serial.print("faible : ");
Serial.println(lux);
}
if (lux > 100 && lux < 1000) {
manage_led(2);
Serial.print("lumineux : ");
Serial.println(lux);
}
if (lux > 1000) {
manage_led(3);
Serial.print("Très lumineux : ");
Serial.println(lux);
}
else {
for (int i = 0; i < 4; i++) {
digitalWrite(ledPins[i], LOW); // LED OFF
}
}
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
ldr1:VCC
ldr1:GND
ldr1:DO
ldr1:AO
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C