Como utilizar o Led Endereçável? Essa é uma pergunta muito comum entre os entusiastas que desenvolvem projetos com Arduino. E que tal controlar 100 leds com o Arduino com um único fio de controle? Impossível? Não, é simples, só usar um conjunto de leds endereçados.
Mas o que é um led endereçável? São leds que possuem um endereço individual único, com isso podemos controlar qualquer led desse barramento com somente um fio de dados. Simplesmente passando o endereço do led e a cor que desejamos, cor essa que geralmente é controlada pelo sistema de cores RGB, que nada mais é uma abreviação de 3 cores da língua inglesa: o vermelho, verde e azul, as mesmas a qual podem ser alterados a quantia de cada cor e gerar praticamente qualquer cor.
Materiais Necessários
Nesse projeto de hoje utilizaremos poucos materiais, lembrando que será necessário soldar 3 fios ao led endereçado, sendo eles para a alimentação e o fio de dados, os materiais necessários são:
Forma de Ligação do Led Endereçável
O esquema de ligações é super simples, bastando conectar o cabo de dados ao pino 2 do Arduino e ligar os cabos de alimentação, que são o VCC e o GND, segundo o esquema abaixo:
Código Programação do Led Endereçável RGB
Para o nosso código funcionar vamos precisar da biblioteca “NeoPixel” da adafruit a qual pode ser feito o download clicando aqui.
E o código completo:
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 |
#include <Adafruit_NeoPixel.h> #define PIN 2 #define NUMLED 18 Adafruit_NeoPixel pixels(NUMLED, PIN, NEO_GRB + NEO_KHZ800); #define DELAYLOOP 100 void setup() { pixels.begin(); } void loop() { pixels.clear(); for(int i=0; i<NUMLED; i++) { pixels.setPixelColor(i, pixels.Color(0, 150, 0)); pixels.show(); delay(DELAYLOOP); } } |
Cabeçalho
O código vai basicamente, após incluir a biblioteca, definir o pino de dados e o número de leds. Nós vamos criar um objeto chamado leds, o qual recebe como parâmetros essas definições anteriores.
Depois disso, também temos uma definição de quanto tempo é esperado no loop para ligar mais um led.
1 2 3 4 5 6 7 |
#include <Adafruit_NeoPixel.h> #define PIN 2 #define NUMLED 18 Adafruit_NeoPixel leds(NUMLED, PIN, NEO_GRB + NEO_KHZ800); #define DELAYLOOP 500 |
Void setup()
Já no void setup vamos somente iniciar a comunicação com os leds.
1 2 3 |
void setup() { leds.begin(); } |
Void loop()
No void loop iremos primeiro apagar todos os leds, após isto iniciaremos um laço de repetição que vai repetir a mesma quantia de número de leds, dentro desse laço nós vamos passar como parâmetro para a função setPixelColor que recebe o número do led que desejamos controlar e no outro parâmetro digitamos a cor que queremos no formato RGB.
Logo abaixo vamos agora exibir esse valor no led, ou seja, nós vamos enviar esse comando ao led, e por último o programa faz uma parada pelo tempo que definimos no cabeçalho.
1 2 3 4 5 6 7 8 9 10 11 12 |
void loop() { leds.clear(); for(int i=0; i<NUMLED; i++) { leds.setPixelColor(i, leds.Color(0, 150, 0)); leds.show(); delay(DELAYLOOP); } } |
Funcionamento do Led Endereçável RGB
Conclusão
Nesse artigo apresento uma forma de controlar os leds endereçáveis, sendo que, utilizando este código como base podemos criar vários efeitos de iluminação diferentes, e/ou utilizar em vários dos seus projetos, tornando-os mais simples e com menos fios por exemplo.
Em breve teremos mais projetos utilizando leds endereçados, pois possibilidades com o mesmo não falta.
Boa noite. Este sensor teria precisão suficiente para fazer um termostato? Preciso controlar a temperatura de um recipiente com parafina e poderia me ser muito útil. Aqui mesmo no UsinaInfo vcs tem o projeto do termostato com sensor DS18B20, mas, não sei se ele resistiria à parafina líquida. Obrigado.
Existem fitas de LED endereçável tambem. Como utilizar no Arduino?
Olá Lauro! Infelizmente nunca utilizei, mas acredito que deva utilizar um sistema semelhante.
Olá, nesta fita endereçável WS2811, tem como enviar uma cor para cada LED individualmente?
Olá Railana! Com a devida programação, é possível programar individualmente cada LED, tanto em relação ao acionamento como cor.
Sou profissional da área de eletricidade e achei a explicação perfeita demais e peço autorização para poder repassar essas informações e marcar vocês numa publicação.
Olá boa tarde
Claro pode postar sim, e claro só nos marcar, no Instagram: @usinainfo e caso queira marcar o autor do projeto @gustavo_stroschon
Muito Obrigado