Neopixel ring 1, Светодиод WS2812B в виде точки

Артикул: Neopixel ring 1
Ном. номер: 9000357745
Производитель: DIY
Neopixel ring 1, Светодиод WS2812B в виде точки
36 руб.
Есть в наличии.
Отгрузка со склада в г.Москва
Добавить в корзину 1 шт. на сумму 36 руб.

Спецификация набора

То, что у вас уже есть, вы можете удалить в корзине.

НаименованиеЦенаКол-во
Печатная плата neopixel_ring_1, Печатная плата с разводкой, FR4 13.4979х13.4979мм (1.5мм, 18мкм) 20 руб. 1
Кер.ЧИП конд. 0.1мкФ,Y5V 50В, +80-20%,0603 4 руб. 1
WS2812B (Neopixel), Светодиод SMD 5050 RGB с пиксельной адресацией 12 руб. 1

Скетч. Код программы


#include <Adafruit_NeoPixel.h>


#define   LED_PIN              12 // выход на светодиоды

#define   PIXEL_NUM            8 // столько светодиодов в сборке

#define   ANALOG_PIN_RED       0 // потенциометр 1
#define   ANALOG_PIN_GREEN     1 // потенциометр 2
#define   ANALOG_PIN_BLUE      2 // потенциометр 3

#define   ANALOG_PIN_RANDOM    7


Adafruit_NeoPixel LEDS = Adafruit_NeoPixel(PIXEL_NUM, LED_PIN, NEO_GRB + NEO_KHZ800);


void setup()
{
  LEDS.begin();
  LEDS.show();
}
//--------------эффекты, раскомментировать--------------------------
void loop()
{
  LEDS_1(7, 20); //зажечь любой светодиод (номер LED, начиная с 0; задержка в мс)
  //LEDS_2(); //зажечь поочередно все светодиоды
  //LEDS_3(); // мерцание всехсветодиодов в случайном порядке, а затем полоса из всех
  //LEDS_4(); // регулировка цвета всех светодиодов тремя потенциометрами
}
//----------------------------------------
void LEDS_1(byte LEDNum, unsigned int ShowDelay)
{
  for (byte Colour = 0; Colour <= 125; Colour++)
  {
    LEDS.setPixelColor(LEDNum, Colour + 50, 125 - Colour, 2 * Colour);
    LEDS.show();
    delay(ShowDelay);
  }

  for (byte Colour = 124; Colour >= 1; Colour--)
  {
    LEDS.setPixelColor(LEDNum, Colour + 50, 125 - Colour, 2 * Colour);
    LEDS.show();
    delay(ShowDelay);
  }
  
/*  //засветить светодиод определеннмы цветом
 *  //параметры LEDS.setPixelColor(номер, красный, зеленый, синий); цвета от 0 до 255
    LEDS.setPixelColor(LEDNum, Colour + 50, 125 - Colour, 2 * Colour);
    LEDS.show();
 */
  
}
//----------------------------------------
void LEDS_2()
{
  const unsigned int ShowDelay = 5;
  static byte ActiveLeds = 1;

  for (byte Colour = 0; Colour <= 125; Colour++)
  {
    for (byte i = 0; i < ActiveLeds; i++)
      LEDS.setPixelColor(i, Colour + 50, 125 - Colour, 2 * Colour);

    LEDS.show();
    delay(ShowDelay);
  }

  for (byte Colour = 124; Colour >= 1; Colour--)
  {
    for (byte i = 0; i < ActiveLeds; i++)
      LEDS.setPixelColor(i, Colour + 50, 125 - Colour, 2 * Colour);
    
    LEDS.show();
    delay(ShowDelay);
  }

  ActiveLeds++;
  if (ActiveLeds == (PIXEL_NUM + 1))
  {
    ActiveLeds = 1;
    
    for (byte i = 0; i < PIXEL_NUM; i++)
      LEDS.setPixelColor(i, 0, 0, 0);
  }
}
//----------------------------------------
void LEDS_3()
{
  const unsigned int ShowDelay = 100;
  const unsigned int PauseDelay = 100;
  byte RandomPixel;
  int32_t RandomColour;

  randomSeed(analogRead(ANALOG_PIN_RANDOM));
  
  for (byte i = 0; i < PIXEL_NUM; i++)
    LEDS.setPixelColor(i, 0, 0, 0);
  LEDS.show();

  for (byte j = 0; j < 21; j++)//количество произвольных вспышек 21
  {
    RandomColour = random(0xFFFFFF);    
    RandomPixel = random(PIXEL_NUM);

    LEDS.setPixelColor(RandomPixel, RandomColour);
    LEDS.show();
    delay(ShowDelay);
    LEDS.setPixelColor(RandomPixel, 0, 0, 0);
    LEDS.show();
    delay(PauseDelay);
  }

  RandomColour = random(0xFFFFFF);

  for (byte i = 0; i < PIXEL_NUM; i++)
  {
    LEDS.setPixelColor(i, RandomColour);
    LEDS.show();
    delay(ShowDelay);
  }

  for (byte i = (PIXEL_NUM - 1); i >= 1; i--)
  {
    LEDS.setPixelColor(i, 0, 0, 0);
    LEDS.show();
    delay(ShowDelay);
  }
  LEDS.setPixelColor(0, 0, 0, 0);
  LEDS.show();

  delay(1000);
}
//----------------------------------------
void LEDS_4()
{
  const byte ColoursNum = 3;
  
  unsigned int COLOURS[ColoursNum];
  byte ANALOG_PINS[ColoursNum] = {ANALOG_PIN_RED, ANALOG_PIN_GREEN, ANALOG_PIN_BLUE};
  
  for (byte i = 0; i < ColoursNum; i++)
  {
    COLOURS[i] = analogRead(ANALOG_PINS[i]) / 4;
  }
  
  for (byte i = 0; i < PIXEL_NUM; i++)
    LEDS.setPixelColor(i, COLOURS[0], COLOURS[1], COLOURS[2]);

  LEDS.show();
}

Техническая документация

Видео

Выберите регион, чтобы увидеть способы получения товара.

Комментарии