Neste projeto vamos construir um circuito que para ser considerado “um protótipo” e/ou “o mais simples possível“, utiliza apenas um LED, que é controlado de acordo com a intensidade da luz que incide sobre o sensor LDR (o nosso fotoresistor). Precisaremos então de uma placa de ensaios (protoboard), um LED apenas, dois simples resistores de uso comum, além da fotoresistência (LDR), que é o “principal” componente eletrônico analógico presente neste circuito. 💡
A idéia deste projeto é colocar a mão-na-massa utilizando um sensor LDR para ligar o LED.
Se você está curioso sobre o que você vai construir até o final do projeto, assista ao vídeo de abaixo:
Fotoresistor – o Sensor LDR
O fotoresistor que utilizaremos em nosso circuito eletrônico, é o componente mostrado na figura a seguir.
→ É considerado no mundo da eletrônica como sendo um Resistor Dependente de Luz (LDR, ou em Inglês – Light-Dependent Resistor). Isto significa que a resistência oferecida pelo fotoresistor, varia de acordo com a intensidade da luz que sobre ele incide! Veja como a resistência pode variar no circuito proposto:
- Aumentando a luz (a intensidade luminosa sobre o sensor LDR), menor será a resistência (então, mais corrente elétrica vai fluir);
- Diminuindo a luz (a intensidade luminosa sobre o sensor LDR), maior será a resistência (então, menos corrente elétrica vai fluir).
Lista de Componentes:
Separe todos (são bem poucos neste projeto 😀 ), os componentes necessários para montar o projeto conforme a pequena listagem abaixo:
Fazendo o circuito funcionar e determinando o valor de disparo para acionamento do LED:
Antes de realmente podermos dizer que o circuito está “terminado“, precisamos definir (via código + mundo real) o valor de “limiar” da luz que incide no fotoresistor para que o Arduino execute efetivamente (sem “oscilar”) o disparo/acionamento do nosso LED.
Então vamos definir um valor limite de disparo para acionamento do LED via código. Isso significa que necessitaremos escolher um valor que esteja de acordo com a luminosidade oferecida no ambiente que o circuito está sendo montado (ou vai ser futuramente instalado).
Precisamos fazer isso, porque, por exemplo, a luz ambiente que incide em minha bancada seguramente é diferente da sua e varia incondicionalmente de acordo com a iluminação da sua própria bancada ou lugar que você vai querer instalar seu circuito depois de finalizada a montagem. 💡
Finalmente, tomando como base o esquema abaixo, montamos nosso circuito utilizando apenas um LED e um fotoresistor além da placa Arduino UNO! 😉
Código (Sketch):
Copie e Cole no editor da sua IDE Arduino, e faça o “upload” do código para sua placa Arduino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
/* * Autor: Rui Santos - http://randomnerdtutorials.com * * PROTÓTIPO: SENSOR DE LUZ (LDR) PARA ACIONAMENTO DE LED * Modificado, adaptado e atualizado por: Rodrigo Costa * * REV.1: 24/03/2017 * * Detalhes Completos sobre o Projeto em: * https://eletronicaparatodos.com/ * http://eletronicaparatodos.net/ */ // Pode ser necessário alterar o "valor limite de disparo" para encontrar um valor adequado // para ligar e desligar o LED quando "mover a mão" sobre o fotoresistor (LDR) int limiteDisparo = 600; // Ligue o LED ao pino digital 9 int led = 9; // O fotoresistor (LDR) é conectado ao pino analógico 0 int sensor = A0; // Armazena o valor de leitura analógica int sensorValue = 0; void setup() { // Define o LED como uma saída pinMode(led, OUTPUT); // Define o fotoresistor como uma entrada pinMode(sensor, INPUT); // Inicia a comunicação serial com uma taxa de transmissão de 9600 boud rate Serial.begin(9600); } void loop(){ // Lê o valor atual do fotoresistor sensorValue = analogRead(sensor); // Se o valor estiver abaixo de um determinado "limite de disparo", então o LED liga, caso contrário o LED permanece desligado if (sensorValue < limiteDisparo) { digitalWrite(led, HIGH); } else { digitalWrite(led,LOW); } // Imprime as leituras atuais no monitor serial da IDE do Arduino Serial.print ("Leitura atual do sensor: "); Serial.println(sensorValue); delay(130); } |
O código acima muda o estado do LED de Desligado (OFF) para Ligado (ON), quando a luz que incide sobre o fotoresistor faz com que seja atingido o valor de “limite de disparo” que configuramos em nosso código. Esse valor foi definido em 600 no momento. No entanto, devemos alterar esse valor de acordo com a luz ao nosso redor. Ou seja, de acordo com a luminosidade do “seu ambiente”, mexa no código alterando este valor de limite de disparo para adequar o funcionamento do circuito às suas próprias necessidades. 💡
Conecte sua placa Arduino ao computador e abra o monitor serial a uma taxa de transmissão de 9600 baud rate.
Uma vez rodando o programa, veremos que na tela do Monitor Serial começa a passar/correr os valores que estão sendo “lidos” pelo sensor LDR de acordo com a intensidade da luz no nosso entorno. Coloque a mão sobre o fotoresistor e repare como os valores mostrados na tela sobre a intensidade de luz vão diminuindo…
A partir da leitura oferecida pra gente no Monitor Serial da IDE do Arduino, podemos ir fazendo os testes (colocando e retirando a mão sobre o fotoresistor) para melhor ajustar a distância entre o LDR e a nossa mão, e desta maneira obter o limiar desejado em que o LED deve acender.
Atenção 💡 Fique de olho nas leituras que rolam na tela do seu monitor serial ao mesmo tempo que ajusta a distância correta entre a sua mão e o sensor LDR para que o LED ligue. No meu caso, (de acordo com a luminosidade do meu entorno), defini o meu valor limite de disparo em 600. Sinta-se livre para mudar esse valor para o que melhor se ajuste no seu caso!
Altere a variável limiteDisparo
no código e teste o circuito até encontrar o funcionamento adequado.
1 |
int limiteDisparo = 600; |
Bom pessoal, é isso aí! Finalizamos o post por aqui, mas vou deixar o vídeo completo que gravei sobre este circuito, além das fotos do processo de montagem deste mesmo circuito aqui na minha bancada que disponibilizo abaixo. Espero que gostem! COMENTEM! 😀
Ficamos por aqui!
Forte Abraço! 😉
- Medindo e Monitorando a Temperatura com Arduino (Sensor LM35) - 5 de setembro de 2021
- Controle de Cargas através de Entrada Analógica com Arduino - 30 de agosto de 2021
- REVIEW E DICAS – ALICATE AMPERÍMETRO (UNI-T UT210E PRO) - 28 de agosto de 2021
Os resistores, tem que ser especificamente nessa mesma resistência? Ou posso alterar por outro?
Até podem ser alterados, MAS, não recomendo, a não ser que você saiba exatamente o que está fazendo.
Quero fazer o mesmo projeto mas com 4 LED’s, como posso fazer? Posso simplesmente copiar o código alterando o número das portas?
Sim, exatamente.
Com pouca modificação no código fonte você consegue realizar o projeto que deseja.