Керування світлодіодною стрічкою WS2815 з Arduino Nano

WS2815 – це індивідуально адресована світлодіодна стрічка 5050 RGBIC. На відміну від WS2812B, вона має поліпшену мікросхему, що дозволяє керувати кольором кожного світлодіода незалежно, а також синхронізувати кольори окремих ділянок стрічки. Також, вона більш захищена від перепадів напруги, що важливо при самостійному живленні.

Ну і традиційно підключаємо до Arduino Nano через його компактний розмір і наявність достатньої кількості портів для підключення світлодіодної стрічки. Також, він підтримує бібліотеку FastLED, яка значно спрощує керування такими стрічками.

Чому саме FastLED?

Плюси:
• Дуже потужна й універсальна бібліотека. • Має готові кольорові палітри, плавні переходи, вбудовані алгоритми (HSV, шум, вогонь, блискавки тощо).
• Підтримує велику кількість чіпів (в т.ч. WS2815).
• Легше оптимізувати ефекти (наприклад, керування яскравістю, frame rate).
Мінуси:
• Складніша у використанні для новачків.
• Потребує більше пам’яті (на маленьких Arduino може бути проблема при великій кількості світлодіодів).

Необхідні матеріали:

  • Світлодіодна стрічка WS2815 (12V, 144 світлодіодів на метр)
  • Arduino Nano + понижувач живлення до 5V
  • Блок живлення 12V (з достатнім запасом за потужністю)
  • Резистор 470 Ом (для захисту діода)

Підключення:

Важливо правильно підключити живлення до стрічки, оскільки неправильне підключення може призвести до пошкодження.

  1. Підключіть живлення 12V до входу VCC світлодіодної стрічки та до понижувача живлення для Arduino Nano.

  2. Підключіть GND (землю) до GND на Arduino Nano та світлодіодній стрічці.

  3. Підключіть діодний вихід DATA світлодіодної стрічки до цифрового виходу 6 на Arduino Nano. Не забудьте про резистор 470 Ом між цифровим виходом 6 та DATA входом світлодіодної стрічки, щоб обмежити струм і захистити діод.

Код:

#include <FastLED.h>

#define LED_PIN     6       // Пін DATA
#define LED_COUNT   60      // Кількість світлодіодів у стрічці
#define BRIGHTNESS  200     // Яскравість (0-255)

CRGB leds[LED_COUNT];

void setup() {
  FastLED.addLeds <WS2812B, LED_PIN, GRB> (leds, LED_COUNT);
  FastLED.setBrightness(BRIGHTNESS);
}

void loop() {
  // rainbowCycle робить плавну анімацію
  static uint8_t hue = 0;       // Зсув відтінку
  fill_rainbow(leds, LED_COUNT, hue, 3); 
  // 3 = крок зміни кольору між сусідніми діодами
  FastLED.show();
  hue++; // поступове зсування спектру (0–255)
  delay(20); // швидкість переходу (менше значення — швидше)
}

Приклад коду на FastLED, який створює нескінченну плавну веселку, що “біжить” по стрічці. У коді необхідно змінити NUM_LEDS під вашу довжину стрічки.

Як це працює
• fill_rainbow() автоматично створює плавний перехід кольорів по всій довжині стрічки.
• hue++ зсуває кольорове коло, створюючи нескінченний рух райдуги.
• delay(20) регулює швидкість руху (можете зменшити до 10 для швидшої анімації або збільшити до 50 для повільнішої).
• BRIGHTNESS дозволяє легко зменшувати яскравість (щоб не сліпила стрічка).
   

Висновки та поради:

  • FastLED – чудова бібліотека для роботи зі світлодіодними стрічками. Вона добре задокументована і має багато прикладів.

  • Переконайтеся, що ваша блок живлення забезпечує достатню потужність для вашої світлодіодної стрічки. Підрахуйте загальну потужність, помноживши кількість світлодіодів на метр на 34 Вт (потужність одного метра стрічки) і додайте запас.

  • Світлодіодні стрічки можна обрізати на спеціальних місцях (відмічені на стрічці), щоб створити окремі ділянки, якими можна керувати незалежно.

  • Завжди використовуйте резистор для захисту цифрового виходу Arduino.

Сподіваюсь, ця інструкція допоможе вам почати роботу з індивідуально адресованими світлодіодними стрічками WS2815. Якщо у вас є якісь питання, пишіть у коментарях!

Немає коментарів:

Дописати коментар