const int ldrPin = 34; // Broche analogique de l'ESP32 à laquelle le LDR est connecté
const int redPin = 25; // Broche de la LED RGB (Rouge)
const int greenPin = 27; // Broche de la LED RGB (Vert)
const int bluePin = 26; // Broche de la LED RGB (Bleu)
void setup() {
pinMode(ldrPin, INPUT); // Déclare la broche du LDR comme entrée
pinMode(redPin, OUTPUT); // Déclare la LED RGB (Rouge) comme sortie
pinMode(greenPin, OUTPUT); // Déclare la LED RGB (Vert) comme sortie
pinMode(bluePin, OUTPUT); // Déclare la LED RGB (Bleu) comme sortie
Serial.begin(115200);
Serial.println("Lumière ambiante et LED RGB prêts.");
}
void loop() {
int ldrValue = analogRead(ldrPin); // Lire la valeur du LDR (lumière ambiante)
Serial.print("Valeur du LDR: ");
Serial.println(ldrValue);
// Normaliser la valeur du LDR pour qu'elle soit entre 0 et 255
int lightLevel = map(ldrValue, 0, 4095, 0, 255);
// Calculer l'intensité de la LED en fonction de la luminosité ambiante
int ledIntensity = 255 - lightLevel; // Plus la lumière est faible, plus la LED est intense
// Régler la couleur de la LED en fonction de l'intensité
analogWrite(redPin, ledIntensity); // Ajuste la LED rouge
analogWrite(greenPin, ledIntensity); // Ajuste la LED verte
analogWrite(bluePin, ledIntensity); // Ajuste la LED bleue
delay(500); // Petite pause pour éviter une lecture trop rapide
}