Biblioteca
Este sensor não necessita de biblioteca.
Breve resumo do LDR
Adptação de: https://pt.wikipedia.org/wiki/LDR
O LDR é construído a partir de material semicondutor com elevada resistência elétrica. Quando a luz que incide sobre o semicondutor tem uma frequência suficiente, os fótons que incidem sobre o semicondutor libertam elétrons para a banda condutora que irão melhorar a sua condutividade e assim diminuir a resistência.
Os resultados típicos para um LDR poderão ser
Escuridão : resistência máxima, geralmente mega ohms.
Luz muito brilhante : resistência mínima, geralmente dezenas de ohms.
Dependendo do tipo, um LDR pode ser sensível às faixas de luz: Infravermelhos(IR), Luz visível ou Ultravioletas (UV).
As grandes vantagens são:
- Baixo custo
- Grande sensibilidade
- Fácil utilização
Circuitos com o LDR
Adptação de: https://www.electronica-pt.com/ldr
Divisão de Tensão em função da intensidade de luz
O valor da queda de tensão na resistência em série, R1 é condicionado pelo valor da resistência do LDR, Rldr. Este tipo de ligação chama-se “divisor de tensão”. A corrente no circuito em série é igual, como o LDR altera o valor de sua resistência em função da intensidade da luz, a tensão presente em Vs é determinada pela fórmula de divisão de tensão entre resistências. O valor da resistência do LDR, Rldr pode variar de 100Ω à luz do sol até 10MΩ na escuridão absoluta, é esta variação de resistência que produz a variação de tensão na saída Vs.
Vs=Ve(R1/(Rldr + R1) )
Ve: Tensão de Entrada
Vs: Tensão de Saída
Rldr: Resistência ohmica do LDR que varia em função da luz recebida
R1: resistência fixa (para ajustar o valor, pode usar-se um potenciómetro)
Atuar um relé
O circuito divisor de tensão entre o LDR e R1 é uma função que depende do nível de luz e a explicação deste funcionamento é a descrita anteriormente.
Recursos – Funções
Como não existe nenhuma biblioteca também não existem funções. Apenas se interpreta o sinal de entrada que deve ser feito utilizando uma porta analógico.
Esquemas de funcionamento
(ver o programa no exemplo 1)
Material:
Arduíno Uno
Mini Breadboard
LDR
Resistência 10 kOhms
2. Esquema básico LDR e Led sinalizador
(ver o programa no exemplo 2)
Material:
Arduíno Uno
Mini Breadboard
LDR
Resistência 10 kOhms
Resistência 330 Ohms
Led vermelho
3. Esquema LDR e comando de iluminação com relé
(ver o programa no exemplo 3)
Material:
Arduíno Uno
Mini Breadboard
LDR
Resistência 10 kOhms
Resistência 330 Ohms
Led vermelho
Módulo Relé 5V 1 Canal com saída de 230V AC
Exemplo de programas
Exemplo 1
// Demo LDR // Clube de Robótica da ESGC - 2017 // Prof. Ramiro Martins int sensorPin = A5; // seleção do pin de entrada do LDR int sensorValor = 0; // variavel de armazenamento do LDR inicializada a 0 void setup() { Serial.begin(9600); //Define a porta serie para comunicação } void loop() { sensorValor = analogRead(sensorPin); // le o valor do sensor Serial.println(sensorValor); //Imprime os valores provenientes do sensor na ecrã delay(100); }
Exemplo 2
// Demo LDR + LED // Clube de Robótica da ESGC - 2017 // Prof. Ramiro Martins int LedPin = 10; // Pin para ligar o led int sensorPin = A5; // Seleção do pin de entrada do LDR int sensorValor = 0; // Variavel de armazenamento do LDR inicializada a 0 void setup() { Serial.begin(9600); // Define a porta serie para comunicação pinMode(LedPin, OUTPUT); // Define o pin do Led como saída } void loop() { int sensorValor = analogRead(sensorPin); // Lê o valor fornecido pelo LDR Serial.println(sensorValor); //Imprime os valores provenientes do sensor na ecrã // Caso o valor lido na porta analógica A5 seja maior do que // 800, acende o LED // Ajuste o valor abaixo de acordo com o circuito if (sensorValor > 800) { digitalWrite(LedPin, HIGH); } else //Caso contrário, apaga o led { digitalWrite(LedPin, LOW); } }
Exemplo 3
// Demo LDR + LED + Rele
// Clube de Robótica da ESGC - 2017
// Prof. Ramiro Martins
int LedPin = 10; // Pin para ligar o led
int sensorPin = A5; // Seleção do pin de entrada do LDR
int sensorValor = 0; // Variavel de armazenamento do LDR inicializada a 0
void setup() {
Serial.begin(9600); // Define a porta serie para comunicação
pinMode(LedPin, OUTPUT); // Define o pin do Led como saída
}
void loop() {
int sensorValor = analogRead(sensorPin); // Lê o valor fornecido pelo LDR
Serial.println(sensorValor); //Imprime os valores provenientes do sensor na ecrã
// Caso o valor lido na porta analógica A5 seja maior do que
// 800, acende o LED
// Ajuste o valor abaixo de acordo com o circuito
if (sensorValor > 800)
{
digitalWrite(LedPin, HIGH); // ao mesmo tempo acende o Led e liga o relé
}
else //Caso contrário, apaga o led
{
digitalWrite(LedPin, LOW); // ao mesmo tempo apaga o Led e desliga o relé
}
}
Sites consultados:
http://www.arduinoecia.com.br/2013/09/controle-de-luz-utilizando-ldr.html
http://www.comofazerascoisas.com.br/projeto-arduino-sensor-de-luz-ldr-com-leds.html
http://www.instructables.com/id/Arduino-Photoresistor-LED-onoff/
http://blog.vidadesilicio.com.br/arduino/basico/sensor-de-luz-ldr/
https://www.electronica-pt.com/ldr
http://blog.filipeflop.com/modulos/controle-modulo-rele-arduino.html
https://www.robocore.net/loja/produtos/modulo-rele.html
Vídeos no YouTube
Arduino + LDR + LED = Sensor de luz | Tutorial
Projeto Arduino com sensor de luz LDR com saída de leitura em leds. Full HD
Tutorial – Acionamento de cargas com Relé e Arduino
Acendendo uma lâmpada com controle remoto