Uma LDR (Light Dependent Resistor — fotorresistência) varia a sua resistência com a luminosidade: alta resistência no escuro (~1 MΩ), baixa resistência na luz intensa (~1 kΩ). O módulo inclui já a resistência de pull-down e o divisor de tensão — basta ler o pino analógico.
Fio do pino VCC do módulo ao pino 5V do Arduino.
Fio do pino GND do módulo ao GND do Arduino.
Fio do pino AO do módulo ao pino analógico A0 do Arduino.
#define LDR_PIN A0
void setup() {
Serial.begin(9600);
Serial.println("LDR · Leitura de Luminosidade");
}
void loop() {
int raw = analogRead(LDR_PIN); // 0–1023
float v = raw * 5.0 / 1023.0; // Tensão em Volts
int pct = map(raw, 0, 1023, 0, 100); // 0–100%
Serial.print("Raw: "); Serial.print(raw);
Serial.print(" V: "); Serial.print(v, 2);
Serial.print(" Luz: "); Serial.print(pct);
Serial.println("%");
delay(500);
}#define LDR_PIN A0
#define LED_PIN 9 // Pino PWM para controlo de brilho
#define LIMIAR 400 // Ajusta conforme o teu ambiente
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
int luz = analogRead(LDR_PIN);
// Brilho inversamente proporcional à luz ambiente
int brilho = map(luz, 0, 1023, 255, 0);
brilho = constrain(brilho, 0, 255);
analogWrite(LED_PIN, brilho);
Serial.print("LDR: "); Serial.print(luz);
Serial.print(" Brilho LED: "); Serial.println(brilho);
delay(100);
}