Светодиодная лента на ws2812b, 144 на метр, ip-65
Светодиодная лента на ws2812b, 144 на метр, ip-65
Описание
Состояние | Новое |
Самая продвинутая в плане управления лента — позволяет зажигать КАЖДЫЙ из диодов любым цветом, независимо от других.
Предназначена для создания систем динамического света, а также бегущих строк, световых досок, светодиодных лент и даже полноценных видео экранов.144 диодов на метр. Исполнение IP-65 (в силиконе). Питается от источника 5 вольт (предельное долговременное - 5.5 вольт), максимальный ток потребления 8.64 ампера на метр. ЦЕНА ЗА ОТРЕЗОК ЛЕНТЫ В 1 СВЕТОДИОД!Лента собрана по следующей схеме:Вход ленты - 3 провода:
1) +5 вольт;
2) земля;
3) вход данных.
Допускается каскадирование пятиметровых кусков (с подачей отдельного питания на каждый каскад).
Управляется специализированными контроллерами, либо любыми микроконтроллерными системами.
Управление лентой с помощью контроллера ARDUINO UNO:
Подаём на ленту питание +5 вольт.
Соединяем "землю" Arduino и "землю" ленты..
Подаём сигнал с 13 ножки Arduino на вход данных ленты.
Подключаем Arduino к компьютеру через USB.
Заливаем скетч.
Скетч:
// #define FAST_SPI_INTERRUPTS_WRITE_PINS 1
// #define FORCE_SOFTWARE_SPI 1
#include "FastSPI_LED2.h"
#define NUM_LEDS 300 // число диодов в ленте
struct CRGB {
byte g; byte r; byte b;
};
struct CRGB leds[NUM_LEDS];
struct CRGB pat1[16] = {
255,255,255, 255,255,255, 100,0,100, 100,0,100,
100,0,100, 100,0,100, 0,40,50, 0,20,30, 0,20,30,
0,20,30, 2,0,20, 0,0,20, 0,0,20, 0,0,20, 0,0,20, 0,10,0
};
struct CRGB pat2[16]={
0,255,0, 0,255,100, 0,255,255, 0,255,255, 0,100,255,
50,0,255, 100,0,255, 255,0,255, 255,0,100, 255,0,50,
255,0,0, 255,50,0, 255,100,0, 255,255,0, 100,255,0, 50,255,0
};
struct CRGB pat3[16];
// задаём через какую ногу выводятся данные
WS2811Controller800Mhz<13> LED;
void setup() {
// инициализация ленты
LED.init();
}
void loop() {
//=======Бегущая радуга==================
/*
for(int i = 0; i < 16; i++) {
for(int iLed = 0; iLed < NUM_LEDS; iLed++) {
leds[iLed]=pat2[i+iLed&15];
}
LED.showRGB((byte*)leds, NUM_LEDS);;
delay(50);
}
*/
//=======Бегущие хвосты==================
for(int iLed = 0; iLed < NUM_LEDS; iLed++) {
memset(leds,0, NUM_LEDS * sizeof(struct CRGB));
for(int i = 0; i < 16; i++) {
if (iLed-i>0) {
leds[iLed-i]=pat1[i];
}
if (iLed-i>0) {
leds[NUM_LEDS-iLed+i]=pat2[i];
}
}
LED.showRGB((byte*)leds, NUM_LEDS);;
delay(30);
}
for(int iLed = 0; iLed < NUM_LEDS; iLed++) {
memset(leds,0, NUM_LEDS * sizeof(struct CRGB));
for(int i = 0; i < 16; i++) {
if (iLed-i>0) {
leds [NUM_LEDS-iLed+i]=pat1[i];
}
if (iLed-i>0) {
leds[iLed-i]=pat2[i];
}
}
LED.showRGB((byte*)leds, NUM_LEDS);;
delay(30);
}
//=======Бегущая точка===================
/*
for(int i = 0; i < 3; i++) {
for(int iLed = 0; iLed < NUM_LEDS; iLed++) {
memset(leds, 0, NUM_LEDS * sizeof(struct CRGB));
switch(i) {
case 0: leds[iLed].r = 255; break;
case 1: leds[iLed].g = 255; break;
case 2: leds[iLed].b = 255; break;
}
LED.showRGB((byte*)leds, NUM_LEDS);;
delay(20);
}
}
/*
//=======Бегущая точка. Мерцание========
/*for(int i = 0; i < 32; i++) {
memset(leds, i, NUM_LEDS * 3);
LED.showRGB((byte*)leds, NUM_LEDS);;
delay(40);
}
for(int i = 32; i >= 0; i--) {
memset(leds, i, NUM_LEDS * 3);
LED.showRGB((byte*)leds, NUM_LEDS);;
delay(40);
}
*/
}
Внимание! Установлен диод WS2812B. Отличается от ws2812 только тем, что имеет 4 ноги, вместо 6.
Условия передачи
Поделиться этим лотом: