PROJETO 6 - BARRA DE LED’S E LDR

Olá pessoal, neste projeto você aprenderá como fazer uma barra de LED’s e LDR como sensor de luminosidade. Você perceberá que conforme a variação da luminosidade e consequentemente variação de resistência, a sequência de LED’s irão acender ou apagar. Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!!

COMPONENTES NECESSÁRIOS

1 Arduino Uno R3

1 Protoboard

1 LDR (Light Dependent Resistor(Resistor dependente de luz))

8 LED’s de qualquer cor

8 Resistores de 330 ohms *

1 Resistor de 10K ohms

Fios jumpers

* Esse valor pode ser diferente, dependendo do LED que você utilizar.

CONECTANDO OS COMPONENTES

Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, pegue todos os componentes acima e conecte-os como mostra a figura.

Observação importante: Verifique a polaridade dos LED’s.

 

Não importa se você utiliza fios de cores diferentes ou furos diferentes na protoboard, desde que os componentes e os fios estejam conectados na mesma ordem da figura. Tenha cuidado ao inserir os componentes na protoboard. Caso sua protoboard seja nova, a superfície dos furos ainda estará rígida. A não inserção cuidadosa dos componentes pode resultar em danos. Certifique-se de que todos os componentes estejam conectados corretamente. Quando você estiver seguro de que tudo foi conectado corretamente, ligue seu Arduino e conecte o cabo USB.

AGORA VAMOS AO CÓDIGO

// Projeto 6 – Barra de LED’s e LDR

/* A função Map do Arduino, mapeia uma faixa de valores em outra.
Segundo o site do Arduino temos o seguinte prototipo:

map(value, fromLow, fromHigh, toLow, toHigh)

onde,

value: Informa o valor lido da porta analógica.
fromLow: Início da escala de origem.
fromHigh: Fim da escala de origem.
toLow: Início da escala de destino.
toHigh: Fim da escala de destino.

Esta função converte os parâmetros PWM de 0, 1023 para a escala de 0, 255

*/


int ldrMap = 0; // Variável iniciando com valor igual a 0.
int analogPin = 1; // Variável utilizando o pino analógico A1.

void setup()
{
for(int a = 0; a<=10; a++) // Iniciando os pino digitais do Arduino...
pinMode(a, OUTPUT); // como saída
}

void loop()
{
// Verifica a função Map, o 22 pode ser mudado
ldrMap = map(analogRead(analogPin), 0, 1023, 22, 0);
for(int a = ldrMap; a>=0; a--) // Quando a resistência do LDR diminui...
digitalWrite(a, HIGH); // acende todos os LED's

for(int a = ldrMap; a<=10; a++) // Quando a resistência do LDR aumenta...
digitalWrite(a, LOW); // apaga todos os LED's
}


Para certificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino. Pronto, agora verifique o que acontece quando você muda a luminosidade(resistência) no LDR.

fonte: facacomarduino.info