A automação de iluminação é uma das aplicações mais comuns da eletrônica, sendo amplamente utilizada em projetos que visam economia de energia e comodidade. Neste projeto, utilizaremos um sensor de luz LDR (Light Dependent Resistor) para detectar a intensidade luminosa do ambiente e, com base nessa leitura, controlar o acionamento de LEDs.

O LDR é um sensor resistivo que altera sua resistência conforme a quantidade de luz recebida. Quando o ambiente está escuro, sua resistência aumenta, permitindo que o Arduino acione um LED para iluminar o ambiente. Quando há luz suficiente, o LED se apaga automaticamente.

Este projeto é ideal para iniciantes, pois combina conceitos de sensores analógicos, tomada de decisão com Arduino e controle de saída digital. Além disso, pode ser expandido para aplicações mais avançadas, como acionamento de lâmpadas em ambientes externos ou integração com sistemas inteligentes de automação residencial.

Materiais Necessários

Para montar o projeto de controle de LEDs com sensor de luz LDR utilizando Arduino, você precisará dos seguintes componentes:

Componentes Eletrônicos:

1x Placa Arduino (Uno, Mega ou similar)

1x LDR (Light Dependent Resistor) (Sensor de luz)

1x Resistor de 10kΩ (Usado para criar um divisor de tensão com o LDR)

1x LED (Pode ser qualquer cor)

1x Resistor de 220Ω (Para limitar a corrente do LED)

1x Protoboard

Fios Jumper (Para conexões)

1x Módulo ou Cabo USB (Para programar e alimentar o Arduino)

Ferramentas e Acessórios:

Computador com IDE do Arduino instalada

Fonte de alimentação (caso não use o cabo USB para alimentar o Arduino)

Programação de exemplo:

// Definição dos pinos

const int pinoLDR = A0;  // Pino analógico onde o LDR está conectado

const int pinoLED = 9;   // Pino digital onde o LED está conectado

// Valor limite para definir quando o LED acende ou apaga

const int limiar = 500;  

void setup() {

  pinMode(pinoLED, OUTPUT);  // Define o LED como saída

  Serial.begin(9600);        // Inicializa a comunicação serial para monitoramento

}

void loop() {

  int leituraLDR = analogRead(pinoLDR); // Lê o valor do sensor LDR

  Serial.print("Luminosidade: ");  

  Serial.println(leituraLDR);  // Exibe o valor lido no monitor serial

 

  if (leituraLDR < limiar) {  

    digitalWrite(pinoLED, HIGH); // Acende o LED se estiver escuro

  } else {

    digitalWrite(pinoLED, LOW);  // Apaga o LED se houver luz suficiente

  }

  delay(500); // Pequena pausa para estabilizar as leituras

}