Arduino, Internet das Coisas e Computação vestível

[Voltar]

[Avançar]

Módulo linha de LED RGB WS2812

Descrição

Possui 8 leds RGB endereçáveis que permite o acionamento individual. O módulo permite alcançar diferentes tipos de cores. Para um controle total da placa, é necessário apenas um pino de microcontrolador. Cada placa contém pinos de entrada e de saída para interligação de vários módulos.

Caracteristicas

  • Modelo: LED 5050 RGB SMD Alto Brilho (5x5mm)
  • Tensão de Operação: 5V
  • Potência: 0,3W
  • Número de leds: 8
  • Tamanho: 54 x 10 x 3 mm

Pinagem

  • GND: GND
  • DIN: Dados
  • VCC: 4 a 7V DC
  • GND: GND

Bilioteca

Baixe a biblioteca: https://github.com/FastLED/FastLED ou https://github.com/adafruit/Adafruit_NeoPixel


Projeto(s) relacionado(s)


Projeto iluminação de Linha de LED RGB WS2812

Este projeto utiliza placa Arduino Uno R3 e Módulo linha de LED RGB WS2812.


Versão utilizando biblioteca Adafruit_NeoPixel.h

/* 
Projeto: controle de Linha de LED RGB x8 WS2812 
Autor: André Silveira
Data: 23/11/2019 
*/

#include "Adafruit_NeoPixel.h"

#define LED_PIN  5 			// Pino digital do "DIN" do módulo WS2812 
#define NUM_LEDS 8 		// Número de Leds do módulo Led WS2812
#define BRIGHTNESS 255 		// Intensidade do LED (0 até 255) 
int i;

Adafruit_NeoPixel leds(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
    leds.begin(); 
    leds.clear(); 
}

void loop() {
  
    // --- Pisca Leds da esquerda (0 e 1) --- //

    for(i=0; i<12; i++) { 
        leds.setPixelColor(0, leds.Color(255,255,0)); // Amarelo
        leds.setPixelColor(1, leds.Color(255,255,0)); // Amarelo
        leds.show();   
        delay(200);     

        leds.setPixelColor(0, leds.Color(0, 0, 0)); // Preto
        leds.setPixelColor(1, leds.Color(0, 0, 0)); // Preto
        leds.show();   
        delay(200); 
    }

    // --- Pisca Leds da direita (6 e 7) --- //

    for(i=0; i < 12; i++) { 
        leds.setPixelColor(6, leds.Color(255,255,0)); // Amarelo
        leds.setPixelColor(7, leds.Color(255,255,0)); // Amarelo
        leds.show();   
        delay(200);     

        leds.setPixelColor(6, leds.Color(0, 0, 0)); // Preto
        leds.setPixelColor(7, leds.Color(0, 0, 0)); // Preto
        leds.show();   
        delay(200); 
    }

    delay(300);
    
    // --- Pisca todos Leds (ALERTA) --- //
  
    for(i = 0; i < 12; i++) {
        leds.setPixelColor(0, leds.Color(255,0,0)); // Vermelho
        leds.setPixelColor(1, leds.Color(255,0,0)); // Vermelho
        leds.setPixelColor(2, leds.Color(255,0,0)); // Vermelho
        leds.setPixelColor(3, leds.Color(255,0,0)); // Vermelho
        leds.setPixelColor(4, leds.Color(255,0,0)); // Vermelho
        leds.setPixelColor(5, leds.Color(255,0,0)); // Vermelho
        leds.setPixelColor(6, leds.Color(255,0,0)); // Vermelho
        leds.setPixelColor(7, leds.Color(255,0,0)); // Vermelho     
        leds.show(); 
        delay(200);
      
        leds.setPixelColor(0, leds.Color(0, 0, 0)); // Preto
        leds.setPixelColor(1, leds.Color(0, 0, 0)); // Preto      
        leds.setPixelColor(2, leds.Color(0, 0, 0)); // Preto
        leds.setPixelColor(3, leds.Color(0, 0, 0)); // Preto
        leds.setPixelColor(4, leds.Color(0, 0, 0)); // Preto
        leds.setPixelColor(5, leds.Color(0, 0, 0)); // Preto       
        leds.setPixelColor(6, leds.Color(0, 0, 0)); // Preto
        leds.setPixelColor(7, leds.Color(0, 0, 0)); // Preto
        leds.show();  
        delay(200);
    }

    delay(300);
  
}

 

Versão utilizando biblioteca FastLED.h

/* 
Projeto: controle de Linha de LED RGB x8 WS2812 
Autor: André Silveira
Data: 23/11/2019 
*/
#include "FastLED.h" #define LED_PIN 5 // Pino digital do "DIN" do módulo WS2812 #define NUM_LEDS 8 // Número de Leds do módulo Led WS2812 #define BRIGHTNESS 255 // Intensidade do Led (0 até 255). #define LED_TYPE WS2812 // Modelo da linha de Led #define COLOR_ORDER GRB // Ordem das cores da linha de Leds CRGB leds[NUM_LEDS]; #define UPDATES_PER_SECOND 60 // Tempo para atualização do display de LED int i; void setup() { delay(3000); // Atraso de segurança na inicialização FastLED.addLeds <LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip); FastLED.setBrightness( BRIGHTNESS ); } void loop(){ // --- Pisca Leds da esquerda (0 e 1) --- // for(i = 0; i < 12; i++) { leds[0] = CRGB::Yellow; leds[1] = CRGB::Yellow; FastLED.show(); delay(200); leds[0] = CRGB::Black; leds[1] = CRGB::Black; FastLED.show(); delay(200); } delay(300); // --- Pisca Leds da direita (6 e7 ) --- // for(i = 0; i < 12; i++) { leds[6] = CRGB::Yellow; leds[7] = CRGB::Yellow; FastLED.show(); delay(200); leds[6] = CRGB::Black; leds[7] = CRGB::Black; FastLED.show(); delay(200); } delay(300); // --- Pisca todos Leds (ALERTA) --- // for(i = 0; i < 12; i++) { leds[0] = CRGB::Red; leds[1] = CRGB::Red; leds[2] = CRGB::Red; leds[3] = CRGB::Red; leds[4] = CRGB::Red; leds[5] = CRGB::Red; leds[6] = CRGB::Red; leds[7] = CRGB::Red; FastLED.show(); delay(200); leds[0] = CRGB::Black; leds[1] = CRGB::Black; leds[2] = CRGB::Black; leds[3] = CRGB::Black; leds[4] = CRGB::Black; leds[5] = CRGB::Black; leds[6] = CRGB::Black; leds[7] = CRGB::Black; FastLED.show(); delay(200); } delay(300); }



 

[Voltar]

[Avançar]