#113Débutant
Mesure de l'intensité lumineuse avec le module LDR ESP32
Suivi en temps réel de la valeur de luminosité mesurée par le module LDR sur le moniteur série + valeur approximative en lux. Permet de comprendre le principe de calibrage du module. Il est préférable de réaliser cet exercice avant le projet 10, car il sert à déterminer la valeur seuil.
4.6(36)
55 terminé

Suivi en temps réel de la valeur de luminosité mesurée par le module LDR sur le moniteur série + valeur approximative en lux. Permet de comprendre le principe de calibrage du module. Il est préférable de réaliser cet exercice avant le projet 10, car il sert à déterminer la valeur seuil.
Vidéo
Schéma du circuit

Code source
1#if defined(CONFIG_IDF_TARGET_ESP32S2) || defined(CONFIG_IDF_TARGET_ESP32S3)
2 const int LDR_PIN = 1; // ESP32-S2/S3: ADC1_CH0
3#else
4 const int LDR_PIN = 34; // Klasik ESP32 DevKit V1: ADC1_CH6 (input-only) / GPIO 1 Serial TX cakisir
5#endif
6
7// Kalibrasyon — kendi ortamında ölç, buraya yaz:
8// LDR Modülünde aydınlık arttıkça A0 voltajı (ve raw) DÜŞER.
9const int RAW_DARK = 4000; // Karanlık raw / Dark raw
10const int RAW_LIGHT = 100; // Aydınlık raw / Light raw
11
12void setup() {
13 Serial.begin(115200);
14 analogReadResolution(12); // 12-bit ADC / Force 12-bit
15 Serial.println("LDR Okuma / LDR Reading");
16 Serial.println("-----------------------------");
17}
18
19void loop() {
20 int raw = analogRead(LDR_PIN);
21 int clipped = constrain(raw, RAW_LIGHT, RAW_DARK);
22 int percent = map(clipped, RAW_DARK, RAW_LIGHT, 0, 100);
23
24 Serial.print("Raw: ");
25 Serial.print(raw);
26 Serial.print(" | Light: %");
27 Serial.println(percent);
28
29 delay(500);
30}