, ,

Shield Matriz 40 LEDs RGB para Arduino Keyestudio

REF: KS0163


A Placa de expansão Shield Matriz 40 LEDs RGB é uma fonte de luz LED de controlo inteligente, com um design empilhável, compatível com o Arduino UNO. O circuito de controlo e o chip RGB estão integrados num componente SMD 5050. Inclui uma porta de dados digital inteligente e um circuito de retransmissão de amplificação de sinal. Além disto, dispõe de um oscilador de precisão interno e um controlador de corrente constante programável, para garantir eficiência e consistência ao produto.

10,86 IVA INCL.

 Shield Matriz 40 LEDs RGB

Características

Shield Matriz 40 LEDs RGB

1. Circuito anti-reverso de proteção, de forma a que a fonte de energia não danifique o Circuito Integrado do LED.
2. O controlo do Circuito Integrado e a fonte de luz do LED utilizam a mesma fonte de energia.
3. O Circuito de Controlo e o chip RGB estão integrados no componente SMD 5050, formando um controlo completo do pixel.
4. Os sinais de remodelação recebidos são remodelados por ‘ondas’ e, depois, saem para o driver seguinte, garantindo que a distorção em ‘forma de onda’ não fique acumulada.
5. A potência de circuito e do circuito de reset estão integradas.
6. Cada pixel de cada uma das três cores primárias pode atingir um brilho de 256, uma cor completa 16777216, frequência de scan de não menos do que 400Hz/s.
7. Dispõe de uma interface serial ‘cascata’, através de um sinal de linha, para completar a receção e a decodificação dos dados.
8. Quando a distância de transmissão entre dois pontos arbitrários é maior do que cinco metro, não é necessário um circuito extra.
9. Quando a taxa de atualização é 30 fps, o número ‘cascata’ não é menor do que 1024 pontos.
10. A velocidade de envio de dados pode atingir os 800 Kbps.
11. A cor da luz é altamente consistente, e tem uma ótima relação custo-eficiência.

Vantagens LED

1. LED com IC embutido é mais brilhante do que um LED comum;
2. Alta consistência dos chips RGB para todos os LEDS;
3. O driver IC embutido tem um desempenho de confiança;
4. O produto é embalado com um plástico duro para prevenir danificações.

Marca

#include 
#ifdef __AVR__
#include <avr/power.h>
#endif

#define PIN 13

// Parameter 1 = number of pixels in strip
// Parameter 2 = Arduino pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(40, PIN, NEO_GRB + NEO_KHZ800);

// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across
// pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input
// and minimize distance between Arduino and first pixel.  Avoid connecting
// on a live circuit...if you must, connect GND first.

void setup() {
  // This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
  #if defined (__AVR_ATtiny85__)
    if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
  #endif
  // End of trinket special code


  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
}

void loop() {
  // Some example procedures showing how to display to the pixels:
  colorWipe(strip.Color(255, 0, 0), 50); // Red
  colorWipe(strip.Color(0, 255, 0), 50); // Green
  colorWipe(strip.Color(0, 0, 255), 50); // Blue
  // Send a theater pixel chase in...
  theaterChase(strip.Color(127, 127, 127), 50); // White
  theaterChase(strip.Color(127, 0, 0), 50); // Red
  theaterChase(strip.Color(0, 0, 127), 50); // Blue

  rainbow(20);
  rainbowCycle(20);
  theaterChaseRainbow(50);
}

// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
  for(uint16_t i=0; i<strip.numPixels(); i++) {
    strip.setPixelColor(i, c);
    strip.show();
    delay(wait);
  }
}

void rainbow(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256; j++) {
    for(i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel((i+j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
    for(i=0; i< strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

//Theatre-style crawling lights.
void theaterChase(uint32_t c, uint8_t wait) {
  for (int j=0; j<10; j++) {  //do 10 cycles of chasing
    for (int q=0; q < 3; q++) {
      for (int i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, c);    //turn every third pixel on
      }
      strip.show();

      delay(wait);

      for (int i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, 0);        //turn every third pixel off
      }
    }
  }
}

//Theatre-style crawling lights with rainbow effect
void theaterChaseRainbow(uint8_t wait) {
  for (int j=0; j < 256; j++) {     // cycle all 256 colors in the wheel
    for (int q=0; q < 3; q++) {
      for (int i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, Wheel( (i+j) % 255));    //turn every third pixel on
      }
      strip.show();

      delay(wait);

      for (int i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, 0);        //turn every third pixel off
      }
    }
  }
}

// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
  WheelPos = 255 - WheelPos;
  if(WheelPos < 85) {
    return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  }
  if(WheelPos < 170) {
    WheelPos -= 85;
    return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
  WheelPos -= 170;
  return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}

 

Vídeo

Também pode gostar…