lamp.housecope.com
Назад

Како повезати адресабилну ЛЕД траку ВС2812Б на Ардуино

Објављено: 02.08.2021
0
2578

Развој технологије осветљења засноване на ЛЕД диодама се убрзано наставља. Још јуче су РГБ траке које контролише контролер, чија се осветљеност и боја могу подесити помоћу даљинског управљача, деловале као чудо. Данас су се на тржишту појавиле лампе са још више карактеристика.

ЛЕД трака заснована на ВС2812Б

Разлика између адресабилне ЛЕД траке и стандардне РГБ ствар је у томе осветљеност и однос боја сваког елемента се подешавају посебно. Ово вам омогућава да добијете светлосне ефекте који су у основи недоступни другим врстама светлосних уређаја. Сјај адресабилне ЛЕД траке се контролише на познат начин – помоћу пулсно-ширинске модулације. Карактеристика система је опремање сваке ЛЕД диоде сопственим ПВМ контролером. ВС2812Б чип је тробојна светлећа диода и контролно коло комбиновано у једном пакету.

Како повезати адресабилну ЛЕД траку ВС2812Б на Ардуино
Изглед ЛЕД-а са драјвером.

Елементи се комбинују у напојну траку паралелно, а контролишу се преко серијске магистрале – излаз првог елемента је повезан са контролним улазом другог итд. У већини случајева, серијске магистрале су изграђене на две линије, од којих једна преноси стробе (импулсе сата), а друга - податке.

Изглед адресне траке.
Изглед адресне траке.

Контролна магистрала ВС2812Б чипа састоји се од једне линије - подаци се преносе преко ње. Подаци су кодирани као импулси константне фреквенције, али са различитим радним циклусима. Један пулс - један бит. Трајање сваког бита је 1,25 µс, нулти бит се састоји од високог нивоа са трајањем од 0,4 µс и ниског нивоа од 0,85 µс. Јединица изгледа као високи ниво за 0,8 µс и низак ниво за 0,45 µс. 24-битни (3-бајтни) раф се шаље свакој ЛЕД диоди, након чега следи пауза ниског нивоа од 50 µс. То значи да ће подаци бити пренети за следећу ЛЕД диоду, и тако даље за све елементе ланца. Пренос података се завршава паузом од 100 µс. Ово указује да је циклус програмирања траке завршен и да се може послати следећи сет пакета података.

Подаци за управљање адресном траком.
Подаци за управљање адресном траком.

Такав протокол омогућава да се прође са једном линијом за пренос података, али захтева прецизност у одржавању временских интервала. Неслагање је дозвољено не више од 150 нс. Поред тога, отпорност на буку таквог аутобуса је веома ниска. Било које сметње довољне амплитуде контролер може схватити као податак. Ово намеће ограничења на дужину проводника из контролног кола. С друге стране, ово омогућава провера здравља траке без додатних уређаја.Ако укључите лампу и додирнете контактну таблу контролне магистрале прстом, неке ЛЕД диоде могу насумично упалити и угасити се.

Спецификације елемената ВС2812Б

Да бисте креирали системе осветљења на основу адресне траке, морате знати важне параметре елемената који емитују светлост.

ЛЕД димензије5к5мм
Фреквенција ПВМ модулације400 Хз
Потрошња струје при максималној осветљености60 мА по ћелији
Напон5 волти

Ардуино и ВС2812Б

Ардуино платформа, популарна у свету, омогућава вам да креирате скице (програме) за управљање адресним тракама. Могућности система су довољно широке, али ако више нису довољне на неком нивоу, стечене вештине ће бити довољне да се безболно пређе на Ц ++ или чак на асемблер. Иако је почетно знање лакше добити на Ардуину.

Повезивање траке ВС2812Б са Ардуино Уно (Нано)

У првој фази, довољне су једноставне Ардуино Уно или Ардуино Нано плоче. У будућности, сложеније плоче се могу користити за изградњу сложенијих система. Приликом физичког повезивања адресабилне ЛЕД траке на Ардуино плочу, мора се поштовати неколико услова:

  • због ниске отпорности на буку, прикључни проводници линије података треба да буду што краћи (треба покушати да их направите унутар 10 цм);
  • потребно је да повежете проводник података са слободним дигиталним излазом Ардуино плоче - он ће тада бити програмски специфициран;
  • због велике потрошње енергије, није потребно напајати траку са плоче - за ову сврху су обезбеђена одвојена напајања.

Заједничка жица за напајање лампе и Ардуина мора бити повезана.

Шема ожичења ВС2812Б.
Шема повезивања траке ВС2812Б.

Прочитајте такође

Како спојити ЛЕД на Ардуино плочу

 

ВС2812Б Основе контроле програма

Већ је поменуто да је за контролу микрокола ВС2812Б потребно генерисати импулсе одређене дужине, одржавајући високу тачност. Постоје команде на језику Ардуино за формирање кратких импулса делаиМицросецондс и микрос. Проблем је што је резолуција ових команди 4 микросекунде. То јест, неће радити формирати временска кашњења са датом тачношћу. Неопходно је прећи на Ц ++ или Асемблер алате. И можете организовати контролу адресабилне ЛЕД траке кроз Ардуино користећи библиотеке посебно креиране за ово. Можете започети своје упознавање са програмом Блинк, који чини да елементи који емитују светлост трепере.

брзо водио

Ова библиотека је универзална. Поред траке за адресу, подржава разне уређаје, укључујући траке које контролише СПИ интерфејс. Има широке могућности.

Прво, библиотека мора бити укључена. Ово се ради пре блока подешавања, а линија изгледа овако:

#инцлуде <ФастЛЕД.х>

Следећи корак је креирање низа за чување боја сваке светлеће диоде. Имаће траку имена и димензију 15 - по броју елемената (боље је доделити константу овом параметру).

ЦРГБ трака[15]

У блоку за подешавање морате да наведете са којом траком ће скица радити:

воид сетуп() {

ФастЛЕД.аддЛедс< ВС2812Б, 7, РГБ>(трака, 15);

интг;

}

Параметар РГБ поставља редослед редоследа боја, 15 значи број ЛЕД диода, 7 је број излаза који је додељен за контролу (такође је боље доделити константу последњем параметру).

Блок петље почиње петљом која секвенцијално уписује у сваки део низа Ред (црвени сјај):

за (г=0; г< 15; г++)

{стрип[г]=ЦРГБ::Ред;}

Затим се формирани низ шаље у лампу:

ФастЛЕД.схов();

Кашњење 1000 милисекунди (секунди):

кашњење(1000);

Тада можете искључити све елементе на исти начин тако што ћете у њих уписати црно.

за (инт г=0; г< 15; г++)

{стрип[г]=ЦРГБ::Црна;}

ФастЛЕД.схов();

кашњење(1000);

Скица за трепћућу траку засновану на ФастЛед-у.
Скица за трепћућу траку засновану на ФастЛед-у.

Након састављања и учитавања скице, трака ће трептати са периодом од 2 секунде. Ако треба да управљате сваком компонентом боје посебно, онда уместо линије {стрип[г]=ЦРГБ::Ред;} користи се неколико линија:

{

стрип[г].р=100;// подесите ниво сјаја црвеног елемента

стрип[г].г=11;// исто за зелено

стрип[г].б=250;// исто за плаво

}

НеоПикел

Ова библиотека ради само са НеоПикел Ринг ЛЕД прстеновима, али је мање интензивна и садржи само најважније. На језику Ардуино, програм изгледа овако:

#инцлуде <Адафруит_НеоПикел.х>

Као иу претходном случају, библиотека је повезана, а објекат лента је декларисан:

Адафруит_НеоПикел лента=Адафруит_НеоПикел(15, ​​6);// где је 15 број елемената, а 6 додељени излаз

У блоку за подешавање, трака се иницијализује:

воид сетуп() {

лента.бегин()

}

У блоку петље, сви елементи су означени црвеном бојом, променљива се прослеђује у фид и ствара се кашњење од 1 секунде:

за (инт и=0; и<15; и++)// 15 - број елемената у лампи

{лента.сетПикелЦолор(и, лента.Цолор(255,0,0))};

тапе.схов();

кашњење(1000);

Сјај престаје са црним записом:

за (инт и=0; и< 15; и++)

{ лента.сетПикелЦолор(и, лента.Цолор(0,0,0))};

тапе.схов();

кашњење(1000);

Скица за програм Блинк заснован на НеоПикелу.
Скица за програм Блинк заснован на НеоПикелу.

Видео туторијал: Примери визуелних ефеката који користе адресне траке.

Када научите како да упалите ЛЕД диоде, можете наставити да учите како да креирате ефекте боја, укључујући популарне Раинбов и Аурора Бореалис са глатким прелазима. Адресабилне ЛЕД диоде ВС2812Б и Ардуино пружају готово неограничене могућности за ово.

Коментари:
Још нема коментара. Будите први!

Саветујемо вам да прочитате

Како сами поправити ЛЕД лампу