Neopixel ring 8, Кольцо из 8-ми светодиодов WS2812B

Артикул: Neopixel ring 8
Ном. номер: 9000357743
Производитель: DIY
Neopixel ring 8, Кольцо из 8-ми светодиодов WS2812B
208 руб.
Есть в наличии.
Отгрузка со склада в г.Москва
Добавить в корзину 1 шт. на сумму 208 руб.

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

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

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

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

#include <Adafruit_NeoPixel.h>


#define   LED_PIN              12 //на светодиоды
#define   KEY_PIN              7 //кнопка


#define   STICK_NUM            4 //количество сборок
#define   PIXEL_IN_STICK       8 //светодиодов в сборке
#define   PIXEL_NUM            (STICK_NUM * PIXEL_IN_STICK)



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


void setup()
{
  pinMode(KEY_PIN, INPUT);
  digitalWrite(KEY_PIN, HIGH);
  LEDS.begin();
  LEDS.show();
}
//----------------------------------------
void loop()
{
  LEDS_1(3, 20); // зажечь одну из линеек ; номер линейки, задержка
  //LEDS_2(); // поочередно зажигаются все сборки
  //LEDS_3(); //все цвета на всех светодиодах после нажатия кнопки
}
//----------------------------------------
void LEDS_1(byte StickNum, unsigned int ShowDelay)
{
  byte StartPixel = StickNum * PIXEL_IN_STICK;
  
  for (byte Colour = 0; Colour <= 125; Colour++)
  {
    for (byte i = StartPixel; i < (StartPixel + PIXEL_IN_STICK); i++)
      LEDS.setPixelColor(i, Colour + 50, 125 - Colour, 2 * Colour);
    
    LEDS.show();
    delay(ShowDelay);
  }

  for (byte Colour = 124; Colour >= 1; Colour--)
  {
    for (byte i = StartPixel; i < (StartPixel + PIXEL_IN_STICK); i++)
      LEDS.setPixelColor(i, Colour + 50, 125 - Colour, 2 * Colour);
    
    LEDS.show();
    delay(ShowDelay);
  }
}
//----------------------------------------
void LEDS_2()
{
  const unsigned int ShowDelay = 20;
  static byte ActiveStick = 1;

  for (byte Colour = 0; Colour <= 125; Colour++)
  {
    for (byte i = 0; i < (ActiveStick * PIXEL_IN_STICK); 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 < (ActiveStick * PIXEL_IN_STICK); i++)
      LEDS.setPixelColor(i, Colour + 50, 125 - Colour, 2 * Colour);
    
    LEDS.show();
    delay(ShowDelay);
  }

  ActiveStick++;
  if (ActiveStick == (STICK_NUM + 1))
  {
    ActiveStick = 1;
    
    for (byte i = 0; i < PIXEL_NUM; i++)
      LEDS.setPixelColor(i, 0, 0, 0);
  }
}
//----------------------------------------
void LEDS_3()
{
  static byte State = 0;
  
  if (State == 1)
  {
    for(uint16_t j=0; j<256*3; j++) //стоит 3 цикла радуги
    {
      for(uint16_t i=0; i< PIXEL_NUM; i++)
      {
        LEDS.setPixelColor(i, Wheel(((i * 256 / PIXEL_NUM) + j) & 255));
      }
    
      LEDS.show();
      delay(10);
    }

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

  if (digitalRead(KEY_PIN) == 0)
  {
    delay(70);
    if (digitalRead(KEY_PIN) == 0)
    {
      State = 1;
    }
  }
}
//----------------------------------------
uint32_t Wheel(byte WheelPos) {
  WheelPos = 255 - WheelPos;
  if(WheelPos < 85) {
    return LEDS.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  }
  if(WheelPos < 170) {
    WheelPos -= 85;
    return LEDS.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
  WheelPos -= 170;
  return LEDS.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}


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

Видео

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

Комментарии