Controlando o Brilho do LED com Sensor de Luz (LDR) e PWM
Hoje vamos avançar no projeto anterior: em vez de acender o LED de forma brusca, agora o brilho será ajustado gradualmente com base na luz ambiente. Isso torna o sistema mais inteligente e suave, como acontece em automações residenciais.
📦 Materiais necessários:
- 1 LED
- 1 Resistor de 220 Ohm (para o LED)
- 1 LDR (sensor de luz)
- 1 Resistor de 10k Ohm (para o divisor com o LDR)
- Protoboard
- Cabos jumper
- Arduino Uno
📷 Esquema de ligação
💻 Código para controle de brilho com LDR
int pinoLDR = A0;
int pinoLED = 9;
void setup() {
pinMode(pinoLED, OUTPUT);
Serial.begin(9600);
}
void loop() {
int leituraLDR = analogRead(pinoLDR);
int brilho = map(leituraLDR, 0, 1023, 255, 0); // mais luz = menos brilho
analogWrite(pinoLED, brilho);
Serial.print("Luz: ");
Serial.print(leituraLDR);
Serial.print(" → Brilho: ");
Serial.println(brilho);
delay(100);
}
🧠 Explicação:
Com o analogRead(), obtemos um valor entre 0 e 1023 da luminosidade. Usamos map() para converter esse valor em intensidade de PWM (0 a 255). O LED então acende com mais ou menos brilho conforme a luz do ambiente.
💡 Dica:
Você pode inverter a lógica trocando os valores no map() se quiser que o LED brilhe mais quanto mais luz houver.
🚀 No próximo conteúdo
Vamos usar o sensor de temperatura LM35 para acionar o LED com base na variação de temperatura ambiente. Um passo rumo ao controle térmico com Arduino!
🔋 Continue acompanhando o Eletrocondutor para aprender eletrônica aplicada, do básico ao avançado!
Comentários
Postar um comentário
Faça seu comentário referente a este assunto