• Новый номер телефона WhatsApp и Telegram: +7 993 910‑76‑27
  • 0
    КОРЗИНА
    0 ТОВАРА
     NeoPixel кольцо, 60 светодиодов для Arduino ардуино
     NeoPixel кольцо, 60 светодиодов для Arduino ардуино
    NeoPixel кольцо, 60 светодиодов

    NeoPixel кольцо, 60 светодиодов

    Подробнее...
    Модификация
    В наличии: 5 шт. Артикул: # 1388
    1161 ₽
    Возможен безналичный расчёт для юридических лиц при оформлении заказа
    Сообщить о поставке на e-mail:
    {{ status }}
    • В наличии и готов к отправке!
    • Доставка товаров по России, Белоруссии, Казахстану
    • Возможен безналичный расчёт для юридических лиц при оформлении заказа
    Количество:
    Перейти в корзину и оформить заказ.
    Telegram
    WhatsApp
    Обсудить вопросы приобретения, не технические!
    *Доступно общение только текстовыми сообщениями, звонки и аудио сообщения не обслуживаются
    Онлайн
    Описание товара
    Подробное описание товара

    Общие сведения

    NeoPixel кольцо — это четыре модуля с 15-ю адресными RGB светодиодами в каждом, их «адресность» позволяет управлять цветом каждого светодиода на одной линии. Модули можно соединять друг с другом, используя только 1 вывод Arduino.

    Характеристики

    • Входное напряжение питания модуля: 5 В
    • Количество светодиодов в модуле: 15
    • Ток, потребляемый модулем: <675 мА
    • Ток, потребляемый каждым светодиодом: < 45 мА (по 15 мА на полную яркость свечения каждого цвета светодиода)
    • Уровень логической «1» на входе IN: > 0,7 Vcc
    • Уровень логического «0» на входе IN: < 0,3 Vcc
    • Длина световой волны: 620 ... 630 нм (для красного цвета)
    • Длина световой волны: 515 ... 530 нм (для зелёного цвета)
    • Длина световой волны: 465 ... 470 нм (для синего цвета)
    • Рабочая температура: -25 ... 80 °C
    • Температура хранения: -55 ... 150 °C
    • Габариты: 111x27.5x3.3 мм
    • Внутренний диаметр: 145мм

    Подключение

    Модули NeoPixel подключаются входом (DIN) к любому выводу Arduino. При подключении нескольких модулей их можно соединить друг с другом (выход OUT каждого модуля со входом IN следующего), а вход IN первого модуля к любому выводу Arduino. Обратите внимание, что при соединении кольцом, последний OUT и первый IN не соединяются! (см. схему подключения ниже). Нумерация (адрес) светодиодов является сквозной и начинается от ближайшего к выводу Arduino.

    Инструкция по установке.

    Для работы с адресными светодиодами предлагаем воспользоваться библиотекой iarduino_NeoPixel.

    Инструкция по установке библиотеки.

    Питание:

    Входное напряжение 5 В постоянного тока, подаётся на выводы Vcc и GND модуля. Источник питания должен быть рассчитан на 3 А и более, поскольку максимальное потребление модулей (в случае соединения кольцом) составляет 2,7 А.

    Подробнее о модуле:

    Адресные светодиоды WS2812B это три светодиода RGB (Red - красный, Green - зелёный и Blue - синий) и драйвер (микросхема) для управления этими светодиодами, в одном SMD (Surface Mounted Device - прибор монтируемый поверхностно) корпусе.

    Корпус каждого светодиода имеет 4 вывода: два вывода данных (IN - вход и OUT - выход) и два вывода питания (Vcc и GND). В модулях NeoPixel выходы (OUT) предыдущих светодиодов соединены со входами (IN) следующих, создавая цепочку светодиодов. Каждый модуль кольца NeoPixel имеет 6 выводов: два вывода данных (IN, OUT) и четыре вывода питания (Vcc, GND) - по два с каждой стороны. Также модули можно соединять в цепочку (например, в кольцо).  Обратите внимание, что в таком случае крайние IN и OUT кольца не соединяются (см. рисунок с подключением). К одному выводу Arduino можно подключить «неограниченное» количество модулей NeoPixel.

    Цвет каждого адресного светодиода задаётся 3 байтами (каждый байт указывает яркость одного цвета: 1-G, 2-R, 3-B). После того как первый адресный светодиод получил на вход (IN) первые 3 байта, он сохраняет их в своей ОЗУ, а остальные байты пропускает со входа (IN) на выход (OUT). Второй адресный светодиод сохранит в своей ОЗУ следующие 3 байта а остальные пропустит и т.д. Если в линию данных перестали поступать биты (на линии установлен уровень логического «0» дольше 50 мкс), светодиоды установят свои цвета. Каждый бит данных имеет длительность 1,25 мкс и состоит из импульса и паузы. Бит «0» отличается от бита «1» длительностью импульса: • бит «0» - импульс 350 нс, пауза 900 нс; • бит «1» - импульс 900 нс, пауза 350 нс.

    Для работы с модулем предлагаем воспользоваться библиотекой iarduino_NeoPixel, которая позволяет работать с модулями NeoPixel если суммарное количество адресных светодиодов WS2812B не превышает 65534 шт.

    Подробнее про установку библиотеки читайте в нашей инструкции.

    Примеры:

    Во всех следующих примерах модули спаяны в кольцо и подключены к 5 выводу Arduino (см. схему подключения выше). При подключении платы контроллера к компьютеру для загрузки скетча, необходимо отключать NeoPixel кольцо от платы (достаточно отключить один из проводов питания), для того, чтобы модуль не начал работать от USB порта (кольцо потребляет до 2,7 А; USB порт не рассчитан на такой ток). 

    Заливка кольца разными цветами:

    #include <iarduino_NeoPixel.h>                       // подключаем библиотеку iarduino_NeoPixel для работы со светодиодами NeoPixel
    iarduino_NeoPixel led(5,60);                         // указываем, что к 5 выводу подключено 60 светодиодов
    
    uint8_t r=0; uint8_t g=1; uint8_t b=2; uint8_t w=3;  // Вводим переменные - порядковые номера светодиодов
    
    void setup(){
        led.begin();                                     //  Инициируем работу с модулем NeoPixel
    }
    
    void loop(){
      for (uint8_t i=0; i<12; i++){       //  Повторяем 12 раз до зажжения всех светодиодов в конце
        led.setColor(r, 255,0,0);         //  Устанавливаем красный цвет для светодиода с номером r (r,R,G,B)
        led.write();                      //  Записываем
        delay(50);                        //  Ждём
    
        led.setColor(g, 0,255,0);         //  Устанавливаем красный цвет для светодиода с номером g (g,R,G,B)
        led.write();                      //  Записываем
        delay(50);                        //  Ждём
        
        led.setColor(b, 0,0,255);         //  Устанавливаем красный цвет для светодиода с номером b (b,R,G,B)
        led.write();                      //  Записываем
        delay(50);                        //  Ждём
        
        led.setColor(w, 255,255,255);     //  Устанавливаем красный цвет для светодиода с номером w (w,R,G,B)
        led.write();                      //  Записываем
        delay(50);                        //  Ждём
        
        r+=4; g+=4; b+=4; w+=4;           //  Увеличиваем значения, чтобы зажечь следующие светодиоды
      }
    }

    Заливка кольца разными цветами радуги:

    #include <iarduino_NeoPixel.h>                       // подключаем библиотеку iarduino_NeoPixel для работы со светодиодами NeoPixel
    iarduino_NeoPixel led(5,60);                         // указываем, что к 5 выводу подключено 60 светодиодов
    
    uint8_t j;                                           //  Объявляем переменную для хранения значения сдвига спектра цветов для всех светодиодов (от 0 до 255)
    uint8_t k;                                           //  Объявляем переменную для хранения положения сдвига спектра цвета для каждого светодиода на спектре j (зависит от количества светодиодов)
    uint8_t r, g, b;                                     //  Объявляем переменную для хранения цветов RGB для каждого светодиода
    const uint8_t z=5;                                   //  Определяем константу указывающую задержку в мс (чем выше значение, тем медленнее перелив цветов) 
    
    void setup(){
        led.begin();                                     //  Инициируем работу с модулем NeoPixel
    }
    
    void loop(){
    j++;                                                 //  Смещаем спектр цветов для всех светодиодов
      for(uint16_t i=0; i<60; i++){                      //  Проходим по всем светодиодам
          k=((uint16_t)(i*256/60)+j);                    //  Определяем положение очередного светодиода на смещённом спектре цветов
          if(k<85) {        b=0; r=k*3; g=255-r;}else    //  Перелив от зелёного к красному, через жёлтый
          if(k<170){k-=85;  g=0; b=k*3; r=255-b;}else    //  Перелив от красного к синему  , через фиолетовый
                   {k-=170; r=0; g=k*3; b=255-g;}        //  Перелив от синего   к зелёному, через голубой
          led.setColor(i, r,g,b);                        //  Устанавливаем выбранный цвет для очередного светодиода
      }   led.write();                                   //  Записываем цвета всех светодиодов
      delay(z);                                          //  Устанавливаем задержку
    }
    

    Данный пример может работать как с большим, так и с меньшим количеством светодиодов, тогда Вам нужно указать их количество во второй строке скетча. Скорость перелива зависит от значения константы z, чем больше её значение, тем медленнее перелив.

    Простой таймер:

    В данном примере к 3 выводу контроллера подключена кнопка. Вторым выводом она подключена к GND.

    #include <iarduino_NeoPixel.h>                                                         // подключаем библиотеку iarduino_NeoPixel для работы со светодиодами NeoPixel
    iarduino_NeoPixel led(5,60);                                                           // указываем, что к 5 выводу подключено 60 светодиодов
    #define buttonNextPin 3                                                                // пин кнопки "Далее"
    
    bool btnNextFlag = false;                                                              // флаг нажатия кнопки
    uint32_t btnNextTimer = 0;                                                             // таймер нажатия кнопки 
    bool clickFlag = false;                                                                // флаг нажатия кнопки
    uint8_t steps=0;                                                                       // шаг заливки таймера
    uint8_t ledCount = 60;                                                                 // число светодиодов в круге
    uint8_t colorRed, colorGreen;                                                          // цвета для заливки круга
    uint32_t stepTime = 1000;                                                              // время задержки (мс) меду шагами. Меняя это значение, можно настраивать время работы таймера
    
    void setup(){
        Serial.begin(9600);                                                                // инициируем передачу данных в монитор последовательного порта
        if(led.begin()) {Serial.println("Ok");}                                            // инициируем работу со светодиодами и выводим сообщение об успешной инициализации
        else            {Serial.println("Err");}                                           // если инициализация невозможна (не хватает памяти для хранения цветов всех светодиодов), то выводим сообщение об ошибке
        pinMode(buttonNextPin, INPUT_PULLUP);                                              // пин, к которому подключена кнопка - вход, подтиягивающий резистор полюкчен програмно 
    }
    
    void loop(){                                                                           
      randomSeed(analogRead(A0));                                                          // новая опорная точка для генератора случайных чисел (на "висящем в воздухе" выводе А0 присутствует случайный сигнал)
      bool buttonNextState = !digitalRead(buttonNextPin);                                  // состояние кнопки - сигнал с пина кнопки (инвертируем для удобства)
      if (buttonNextState && !btnNextFlag && millis() - btnNextTimer > 100) {              // если кнорка нажата И до этого нажата не была И она нажата уже 100мс (задержка от дребезга контактов)
        btnNextTimer = millis();                                                           // сбрасываем таймер
        Serial.println("press");                                                           // выводим инфомацию о том что кнопка нажата     
        btnNextFlag = true;                                                                // флаг нажатия кнопки - true
        clickFlag=true;                                                                    // флаг нажатия кнопки - true
      }
      if (!buttonNextState && btnNextFlag) {                                               // если кнопку отпустили
        btnNextFlag = false;                                                               // флаг нажатия кнопки false - теперь она отпущена
        btnNextTimer = millis();                                                           // сбрасываем таймер
      }
      if (clickFlag){                                                                      //если был клик кнопки
        colorRed = round(map(steps, 0, 60, 0, 200));                                       //перевод числа шагов steps в диапазон цвета 0...200
        colorGreen = round(map(steps, 0, 60, 100, 0));                                     //перевод числа шагов steps в диапазон цвета 0...100
        for (uint16_t i=0; i<=steps; i++){                                                 // зажигаем белым светодиоды от начала до текущего шага
          led.setColor(i, 255,255,255);                                                   
        }
        for (uint16_t i=steps+1; i<=ledCount; i++){                                        // зажигаем цвемтом оставщиеся светодиоды. Цвет меняется по мере приближения таймера к концу
          led.setColor(i, colorRed,colorGreen,0);              
        }
        led.write();                                                                       // записываем
        delay (stepTime);                                                                  // задержка (следующего шага)
        steps++;                                                                           // увеличиваем текущиё шаг на 1
        if (steps >= ledCount){                                                            // если дошли до конца
          for (uint8_t i=0; i<3; i++){                                                     // повторяем три раза:
            led.setColor(NeoPixelAll, 0,0,0);                                              // гасим все светодиоды
            led.write();                                                                   // записываем
            delay (500);                                                                   // ждём 500мс
            led.setColor(NeoPixelAll, 255,0,0);                                            // зажигаем все светодиоды
            led.write();                                                                   // записываем
            delay (500);                                                                   // ждём 500мс
          }
          delay (500);                                                                     // задержка 500мс
          led.setColor(NeoPixelAll, 0,0,0);                                                // гасим все светодиоды
          led.write();                                                                     // записываем
          steps = 0;
          clickFlag=false;                                                                 //меняем флаг
        }
      }
    } 

    Описание основных функций библиотеки:

    Подключение библиотеки:

    #include <iarduino_NeoPixel.h>                              //  Подключаем библиотеку iarduino_NeoPixel для работы с модулями NeoPixel
    iarduino_NeoPixel led( №_ВЫВОДА , КОЛИЧЕСТВО_СВЕТОДИОДОВ ); //  Объявляем объект led для работы с модулями подключёнными к указанному выводу

    Функция begin();

    • Назначение: Инициализация работы с модулями NeoPixel.
    • Синтаксис: begin();
    • Параметры: Нет.
    • Возвращаемые значения: bool, 1 (успешная инициализация) или 0 (отказ инициализации, не хватает памяти).
    • Примечание: Вызывается 1 раз в коде setup.
    • Пример:
    if(led.begin()) {Serial.println("Ok" );} //  Инициируем работу с модулями NeoPixel и выводим сообщение об успешной инициализации
    else            {Serial.println("Err");} //  Не хватает памяти для хранения цветов всех светодиодов, выводим сообщение об ошибке

    Функция setColor();

    • Назначение: Указание цвета для адресного светодиода.
    • Синтаксис: setColor( №_СВЕТОДИОДА , ЦВЕТ [ , ЯРКОСТЬ ] );
    • Параметры:
      • №_СВЕТОДИОДА - число от 0 до 65534, или NeoPixelAll если требуется установить цвет сразу всем светодиодам.
      • ЦВЕТ - можно указать одним числом (как в графических редакторах), например: 0xFF00FF - фиолетовый. А можно указать тремя параметрами (числами) через запятую, R, G, B, например: 0xFF, 0xFF, 0x00 - жёлтый.
      • ЯРКОСТЬ - необязательный параметр от 0 до 255. Если указать 127 - то указанный цвет не претерпит изменений. Чем ближе число к 0, тем темнее будет указанный цвет, а чем ближе число к 255, тем светлее будет указанный цвет (вплоть до белого).
    • Возвращаемые значения: Нет.
    • Примечание: Функция устанавливает цвет в массиве цветов, но их запись в модули осуществляется функцией write().
    • Пример:
    led.setColor(0, 0xFF00FF);              // Установить фиолетовый цвет для 0 светодиода
    led.setColor(1, 0xFF, 0x00, 0xFF);      // Установить фиолетовый цвет для 1 светодиода
    led.setColor(2, 0xFF, 0x00, 0xFF, 200); // Установить фиолетовый цвет для 2 светодиода, но сделать его более светлым
    led.setColor(NeoPixelAll, 0, 255, 0);   // Установить зелёный цвет для всех светодиодов

    Функция write();

    • Назначение: Запись (применение) всех установленных цветов в модули NeoPixel.
    • Синтаксис: write();
    • Параметры: Нет.
    • Возвращаемые значения: Нет.
    • Примечание: Если для светодиода новый цвет не установлен, то он сохранит старый цвет.
    • Пример:
    led.write(); // Запись всех установленных цветов в модули NeoPixel

    Функция count();

    • Назначение: Получение количества используемых светодиодов.
    • Синтаксис: count();
    • Параметры: Нет.
    • Возвращаемые значения: Количество светодиодов, от 0 до 65534.
    • Примечание: Функция возвращает число светодиодов, которое было указано при объявлении объекта библиотеки. Эту функцию можно использовать для создания циклов. Если Вы пожелаете изменить количество светодиодов, то Вам будет достаточно сделать это в строке объявления объекта, а не править весь скетч.
    • Пример:
    for(uint16_t i=0; i<led.count(); i++){ // Цикл для прохода по всем светодиодам
    ...
    }

    Необязательная функция getPointer();

    • Назначение: Получение указателя на массив цветов светодиодов.
    • Синтаксис: getPointer();
    • Параметры: Нет.
    • Возвращаемые значения: uint8_t*, Указатель на массив цветов светодиодов.
    • Примечание: Это необязательная функция которая возвращает указатель на массив цветов светодиодов. Используя этот массив Вы сами можете формировать цвета в обход функции setColor(). А так же можете считывать ранее установленные цвета.
      • байты 0, 1, 2 массива, это цвета 0 светодиода (G-зелёный, R-красный, B-синий).
      • байты 3, 4, 5 массива, это цвета 1 светодиода (G-зелёный, R-красный, B-синий) и т.д.
      • размер массива зависит от количества светодиодов указанных при объявлении объекта библиотеки.
    • Пример:
    uint8_t *ptrLED = led.getPointer();          // Получаем указатель на массив цветов светодиодов
    ptrLED[0]=255; ptrLED[1]=0;   ptrLED[2]=0;   // Устанавливаем зелёный цвет для 0 светодиода
    ptrLED[3]=0;   ptrLED[4]=255; ptrLED[5]=0;   // Устанавливаем красный цвет для 1 светодиода
    ptrLED[6]=0;   ptrLED[7]=0;   ptrLED[8]=255; // Устанавливаем синий   цвет для 2 светодиода
    led.write();                                 // Записываем установленные цвета в модули.

    Применение:

    • Декоративное освещение;
    • Создание игр;

    Ссылки:

    Товары
    Первой необходимости и другие вещи, которые могут пригодиться!
    В наличии
    Силиконовый провод 20AWG (1 м / Жёлтый): Многожильный мягкий жёлтый провод сечением 0,5 мм² и длиной 1 м Подробнее
    82
    В наличии
    Trema Shield: Плата расширения для удобного подключения периферийных устройств Подробнее
    540
    660
    Скоро в продаже
    NeoPixel (Trema-модуль): Модуль с четырьмя адресными RGB светодиодами, их «адресность» позволяет управлять цветом каждого светодиода Подробнее
    216
    В наличии
    Силиконовый провод 20AWG (1 м / Красный): Многожильный мягкий красный провод сечением 0,5 мм² и длиной 1 м Подробнее
    82
    В наличии
    81
    В наличии
    USB паяльник, 5В: Подробнее
    711
    В наличии
    Силиконовый провод 20AWG (1 м / Чёрный): Многожильный мягкий чёрный провод сечением 0,5 мм² и длиной 1 м Подробнее
    82
    В наличии
    310
    В наличии
    Trema Shield MINI: Подробнее
    351
    490
    В наличии
    Ethernet модуль на базе ENC28J60 SPI : Позволяет осуществить подключение Вашего устройства к сети Ethernet, а следовательно и к сети Enternet Подробнее
    666
    Скоро в продаже
    Драйвер мотора, 30A : Драйвер Н-мост для DC моторов Подробнее
    504
    Скоро в продаже
    NeoPixel (Trema-модуль): Модуль с четырьмя адресными RGB светодиодами, их «адресность» позволяет управлять цветом каждого светодиода Подробнее
    216
    В наличии
    Светодиод Сube - синий (Trema-модуль): Квадратный светодиодный светодиод 15х15 мм, позволит создать необычный дизайн устройства Подробнее
    158
    Скоро в продаже
    Компактный сетевой модуль W5500 ТСР/IP (Ethernet): Самое компактное решение для работы с Ethernet Подробнее
    626
    Или перейти в корзину и оформить заказ.
    Гарантии и возврат Используя сайт Вы соглашаетесь с условями
    Есть вопрос?