Os LEDs são comumente utilizados em circuitos eletrônicos para indicação de uma informação para o usuário em uma forma visual. Você pode simplesmente ligar um LED para indicar o status de uma saída ou uma entrada no circuito. Outra forma de indicação é feita através de sequências de ligamento e desligamento, onde cada padrão indica um status do equipamento.
Com o arranjo de LEDs é possível formatar melhor a informação para o usuário, ficando ainda mais fácil a visualização de informações provenientes do sistema. Um exemplo bem comum é o arranjo em formato de display de 7 segmentos ou alfanumérico, como foi mostrado no artigo de Henrique Puhlmann. Com estes arranjos é possível indicar números e caracteres.
Outro arranjo bem interessante para indicação de quantidade e níveis é o bargraph de LEDs. Este arranjo consiste em LEDs montados enfileirados, onde cada LED é ligado para indicação de uma informação. A figura 1 exibe um exemplo desse arranjo:
Figura 1 – Exemplo de Bargraph
Com esse arranjo é possível indicar vários tipos de informação como, por exemplo: variação sonora, nível de tensão de uma bateria, nível de um reservatório, entre outros.
A seguir é apresentado um exemplo utilizando a plataforma Arduino Uno e um módulo de Leds para indicar a variação de um potenciômetro, em uma montagem em forma de bargraph.
A montagem do hardware é bem simples, onde são utilizados 8 Leds com os devidos resistores para limitação de corrente, conforme exibido na figura 2:
Figura 2 – Montagem para teste do bargraph
O sketch a seguir exibe uma forma simples para se fazer um bargraph. O valor de tensão presente no A0 é indicado através da variação da quantidade de LEDs acesos, ou seja, quando o valor for 0V nenhum LED estará aceso. Já com 5V todos os LEDs estarão acesos. Dessa forma a quantidade de LEDs acesos varia proporcionalmente à tensão de entrada. Confira o sketch a seguir:
/*
* Bargraph de leds
* le o valor potenciômetro ao pino analógico 0 e exibe valor em forma
* gráfico de barras
*/
const int potPin = A0; //constante para definir o pino do potenciometro
const int quantLeds = 8; //quantidade de leds do bargraph
int ledPins[] = {6,7,8,9,10,11,12,13}; //pinos onde os leds estão conectados
void setup()
{
for(int i = 0;i<quantLeds;i++) //configura todos os pinos como saídas
pinMode(ledPins[i],OUTPUT);
}
void loop (){
int val = analogRead(potPin);
int ledNivel = map(val,0,1023,0,quantLeds);
for(int i = 0;i<quantLeds;i++)
{
if(i<ledNivel)
{
digitalWrite(ledPins[i],HIGH);
}
else
{
digitalWrite(ledPins[i],LOW);
}
}
}
Para ficar mais fácil o entendimento do exemplo apresentado segue um video :
Originalmente publicado em: FBS Eletrônica
Conclusão
O uso de LEDs talvez seja umas das formas mais comuns para indicação de informações para o usuário. É interessante sempre ter em mente, que a informação a ser passada deve estar clara para quem vai interpretá-la, pois dependendo do ambiente, uma informação mal lida pode causar alguns problemas. O uso de arranjos de LEDs formata a informação para que fique mais fácil a tradução da informação para o usuário. Com o exemplo apresentado pode-se apresentar informações de sensores, tempo, contagem, etc. Utilize o exemplo para criar suas aplicações, use sensores e veja como fica bem interessante essa montagem. Você pode também aplicar esta ideia para outros microcontroladores.





Bom dia, ótimo exemplo!!! Sou iniciante em arduino e gostaria de saber como implementar este sistema com uma “chave” que pudesse selecionar os leds em modo PONTO/BARRA.
Como eu faço para usar por exemplo 20 leds?
Posso utilizar esta barra gráfica de led diretamente com um potenciômetro e os resistores???