Código Arduino e vídeo para um módulo sensor de luz com relé

Código Arduino e vídeo para um módulo sensor de luz com relé

Neste tutorial, vamos aprender a usar um módulo sensor de luz para controlar uma lâmpada AC. O projeto permitirá que a luz acenda automaticamente quando estiver escuro e apague quando ficar claro. Isto é particularmente útil para aplicações como iluminação externa ou luzes de garagem. Ao final deste tutorial, você terá um sistema funcional que pode gerenciar efetivamente a iluminação com base nas condições ambientais. (no vídeo em 02:15)

LDR light sensor module

Usaremos um módulo sensor de luz, que inclui um resistor dependente de luz (LDR) para detectar níveis de luz, e um relé para controlar a luz AC. O sistema também incorporará um potenciômetro para ajustar a sensibilidade da detecção de luz. Esta configuração permite tanto o controle digital quanto o analógico da luz com base na luz ambiente detectada pelo sensor. Para esclarecimentos detalhados, consulte o vídeo em 04:30.

Hardware Explicado

Os componentes principais desta montagem são o módulo sensor de luz, o relé e o Arduino. O módulo sensor de luz consiste em um LDR que altera sua resistência conforme a intensidade luminosa, fornecendo uma saída digital ou analógica. O relé atua como um interruptor capaz de controlar uma lâmpada em CA de alta tensão enquanto é operado com segurança pelo Arduino de baixa tensão. Essa separação é crucial para a segurança e a funcionalidade.

O relé tem três pinos principais: comum (COM), normalmente aberto (NO) e normalmente fechado (NC). Quando ativado, o relé conecta o pino comum ao pino normalmente aberto, permitindo que a corrente flua através da lâmpada conectada. Esse mecanismo permite que o relé controle a lâmpada com base nos sinais recebidos do Arduino.

Detalhes da ficha técnica

FabricanteGenérico
Número da peçaMódulo de sensor de luz
Tensão lógica/E/S5 V
Tensão de alimentação5 V
Corrente de saída (por canal)10 mA
Corrente de pico (por canal)20 mA
Orientação sobre a frequência do PWMNão aplicável
limiares de lógica de entrada2.5 V (alto) / 0.8 V (baixo)
Queda de tensão / RDreno-Fonte (ligado)/ saturação0.2 V típico
Limites térmicos85 °C
PacoteMódulo
Notas / variantesInclui potenciômetro para ajuste de sensibilidade

  • Garanta a dissipação de calor adequada para o relé.
  • Use um resistor pull-up para a entrada do sensor de luz.
  • Verifique as classificações de tensão antes de conectar dispositivos de corrente alternada.
  • Evite tocar em fios expostos quando o sistema estiver energizado.
  • Ajuste o potenciômetro para a sensibilidade à luz desejada.

Instruções de fiação

Arduino wiring for LDR light sensor module

Para ligar o módulo sensor de luz e o relé ao Arduino, comece conectando o pino VCC do módulo sensor de luz ao pino 5V do Arduino. Em seguida, conecte o pino de aterramento do sensor de luz a um pino GND do Arduino. O pino de saída digital do sensor de luz deve ser conectado ao pino 2 do Arduino, enquanto o pino de saída analógica conecta-se ao A0 para leituras analógicas.

Agora, para o relé, conecte seu pino VCC ao pino 5V do Arduino e seu pino de terra a GND. O pino de entrada do relé deve ser conectado ao pino 9 do Arduino. Por fim, conecte um fio da sua lâmpada AC ao pino comum (COM) do relé e o outro fio ao pino normalmente aberto (NO). Essa configuração permitirá que o relé controle a lâmpada AC com base nas leituras do sensor de luz.

Exemplos de Código e Tutorial

Neste código digital básico para o sensor de luz, definimos os pinos para o sensor e o relé. A função setup inicializa a comunicação serial e define os modos dos pinos:

#define LIGHT 2 // define pin 2 for sensor
#define RELAY 9 // define pin 9 as for relay

void setup() {
  Serial.begin(9600); // setup Serial Monitor
  pinMode(LIGHT, INPUT_PULLUP); // define pin as Input sensor
  pinMode(RELAY, OUTPUT); // define pin as OUTPUT for relay
}

Este código configura o pino 2 como entrada para ler o sensor de luz e o pino 9 como saída para controlar o relé. O monitor serial também é inicializado para fornecer informações sobre o estado da luz.

Dentro da função loop(), lemos continuamente o estado do sensor:

int L = digitalRead(LIGHT); // read the sensor
if (L == 1) {
  Serial.println(" light is ON");
  digitalWrite(RELAY, LOW); // turn the relay ON
} else {
  Serial.println("  === light is OFF");
  digitalWrite(RELAY, HIGH); // turn the relay OFF
}

Essa lógica verifica o estado do sensor de luz e, de acordo com ele, liga ou desliga o relé, fornecendo feedback pelo monitor serial.

No código analógico avançado, incorporamos um método para ler valores da saída analógica:

if (digital == true) {
  int L = digitalRead(LIGHT); // read the sensor
  if (L == 1) {
    Serial.println(" light is ON");
    digitalWrite(RELAY, LOW); // turn the relay ON
  } else {
    Serial.println("  === light is OFF");
    digitalWrite(RELAY, HIGH); // turn the relay OFF
  }
} else {
  int a0Value = analogRead(A0); // read A0 value
  if (a0Value >= LightValue) {
    Serial.print(analogRead(A0));
    Serial.println(" Light is ON");
    digitalWrite(RELAY, LOW); // turn the relay ON
  } else {
    Serial.print(analogRead(A0));
    Serial.println("  === light OFF");
    digitalWrite(RELAY, HIGH); // turn the relay OFF
  }
}

Esta seção permite ajustar a sensibilidade com base na leitura analógica do sensor de luz, oferecendo mais controle sobre os limiares de ativação da luz.

Demonstração / O que esperar

Quando a configuração estiver completa e o aparelho ligado, a luz deve acender em condições de pouca luz e apagar em condições de muita luz. Você pode testar o sistema cobrindo o sensor de luz para simular a escuridão e observando a ativação do relé. Se configurado corretamente, o monitor serial exibirá "luz LIGADA" ou "luz DESLIGADA" com base nas leituras do sensor. Tenha cuidado para não inverter a polaridade ao conectar a luz AC, pois isso pode causar mau funcionamento ou riscos à segurança (no vídeo em 10:00).

Marcas de tempo do vídeo

  • 00:00Introdução ao projeto
  • 02:15Visão geral dos componentes e da fiação
  • 04:30Explicação do código
  • 10:00Demonstração de funcionalidade

Imagens

LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
Light_LDR_sensor-4
Light_LDR_sensor-4
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
Light LDR sensor module schematic
Light LDR sensor module schematic
Arduino wiring for LDR light sensor module
Arduino wiring for LDR light sensor module
LDR light sensor module
LDR light sensor module
75-Light sensor module for Arduino (basic digital)
Idioma: C++
76-Light sensor module for Arduino (Advanced: analog)
Idioma: C++
Copiado!

Coisas que você pode precisar

Recursos e referências

Ainda não há recursos.

Arquivos📁

Arquivo Fritzing