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

[Voltar]

[Avançar]

1.7. Projeto Linha de LED vai e vem alternando cores RGB


Projeto Linha de LED vai e vem alternando cores RGB

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


/* 
Projeto: Projeto Linha de LED vai e vem alternando cores RGB WS2812 
Autor: André Silveira
Data: 23/11/2020 
*/

#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;                                         // Variável que identifica a posição do LED no anel (0 até 7)
int r;                                        // Variável valor da cor Red
int g;                                       // Variável valor da cor Green
int b;                                       // Variável valor da cor Blue 

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

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

void loop() {
  
    for(i=0; i<8; i++) {              // Loop na posição na linha de LED na ordem (0,1,2,3,4,5,6,7)
      
        switch (i) {                      // Identifica variável a ser testada (Posição na linha)
             case 0:                      // Valor é iqual a 0 ou 3 ou 6   
             case 3:
             case 6:
          		r=255;           // Assume a cor vermelha
          		g=0;
          		b=0;
          		break;
             case 1:                     // Valor é iqual a 1 ou 4 ou 7 
             case 4:
             case 7:
          		r=0;
          		g=255;           // Assume a cor verde
          		b=0;
          		break;
             case 2:                     // Valor é iqual a 2 ou 5 
             case 5:
          		r=0;
          		g=0;
          		b=255;           // Assume a cor azul
          		break;          
             default:         
          		break;   
	}
      
        leds.setPixelColor(i, leds.Color(r,g,b)); 
        leds.show();   
        delay(200);
    }
  
    for(i=7; i>-1; i--) {       // Apaga cada LED da linha na ordem (7,6,5,4,3,2,1,0)  
        leds.setPixelColor(i, leds.Color(0,0,0)); 
        leds.show();   
        delay(200);
    }
  
    delay(500);
  
}

 

 

[Voltar]

[Avançar]