Инструкции

Справочный раздел

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

Разделы инструкций

В сети

Пользователей: 180
Из них просматривают:
Аналоги: 71. Галерея: 1. Даташиты: 42. Инструкции: 2. Новости: 4. Профиль пользователя: 23. Теги: 1. Форум: 36.
Участников: 2
Гостей: 178

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

WS2812

Что такое WS2812

WS2812 — это RGB-светодиоды с встроенным контроллером. Каждый светодиод можно управлять индивидуально по одной линии данных.

Особенности:

  • управление по цифровому протоколу (1 провод);
  • поддержка цепочки светодиодов (каждый передаёт сигнал дальше);
  • возможность задать цвет (24 бита: R, G, B) и яркость.



Подключение WS2812 к Arduino

У светодиодной ленты/модуля WS2812 обычно 3 вывода:

  • DIN — вход данных (подключается к Arduino);
  • VCC — питание (обычно 5 В);
  • GND — земля.

Схема подключения:

  • Arduino 5V → VCC ленты (если питание небольшое, например 5–10 светодиодов; для длинных лент нужен внешний блок питания 5 В).
  • Arduino GND → GND ленты.
  • Arduino D6 (например) → DIN.
  • Рекомендуется поставить резистор 330–470 Ом в линию данных и конденсатор 1000 мкФ / 6.3 В между +5 В и GND для защиты.


Скетч для управления WS2812

Для работы используется библиотека Adafruit NeoPixel.
Установить можно через Arduino IDE → Sketch → Include Library → Manage Libraries… → "Adafruit NeoPixel".

Пример кода:

#include <Adafruit_NeoPixel.h>

#define PIN 6 // пин Arduino для данных
#define NUMPIXELS 8 // количество светодиодов в ленте

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  pixels.begin(); // инициализация ленты
}

void loop() {   // Зажигаем все светодиоды красным поочередно
  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(255, 0, 0)); // Красный
    pixels.show(); // обновляем
    delay(200);
  }

  // Синий эффект
  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(0, 0, 255)); // Синий
  }
  pixels.show();
  delay(1000);

  // Зелёный эффект
  for (int i = 0; i < NUMPIXELS; i++) {
  pixels.setPixelColor(i, pixels.Color(0, 255, 0)); // Зеленый
  }
  pixels.show();
  delay(1000);
}



Как работает код

  • NUMPIXELS — указываем число светодиодов.
  • pixels.setPixelColor(n, pixels.Color(r,g,b)) — задаём цвет для конкретного светодиода.
  • pixels.show() — отправляет данные на ленту.
  • Можно делать анимации, переливы, бегущие огни и любые эффекты.

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Во время ремонта телевизора не ставьте настольную лампу на его корпус.
Она обязательно упадёт и отобьёт горловину кинескопа.

Похожие инструкции