fbpixel
Etiquetas: ,
0
(0)

As fitas de LED são feitas de uma sucessão de LEDs RGB endereçáveis, o que significa que o brilho e a cor de cada LED podem ser definidos de forma independente Existem vários modelos de fitas: de cor única, não endereçáveis, 5 ou 12V, etc. Escolha bem o modelo que pretende usar.

Material

  • Computador
  • Arduino UNO
  • Cabo USB A Macho/B Macho
  • Fita de LED WS2812B

Esquema

A fita de LED utiliza um pino PWM no microcontrolador para determinar a cor, a intensidade e o LED a ser aceso. Certifique-se de utilizar uma fonte externa de alimentação, pois a fita de LED pode consumir muita energia, especialmente se for longa e se houver várias delas alimentadas em série. Para uma fita de LED WS2812B, contamos 50mA por LED, ou seja, 2.5A para 50 LEDs. Verifique o número e o tipo de LEDs que pretende iluminar para escolher uma fonte de tensão adequada.

Código

Dependendo da marca da fita de LED, diferentes bibliotecas podem ser usadas, como a Adafruit_NeoPixel ou a PololuLedStrip. Neste tutorial, usamos a biblioteca FastLED.h. Para inicializar a biblioteca, é preciso especificar o tipo e o número de LEDs, bem como a ordem das cores (Vermelho,Verde,Azul), que pode variar conforme o modelo de fita.

Uma vez inicializado o objeto, é possível acessar cada LED através da matriz de LEDs. Definimos a cor e a intensidade luminosa do LED i com a função led[i].setRGB() e em seguida validamos com a função FastLED.show().

//Libraries
#include <FastLED.h>//https://github.com/FastLED/FastLED

//Constants
#define NUM_STRIPS 1
#define NUM_LEDS 60
#define BRIGHTNESS 10
#define LED_TYPE WS2812B
#define COLOR_ORDER BRG//RGB
#define FASTLED_ALLOW_INTERRUPTS 0
#define FASTLED_INTERRUPT_RETRY_COUNT 1
#define FRAMES_PER_SECOND 60
#define COOLING 55
#define SPARKING 120

//Parameters
const int stripPin  = 3;

//Variables
bool gReverseDirection  = false;

//Objects
CRGB leds[NUM_LEDS];

void setup() {
  //Init Serial USB
  Serial.begin(9600);
  Serial.println(F("Initialize System"));
  //Init led strips
  FastLED.addLeds<LED_TYPE, stripPin, COLOR_ORDER>(leds, NUM_LEDS);
  FastLED.setBrightness(  BRIGHTNESS );
}

void loop() {
  ledScenario();
}

void ledScenario(void ) { /* function ledScenario */
  ////LEDS Strip scenario
  for (int i = 0; i < NUM_LEDS; i++) {
    //leds[i] = CRGB::Goldenrod;
    leds[i].setRGB(255, 0, 255);
    leds[i + 3].setRGB(255, 0, 255);
    FastLED.show();
    delay(100);
    leds[i] = CRGB::Black;
    FastLED.show();
    delay(100);
  }
}

Aplicações

  • Criar uma atmosfera luminosa no seu apartamento
  • Criar uma lâmpada que muda de brilho conforme a música

Fontes

Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?