imadeself.com! » електроника » Arduino »Led Matrix на WS2812

Led Matrix на WS2812

Led Matrix на WS2812

Добър ден, искам да споделя още самоделна клонка, Този път реших да напиша инструкции за производството на Led матрица. Размерът е малък 10х10 диода. Но според тази инструкция е възможно да се правят матрици и големи размери. За красота добавена подсветка. Взех за основа адресируемите светодиоди WS2812, монтирани на лента с 60 диода на метър. Ще ги управляваме чрез Arduino Pro Mini. Има много опции за използване на матрицата. Например, добавих температурен датчик и написах фърмуера на часовника без RTC.

Ще ни трябва:
- Лента WS2812 със 120 светодиода, 60 броя на метър
-
- Захранване за 5V 1A
- сензор за температура ds18b20
- Резистор 4.7 Kom 0.25 W
- ПДЧ с дебелина 10 мм
- матирана или "млечна" пластмаса
- Дебел картон
- електрическа лента
- свързващи проводници
- платка
- Бутони
- Самонарезни винтове 19 мм
- поялник
- спойка, колофон
- Двустранна лента
- USB-TTL
- Свредла или отвертка
- Електрически трион
- Свредла за дърво

Стъпка 1 Приготвяне на диоди
Взимаме плътен картон и го „облицоваме“, тоест рисуваме хоризонтални линии с разстояние между тях 16 мм. Ние броим 100 диода от нашата лента. Тези 100 диода режимират в сегменти от 10 диода. Останалите 20 са изрязани един диод. Това трябва да се прави внимателно и стриктно по линиите на рязане. Нека обясня: за матрицата са необходими 10 сегмента от 10 диода общо 100, останалите 20 са с подсветка. Секциите от 10 диода са залепени върху картона по линиите. Обърнете внимание на посоката на контролния сигнал за диодите! Контролният сигнал трябва да се подава в правилната посока, като за тази цел стрелката е показана в посоката на лентата. Залепете първата лента отляво - отдясно, тоест IN (вход) на лентата трябва да бъде отляво, а OUT (отдясно). По този начин IN (входът) на първата лента трябва да бъде в горния ляв ъгъл! Залепете следващата лента напротив, отдясно - вляво. Третият отново отляво надясно. И така по-нататък. Когато следваме посоката на контролния сигнал, трябва да получим зигзагообразна линия, започвайки от горния ляв ъгъл. Основното нещо е да не бъркате нищо.

Между първата и втората лента, по-близо до началото, прави дупка за проводниците. Припоявайте проводниците към първата лента, за предпочитане многоцветни, за да не се смесват. Преминаваме ги през направения отвор. На следващо място, спойка нашите ленти с къси проводници. + 5 от първата кухина до +5 втората. GND до GND. От OUT на първата лента до IN на втората лента, от OUT на втората лента до IN на третата и така нататък. Резултатът трябва да бъде следният:


Стъпка 2 Съставяне на случая.
Случаят се състои от три части. Първо, трябва да изрежете рамката от ПДЧ с дебелина 10 мм. Най-добре е да режете с мозайката, но при липса може да се вземе ръчно. Страната на външния квадрат е 190 мм.Вътрешна - 170 мм. За красота е по-добре да заоблите ъглите. По този начин трябва да се получи рамка с размери 190 х 190 мм и дебелина на стената 10 мм. След рязането почистваме с фина шкурка.


Пристъпваме към производството на втората част. Прикрепяме рамката си към листа от ПДЧ и рисуваме молив около външния ръб. Изваждаме рамката. Отстъпваме по 30 мм от всяка страна във вътрешността на квадрата и изчертаваме вътрешен квадрат. Трябва да получите друга рамка с размери 190 х 190, но със странична дебелина 30 мм. На разстояние 5 мм от външния ръб на тази рамка и на еднакво разстояние един от друг правим дупки с диаметър 3 мм. 2 дупки от всяка страна. Те са необходими за винтове. Също така трябва да решите къде ще бъде горната част, а в горния ляв ъгъл на вътрешния квадрат направете прорез за проводниците.


От обратната страна на втората рамка, по периметъра на вътрешната страна, е необходимо да се завинтват сегменти от същото ПДЧ с дебелина 10 мм. Резултатът трябва да изглежда така:


Отидете на монтажа. Поставихме втората рамка на масата. Отгоре, диоди нагоре, сложете картонена кутия с диоди. И ние покриваме всичко с първия кадър. Поставете картона между рамките, така че диодите да вървят успоредно на страните на рамката и на еднакво разстояние от краищата. Обръщаме го изцяло, много внимателно, за да не съборим диодите, и го завъртим. След това отрязваме излишния картон.


Отидете на подсветката. От страната на диодите, между предпоследната и последната лента, по-близо до левия ръб, трябва да пробиете дупка за проводниците. Полейте проводниците до края на последната лента и прокарайте тези проводници през отвора. Останалите и нарязани един по един 20 диода трябва да бъдат залепени от задната страна, на еднакво разстояние един от друг. 5 броя от всяка страна. Посоката на контролния сигнал е почасовата ръка, започваща от долния десен ъгъл. Ние ги спояваме, както и матрицата. Получените проводници от края на матрицата са споени към първия диод. + 5 от първия диод до +5 от втория. GND до GND. От изхода на първия диод до IN на втория, от изхода на втория до IN на третия и т.н.

Поставяме нашия Arduino Pro Mini вътре в задната рамка, зад матрицата. За захранване използвайте стабилизирано 5 волтово захранване. Със сила на тока най-малко 1 ампер. Диодите са доста нелепи и ако смятате да ги включите наведнъж и дълго време, захранването е необходимо по-мощно, препоръчвам 1,5 - 2 ампера. Свързваме всичко това заедно от +5 захранване до +5 Arduino и +5 WS2812. -5 захранване с GND Arduino и GND WS2812. Контролният проводник от IN WS2812 е свързан към „щифт 6“ Arduino.


Диодите са много ярки и не изглеждат много естетически приятни. Следователно е необходимо да се произведе и инсталира дифузор. Матовата пластмаса е най-подходяща за това, или както се нарича „мляко“. Необходимо е да прикрепите матрицата към пластмасата и кръг с молив. След това изрежете и закрепете към двустранна лента на предната рамка. Не винаги е възможно бързо да намерите такава пластмаса, но наистина искам да стартирам продукта. В този случай можете да използвате бял картон или пейзажна хартия вместо пластмасова.


По същия принцип е възможно да се направи матрица с големи размери. Необходимо е само да се преразгледат размерите на случая.

Стъпка 3 Свържете сензора за температура.
Просто този часовник не е интересен, затова добавете към него сензор за температура. За да измерим температурата, ще използваме интегрирания сензор DS18B20. Има висока точност на измерване, грешката е не повече от 0,5 ° C. Вече от фабриката сензорът е калибриран и не са необходими допълнителни настройки. Широк диапазон на измерване на температурата -55 ... + 125 ° C. Може да се използва във всяка стая. Ако сте на улицата, тогава трябва да се погрижите за защита от влага. Има два режима на работа: с външен източник на енергия и „фалшиво захранване“. Препоръчвам да използвате с външно захранване.


Няколко сензора могат да бъдат включени в една комуникационна линия. Но за нас едно е достатъчно. +5 вземаме от захранването. БНД до -5. Тел от щифт “DQ” ds18b20 до “щифт 9” Arduino.Не забравяйте да поставите издърпващ резистор между “DQ” и +5 при 4.7 kOhm. Според мен е най-удобно да се направи това на самия сензор. Показваме го в горния десен ъгъл:


Стъпка 4 Подготовка на дъска с бутони.
В този случай ние използваме матрицата като часовник. Времето може да се определи с помощта на серийния порт чрез свързване на Arduino към компютъра. Това не винаги е удобно. Затова ще изработим дъска с три бутона, за да зададем времето. В допълнение към това, матрицата може да се използва за други цели, просто напишете друга скица. Тогава бутоните могат да се използват за други цели.


Свързваме ги по следния начин: свързваме жицата, обща и за трите бутона, към „GND“ Arduino. Първият бутон, той служи за влизане в режим на настройка на времето и превключване по време и дата, свържете се с "Pin 2". Вторият, бутонът за увеличаване на стойността, е към "Pin 3", а третият, бутонът за намаляване на стойността, е към "Pin 4". Прикрепяме бутоните към двустранната лента зад матрицата:


Стъпка 5 Фърмуер.
Както казах, матрицата може да се използва за различни цели. В момента съм написал скица само за часовници. В последващите изложете и други скици. За писане и попълване използвам Arduino IDE 1.8.5. Можете да управлявате матрицата по няколко начина. Контролирайте всеки диод поотделно или като единична матрица. В моята скица използвам първия вариант. За целта ви трябва библиотека от Adafruit, наречена NeoPixel-master:
adafruit_neopixel-master.rar [27.83 Kb] (изтегляния: 71)


За да работите с диоди, както с матричната матрица Adafruit_NeoMatrix-master и Adafruit-GFX-master-master:
matrix_libraries.rar [282.01 Kb] (изтегляния: 80)


Датчик за температура се нуждае от библиотеката OneWire
onewire.rar [16.75 Kb] (изтегляния: 64)


За да редактирате и попълните скицата, първо трябва да инсталирате Arduino IDE от официалния уебсайт на Arduino.cc, а след това всички тези библиотеки. Необходимо е да разархивирате тези архиви и да поставите разопакованите файлове в папката „библиотеки“, разположена в папката с инсталирания Arduino IDE. Възможно е също да инсталирате библиотеки директно в ID на Arduino. Без да разопаковате изтеглените архиви, в Arduino IDE изберете менюто Sketch - Connect Library. В горната част на падащия списък изберете "Добави. Zip Library". В диалоговия прозорец, който се показва, изберете библиотеката, която искате да добавите. След всички манипулации трябва да рестартирате Arduino IDE.

Температурният сензор има уникален адрес за всяко устройство - 64-битов код. Намирането на този код е трудна задача. Затова първо трябва да свържете сензора към Arduino, да попълните скицата, разположена в менюто File - Примери - Температура на Далас - OneWireSearch. След това стартирайте Tools - Port Monitor. Arduino трябва да намери вашия сензор и да напише неговия адрес. Копираме или просто записваме адреса на вашия сензор. Отворете скицата Ard_Tic_Tak_WS2812_Matrix_10x10_Serial_Knopki_Term, потърсете реда:

байт addr [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // адрес на моя сензор 


Записваме адреса на вашия сензор между скоби, замествайки адреса на моя сензор.

Този часовник не използва RTC модула. Ето защо, ако бързат или изостават, трябва да промените стойността в реда:

ако (micros () - prevmicros> 494000) {// промяната на друга за корекция беше 500 000


Необходимо е да се определи това число емпирично. Ако часовникът ви бърза, трябва да увеличите този брой; ако аз съм зад, го намалете.

Попълнете скицата.
ard_tic_tak_ws2812_matrix_10x10_serial_knopki_term.rar [5.45 Kb] (изтегляния: 115)


Извинявам се, но не успях да направя снимка с включени диоди. Пробвах със и без светлини. Но уверявам, че живеете, изглеждат много по-добре.




0
0
0

Добавете коментар

    • усмихвамусмивкиxaxaдобреdontknowYahooНеа
      шефдраскотинаглупакдаДа-даагресивентайна
      съжалявамтанцувамdance2dance3извинениепомощнапитки
      спиркаприятелидобърgoodgoodсвиркаприпадамезик
      димплясканеCrayдеклариратподигравателендон-t_mentionизтегляне
      топлинасърдитlaugh1MDAсрещаmoskingотрицателен
      not_iпуканкинаказвамчетаплашаплашитърсене
      присмехthank_youтоваto_clueumnikостърСъгласен
      лошоbeeeblack_eyeblum3изчервяванесамохвалствоскука
      цензурираншегаsecret2заплашвампобедаюsun_bespectacled
      ShokРеспектхахаprevedдобре дошълkrutoyya_za
      ya_dobryiпомощникne_huliganne_othodifludзабранаблизо

Съветваме ви да прочетете:

Предайте го за смартфона ...