#113
Visualización en tiempo real en el monitor serie del valor de luz medido por el módulo LDR + valor aproximado en lux. Explica el funcionamiento de la calibración del módulo. Es recomendable realizarlo antes del Proyecto 10, ya que se utiliza para determinar el valor umbral.


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}