Меню
Корзина 00 ₽
    Поддержка в мессенджере
    Ampertok
    Каталог
      Поиск
      • Бонусы
      • Блог
      • Доставка
      • Контакты
      • Юр. лицам
      Ampertok
      • Arduino
      • Модули
      • Приборы
      • Датчики
      • Контроллеры
      • Питание и заряд
      • Провода, кабели
      • Дисплеи
      • Инструменты
      • Компоненты
      • Наборы
      • Механика
      • РУ компоненты
      • Умный дом
      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      Bluetooth GPS GSM/GPRS RFID Аудио БП-связь Время Драйвера Зарядки Интерфейсы Макетные платы Преобразователи Реле Wi-Fi
      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      Газа Движение Звук Климат Пространство Свет и цвет
      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      Arduino Orange Raspberry STM Программатор ESP
      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      Li-ion Li-Pol Батарейки Батарейные отсеки Блоки питания Модули Солнечные панели
      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      TFT Светодиодные Символьные
      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      Крепежи Переключатели
      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      Arduino DIY Модули Пайщик Р/У
      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      Двигатели Драйверы Крепления Сервоприводы Шасси
      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      Коптеры и комплектующие Радиоуправляемые модели
      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      • Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0
        Arduino Nano V 3.0

        399 ₽ 1326 ₽

      • DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        DIY KIT Набор часы (зелёные)
        5.0 DIY KIT Набор часы (зелёные)

        889 ₽ 1010 ₽

      • Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano
        Набор Ampertok-46 Arduino Nano

        3100 ₽ 3980 ₽

      • Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        Набор Arduino Ampertok Mini
        5.0 Набор Arduino Ampertok Mini

        3199 ₽ 5474 ₽

      Корзина 00 ₽
      Корзина
      Ваша корзина пуста!
      • Arduino
      • Модули
        Bluetooth GPS GSM/GPRS RFID Аудио БП-связь Время Драйвера Зарядки Интерфейсы Макетные платы Преобразователи Реле Wi-Fi
      • Приборы
      • Датчики
        Газа Движение Звук Климат Пространство Свет и цвет
      • Контроллеры
        Arduino Orange Raspberry STM Программатор ESP
      • Питание и заряд
        Li-ion Li-Pol Батарейки Батарейные отсеки Блоки питания Модули Солнечные панели
      • Провода, кабели
      • Дисплеи
        TFT Светодиодные Символьные
      • Инструменты
      • Компоненты
        Крепежи Переключатели
      • Наборы
        Arduino DIY Модули Пайщик Р/У
      • Механика
        Двигатели Драйверы Крепления Сервоприводы Шасси
      • РУ компоненты
        Коптеры и комплектующие Радиоуправляемые модели
      • Умный дом
      Каталог Поиск Корзина Корзина 00 ₽ Сравнение Войти
      Авторизация
      Забыли пароль?
      Регистрация

      Гирлянда на WS2812B и Ардуино своими руками

      • Главная
      • Блог
      • Проекты
      • Гирлянда на WS2812B и Ардуино своими руками

      Новогодняя гирлянда из адресных светодиодов ws2812b своими руками — интересный проект на Ардуино Нано, который сможет порадовать вас и удивить ваших гостей. Мы разместили на этой странице подробную схему сборки устройства, а также два варианта прошивки микроконтроллера с возможностью управлять световыми эффектами на адресной светодиодной ленте ws2812b Arduino от тактовой кнопки.

      Гирлянда на WS2812B и Ардуино своими руками, изображение №1

      Гирлянда из ws2812b потребляет довольно много тока. Если выбор блока питания для адресной LED ленты зависит от напряжения питания ws2812b (5 или 12 Вольт). То на силу тока блока питания (Амперы) влияет длина ленты, а также плотность светодиодов, например, 60 штук на метр. Исходите из того, что один светодиод потребляет 60 mA, соответственно 60 светодиодов (один метр ленты) требуют ток 3,6 Ампера.

      Сборка гирлянды на адресных светодиодах WS2812B и Arduino

      Для этого проекта нам потребуется:

      • плата Arduino Nano;
      • адресная лента WS2812B;
      • блок питания на 5V или 12V;
      • резистор 100 — 500 Ом;
      • тактовые кнопки;
      • припой, провода, изолента.

      На следующей картинке изображена сборка электрической схемы новогодней гирлянды на ws2812b. Тактовые кнопки служат для настройки световых эффектов — изменение яркости, шага и скорости движения радуги в первом скетче. Во втором скетче предусмотрен вариант переключения различных световых эффектов на ws2812b, а также изменения яркости светодиодов и скорости переливания цветов.

      Гирлянда на WS2812B и Ардуино своими руками, изображение №2

      После сборки схемы, вам потребуется установить библиотеку FastLED для управления адресной ленты. Следующая прошивка заставляет ленту переливаться всеми цветами радуги. С помощью тактовых кнопок можно добиться нужного светового эффекта для елочной гирлянды на ws2812b светодиодах.

      Скетч. Адресная гирлянда WS2812B на Ардуино

      #include <FastLED.h> // подключаем библиотеку
      
      #define NUM_LEDS 100 // указываем количество светодиодов на ленте
      #define PIN 4                    // указываем пин для подключения ленты
      
      byte bright = 50;  // яркость светодиодов
      byte steps = 1;     // шаг радуги из светодиодов
      byte rate = 0;        // скорость движения радуги
      
      boolean button1WasUp = true;   // переменные для считывания нажатия на кнопки
      boolean button2WasUp = true;
      boolean button3WasUp = true;
      
      CRGB leds[NUM_LEDS];
      byte counter;
      
      void setup() {
         pinMode(8, INPUT_PULLUP);   // подключаем тактовые кнопки
         pinMode(10, INPUT_PULLUP);
         pinMode(12, INPUT_PULLUP);
         // настройки для гирлянды из адресной ленты
         FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
         FastLED.setBrightness(bright);
      }
       
      void loop() {
         boolean button1IsUp = digitalRead(8);   // узнаем текущее состояние кнопок
         boolean button2IsUp = digitalRead(10);
         boolean button3IsUp = digitalRead(12);
      
         // если кнопка 1 была нажата, добавляем яркость (не больше 250)
         if (button1WasUp && !button1IsUp) {
           delay(10);
           button1IsUp = digitalRead(8);
           if (!button1IsUp) { bright = bright + 50; if (bright > 250) { bright = 50; } }
         }
         button1WasUp = button1IsUp; // запоминаем состояние кнопки 1
      
         // если кнопка 2 была нажата, увеличиваем задержку (не больше 50)
         if (button2WasUp && !button2IsUp) {
           delay(10);
           button2IsUp = digitalRead(10);
           if (!button2IsUp) { rate = rate + 10; if (rate > 50) { rate = 0; } }
         }
         button2WasUp = button2IsUp; // запоминаем состояние кнопки 2
      
         // если кнопка 3 была нажата, уменьшаем шаг радуги (не больше 51)
         if (button3WasUp && !button3IsUp) {
           delay(10);
           button3IsUp = digitalRead(12);
           if (!button3IsUp) { steps = steps + 10; if (steps > 51) { steps = 1; } }
         }
         button3WasUp = button3IsUp; // запоминаем состояние кнопки 3
      
         for (int i = 0; i < NUM_LEDS; i++ ) {
           leds[i] = CHSV(counter + i * steps, 255, 255);
         }
         counter++;
      
         FastLED.setBrightness(bright);
         FastLED.show();
         delay(rate);
      }

      Пояснения к коду:

      1. кнопки подключены к пинам, которые сконфигурированы с помощью функции INPUT_PULLUP, позволяющей считывать количество нажатий на кнопку;
      2. нажатие кнопок увеличивает переменные bright, steps и rate, а при достижении заданного порога переменные возвращаются к начальным значениям.
      Гирлянда на WS2812B и Ардуино своими руками, изображение №3

      В следующей прошивке есть несколько режимов работы гирлянды, как и в случае сборки светильника на ws2812b для переключения служат кнопки. Для удобства мы использовали только одну библиотеку FastLED в скетче. Между тем, скетч от светильника тоже подойдет для управления эффектами на гирлянде, единственное, что вам потребуется дополнительно скачать и установить библиотеку Adafruit NeoPixel.

      Скетч. Адресная гирлянда WS2812B с кнопкой

      #include <FastLED.h> // подключаем библиотеку
      
      #define NUM_LEDS 100
      #define PIN 4
      
      byte bright = 50; // яркость светодиодов
      byte rate = 0;       // скорость эффектов
      byte w = 1;          // переключение режимов
      byte baza = 0;     // изменение оттенка
      
      boolean button1WasUp = true;   // переменные для считывания нажатия на кнопки
      boolean button2WasUp = true;
      boolean button3WasUp = true;
      
      CRGB leds[NUM_LEDS];
      
      void setup() {
        pinMode(8, INPUT_PULLUP);   // подключаем тактовые кнопки
        pinMode(10, INPUT_PULLUP);
        pinMode(12, INPUT_PULLUP);
      
        FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
        FastLED.setBrightness(bright);
      }
      
      void knopka () {
        boolean button1IsUp = digitalRead(8);   // узнаем текущее состояние кнопок
        boolean button2IsUp = digitalRead(10);
        boolean button3IsUp = digitalRead(12);
      
        // если кнопка 1 была нажата, добавляем яркость (не больше 250)
        if (button1WasUp && !button1IsUp) {
          delay(10);
          button1IsUp = digitalRead(8);
          if (!button1IsUp) { bright = bright + 50; if (bright > 250) { bright = 50; }
          }
        }
        button1WasUp = button1IsUp; // запоминаем состояние кнопки 1
      
        // если кнопка 2 была нажата, увеличиваем задержку (не больше 50)
        if (button2WasUp && !button2IsUp) {
          delay(10);
          button2IsUp = digitalRead(10);
          if (!button2IsUp) { rate = rate + 10; if (rate > 50) { rate = 0; }
          }
        }
        button2WasUp = button2IsUp; // запоминаем состояние кнопки 2
      
        // если кнопка 3 была нажата, переходим в новый режим
        if (button3WasUp && !button3IsUp) {
          delay(10);
          button3IsUp = digitalRead(12);
          if (!button3IsUp) { w++; if (w > 7) { w = 1; }
          }
        }
        button3WasUp = button3IsUp; // запоминаем состояние кнопки 3
      }
      
      void loop() {
        // первый режим (радуга)
        while (w == 1) {
          knopka(); // узнаем состояние кнопок
          for (int i = 0; i < NUM_LEDS; i++) {
            leds[i] = CHSV(baza+ i * 5, 255, 255);
          }
          baza++;
          FastLED.setBrightness(bright);
          FastLED.show();
          delay(50 - rate);
        }
      
        // второй режим (палитра)
        while (w == 2) {
          knopka(); // узнаем состояние кнопок
          static uint8_t starthue = 0;
          fill_rainbow( leds + 5, NUM_LEDS - 5, --starthue, rate);
          uint8_t secs = (millis() / 1000) % (rate * 2);
          if (secs < rate) { FastLED.setTemperature( Tungsten100W ); leds[0] = Tungsten100W; }
          else { FastLED.setTemperature( OvercastSky ); leds[0] = OvercastSky; }
          FastLED.setBrightness(bright);
          FastLED.show();
        }
      
        // третий режим (конфетти)
        while (w == 3) {
          knopka(); // узнаем состояние кнопок
          fadeToBlackBy(leds, NUM_LEDS, (rate + 1) * 2);
          int pos = random16(NUM_LEDS);
          leds[pos] += CHSV(baza++ + random8(64), 200, 255);
          FastLED.setBrightness(bright);
          FastLED.show();
        }
      
        // четвертый режим (бегущий огонек)
        while (w == 4) {
          knopka(); // узнаем состояние кнопок
          fadeToBlackBy(leds, NUM_LEDS, (rate + 1) * 2);
          int pos = beatsin16(13, 0, NUM_LEDS - 1);
          leds[pos] += CHSV(baza++, 255, 192);
          FastLED.setBrightness(bright);
          FastLED.show();
        }
      
        // пятый режим (циклон)
        while (w == 5) {
          for (int i = 0; i < NUM_LEDS; i++) {
            leds[i].nscale8(250);
            }
          for (int i = 0; i < NUM_LEDS; i++) {
            knopka(); // узнаем состояние кнопок
            leds[i] = CHSV(baza++, 255, 255);
            FastLED.setBrightness(bright);
            FastLED.show();
            delay(rate);
          }
        }
      
        // шестой режим (фокус)
        while (w == 6) {
          knopka(); // узнаем состояние кнопок
          fadeToBlackBy(leds, NUM_LEDS, (rate + 1) * 2);
          for (int i = 0; i < 8; i++) {
            leds[beatsin16(i + 7, 0, NUM_LEDS - 1)] |= CHSV(baza+=16, 200, 255);
          }
          FastLED.setBrightness(bright);
          FastLED.show();
          delay(10);
        }
      
        // седьмой режим (радуга с мерцанием)
        while (w == 7) {
          knopka(); // узнаем состояние кнопок
          fill_rainbow( leds, NUM_LEDS, baza++, 7);
          if (random8() < 80) { leds[ random16(NUM_LEDS) ] += CRGB::White; }
          FastLED.setBrightness(bright);
          FastLED.show();
          delay(50 - rate);
        }
      }

      Пояснения к коду:

      1. эффекты прошивки сделаны из стандартных скетчей библиотеки FastLED.h;
      2. можно в схеме подключить только одну кнопку для переключения режимов работы новогодней гирлянды (пин 12), а значение яркости bright и скорость эффектов rate установить по умолчанию в начале программы.

      Заключение: Гирлянда из адресных светодиодов ws2812b своими руками может иметь и больше различных крутых световых эффектов. Для управления гирляндой можно использовать библиотеку Adafruit_NeoPixel.h, с помощью которой мы подключали матрицу ws2812b к Ардуино.

      Теги: #arduino

      Поделиться
      1464
      0
      5 Января, 2024
      Комментарии
      • Ваш комментарий будет первым
      Оставить комментарий
      Поделиться
      Выберите обязательные опции

      Мы используем файлы cookie и другие средства сохранения предпочтений и анализа действий посетителей сайта. Подробнее в Условия соглашения. Нажмите «Принять», если даете согласие на это.

      Принять
      Ampertok

      Интернет-магазин «Ampertok.ru»

      2026

      Аккаунт
      • Сравнение
      • Избранное
      • Возвраты
      • Аккаунт
      • Корзина
      Информация
      • Контакты
      • Блог
      • Доставка
      • Условия соглашения
      • Бонусы
      • Возврат
      • Юр. лицам
      Категории
      • Arduino
      • Контроллеры
      • Наборы
      • Инструменты
      • Модули
      • Датчики
      Поддержка

      Будни, с 10.00 до 17.00

      Поддержка в мессенджере
      Электронная почта
      shop@ampertok.ru
      Адрес магазина
      г. Санкт-Петербург, ул. Бухарестская д.6
      Мы в сети
      • Сообщество
      • Канал
      Подписаться на рассылку

      Мы не будем присылать вам спам. Только скидки, выгодные предложения, а так же интересные статьи!

      Ampertok

      Интернет-магазин «Ampertok.ru», 2026