Инструменты пользователя

Инструменты сайта


Круглый светодиодный модуль RGB WS2812 / 7×LED

Используйте круглые светодиодные модули WS2812 для создания динамичной подсветки.

Пример для Arduino

В качестве мозга для управления светодиодами WS2812 рассмотрим платформу Arduino Uno.

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

Исходный код

Прошейте платформу Arduino скетчем приведённым ниже.

ws2812SimpleTest.ino
// библиотека для работы со светодиодными модулями WS2811/WS2812
#include <Adafruit_NeoPixel.h>
 
// номер пина, к которому подключен светодиодный модуль
#define LED_MODULE_PIN    6
// количество кластеров
#define CLASTER_COUNT     7
 
// создаём объект класса Adafruit_NeoPixel
Adafruit_NeoPixel matrix = Adafruit_NeoPixel(CLASTER_COUNT, LED_MODULE_PIN, NEO_GRB + NEO_KHZ800);
 
void setup() 
{
  // инициализация светодиодного модуля
  matrix.begin();
}
 
void loop()
{
  // заполняем светодиодный модуль по кластерам «бегущий огонь» красного цвета
  colorWipe(matrix.Color(255, 0, 0), 50);
  // заполняем светодиодный модуль по кластерам «бегущий огонь» зелёного цвета
  colorWipe(matrix.Color(0, 255, 0), 50);
  // заполняем светодиодный модуль по кластерам «бегущий огонь» синего цвета
  colorWipe(matrix.Color(0, 0, 255), 50);
  // тушим светодиодный модуль по кластерам «бегущая тень»
  colorWipe(matrix.Color(0, 0, 0), 50);
}
 
// функция заполнения каждого сегмента (кластера)
void colorWipe(uint32_t c, uint8_t wait)
{
  for (uint16_t i = 0; i < matrix.numPixels(); i++) {
    // заполняем текущий сегмент выбранным цветом
    matrix.setPixelColor(i, c);
    matrix.show();
    // ждём
    delay(wait);
  }
}

Пример для Espruino

В качестве мозга для управления светодиодами WS2812 рассмотрим платформу Iskra JS.

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

Исходный код

Прошейте платформу Iskra JS скриптом приведённым ниже.

ws2811SimpleTest.js
// инициализируем шину SPI
SPI1.setup({baud:3200000, mosi:P6, sck:A5, miso:P2});
// количество светодиодов
var ledCount = 20;
// создаём объект для работы со светодиодным модулем WS2811/WS2812 
var ledModule = require('@amperka/led-strip').connect(SPI1, ledCount, 'GRB');
// гасим все светодиоды
ledModule.clear();
// устанавливаем максимальную яркость светодиодного модуля
ledModule.brightness(1);
 
setInterval(function() {
  // заполняем светодиодный модуль по кластерам «бегущий огонь» красного цвета
  for (var i = 0; i < ledCount; i++) {
    ledModule.putColor(i, [1, 0, 0]);
    ledModule.apply();
  }
}, 100);

Элементы платы

Светодиод

На каждом кластере расположено по три светодиода SMD 5050 (5×5 мм). Светодиод — полупроводниковый источник света, предназначенный для конструирования в различных осветительных устройств. Светодиод стабилен при перепадах температуры и влажности, выдерживает длительное воздействие солнечных лучей и вибрации.

Чип светодиода SMD 5050 состоит из трёх кристаллов. Каждый кристалл имеет два отдельных вывода (анод и катод), что дает возможность для независимой регулировки их яркости.

Светодиоды изготавливается в двух вариациях:

  • одноцветные (белые, жёлтые, красные, зелёные, синие)
  • многоцветные (RGB).

Многоцветные или RGB-светодиоды состоят из трёх кристаллов разных цветов: синего, красного и зелёного(Red, Green, Blue). Изменяя ток одного, двух или трёх кристаллов одновременно, можно получить практически любой цвет излучения из видимого спектра.

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

  • Цвет свечения: RGB, 16 млн цветов (256 оттенков на канал)
  • Количество светодиодов: 7 шт.
  • Модель светодиода: WS2812
  • Напряжение питания: 5 В
  • Потребляемый ток: 240 мА
  • Габариты: 23×23×3 мм

Ресурсы