Controle de Luminosidade de LED com Arduino

961 views

Controle de Luminosidade de LED com Arduino

Neste experimento vamos controlar a luminosidade de LED através de uma saída PWM da nossa placa Arduino.

O circuito usa um potenciômetro, ligado à entrada analógica 5, para controlar a luminosidade de LED ligado à porta 10. Conforme giramos o potenciômetro no sentido horário, a intensidade de iluminação do LED vai se aproximando do ponto máximo.

 

Materiais Necessários

 

Circuito

Circuito para controle de luminosidade de LED
Figura 1 – Circuito para controle de luminosidade de LED

O programa usa uma função chamada map (http://arduino.cc/en/Reference/Map), que converte o valor lido da entrada analógica (entre 0 e 1023), para um valor entre 0 e 255 (8 bits), que será utilizado para ajustar a luminosidade do LED. A sintaxe dessa função é a seguinte :

map(valor, de_menor_valor, de_maior_valor, para_menor_valor, para_maior_valor)

No nosso caso então, faremos :

luminosidade = map(valorpot, 0, 1023, 0, 255);

onde valorpot é o valor lido do potenciômetro, entre 0 e 1023, que será convertido para um valor entre 0 e 255, que por sua vez será atribuído à variável luminosidade. Perceba que estamos utilizando a porta 10, digital, como uma porta analógica, usando a função analogWrite. Como o Arduino faz isso ?

Repare na foto abaixo que no Arduino os pinos 3, 5, 6, 9, 10 e 11 são PWM (Pulse Width Modulation – Modulação por Largura de Pulso), o que permite que eles sejam usados de forma analógica.

Arduino Uno
Figura 2 – Arduino Uno

A função de uma porta PWM é simular uma saída analógica através de uma saída digital. Ela faz isto variando o estado da pota de 0 (0V) para 1(5V) muito rapidamente, simulando uma voltagem entre 0 e 5 volts. O tempo que a porta permanece ligada ou desligada determina o valor da saída analógica, assim, se você quiser 50% da luminosidade, a porta ficaria 50% do tempo em modo ON (ligada), e 50% em modo OFF (desligada). Essa variação é feita de forma tão rápida que não é percebida pelo olho humano.

Programação

Para facilitar a visualização de como as portas analógicas se comportam, o programa mostra no monitor serial não só o valor lido do potenciômetro, como também o valor da luminosidade após a utilização da função map que expliquei anteriormente :

Valor do potenciômetro e Luminosidade
Figura 3 – Valor do potenciômetro e Luminosidade

Este conteúdo foi postado originalmente no blog Arduino e Cia.

Espero que tenha curtido este tutorial.  Para dúvidas e sugestões, faça seus comentários abaixo! Confira outros produtos em nossa loja!

(Visited 781 times, 3 visits today)

Deixe seu comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Scroll Up