» Elektronika » Arduino »„ Led Matrix “WS2812

„Led Matrix“ WS2812

„Led Matrix“ WS2812

Laba diena, noriu pasidalinti dar viena naminis. Šį kartą nusprendžiau parašyti „Led“ matricos gamybos instrukcijas. Dydis yra mažas 10x10 diodų. Bet pagal šią instrukciją įmanoma sudaryti matricas ir didelius dydžius. Dėl grožio pridedamas foninis apšvietimas. Pagrindą paėmė WS2812 adresiniai šviesos diodai, pritvirtinti prie juostos, esant 60 diodų vienam metrui. Mes juos valdysime per Arduino „Pro Mini“. Yra daugybė variantų, kaip naudoti matricą. Pavyzdžiui, aš pridėjau temperatūros jutiklį ir parašiau laikrodžio programinę įrangą be RTC.

Mums reikės:
- WS2812 juosta su 120 šviesos diodų, 60 vienetų metrui
-
- 5 V 1A maitinimas
- „ds18b20“ temperatūros jutiklis
- Rezistorius 4,7 Kom 0,25 W
- medžio drožlių plokštė 10 mm storio
- Matinis arba „Pieno“ plastikas
- Storas kartonas
- elektros juosta
- jungiamieji laidai
- plokštė
- Sagos
- 19 mm savisriegiai varžtai
- lituoklis
- Lydmetalis, kanifolija
- dvipusė juosta
- USB-TTL
- Gręžtuvas arba atsuktuvas
- Elektrinis pjūklas
- Medienos grąžtai

1 etapas - diodų paruošimas
Mes paimame tankų kartoną ir jį „išklijuojame“, tai yra, brėžiame horizontalias linijas, kurių atstumas tarp jų yra 16 mm. Mes iš savo juostos suskaičiuojame 100 diodų. Šie 100 diodų režimai suskaidomi į 10 diodų segmentus. Likę 20 supjaustomi vienu diodu. Tai reikia padaryti atsargiai ir griežtai išilgai supjaustytų linijų. Leiskite paaiškinti: matricai reikia 10 segmentų iš 10 diodų, iš viso 100, likę 20 yra apšviesti. Ant kartono išilgai linijų klijuojamos 10 diodų sekcijos. Atkreipkite dėmesį į diodų valdymo signalo kryptį! Valdymo signalas turi būti tiekiamas teisinga kryptimi, tam tikslui juosta rodoma rodyklė. Klijuokite pirmąją juostelę iš kairės į dešinę, tai yra, IN (įvestis) ant juostos turėtų būti kairėje, o OUT (dešinėje). Taigi pirmosios juostos IN (įvestis) turėtų būti viršutiniame kairiajame kampe! Klijuokite kitą juostelę priešingai, iš dešinės - į kairę. Trečias vėl iš kairės į dešinę. Taigi toliau. Sekdami valdymo signalo kryptimi, turėtume gauti zigzago liniją, pradedant nuo viršutinio kairiojo kampo. Svarbiausia nieko nepainioti.

Tarp pirmosios ir antrosios juostelių, arčiau pradžios, padaryta skylė laidams. Litais pritvirtinkite prie pirmosios juostelės, geriausia - spalvotų, kad nesimaišytų. Mes praeiname juos per padarytą skylę. Kitas, lygiagrečiai pritvirtinkite juosteles. +5 nuo pirmosios ertmės iki +5 antrosios. GND į GND. Nuo pirmosios juostos OUT iki antrosios juostelės IN, nuo antrosios juostelės OUT iki trečios IN ir pan. Rezultatas turėtų būti toks:


2 žingsnis.
Byla susideda iš trijų dalių. Pirmiausia turite iškirpti rėmą iš 10 mm storio medžio drožlių plokštės. Geriausia pjaustyti su pjūklu, bet jei jo nėra, tai galima paimti rankiniu būdu. Išorinio kvadrato kraštinė yra 190 mm.Vidinis - 170 mm. Dėl grožio geriau apvalinti kampus. Taigi, reikia gauti rėmą, kurio dydis 190 x 190 mm, o sienos storis - 10 mm. Po pjovimo mes nuvalome smulkiu švitriniu popieriumi.


Mes pradedame gaminti antrąją dalį. Mes pritvirtiname savo rėmą prie medžio drožlių plokštės lakšto ir pieškite pieštuku aplink išorinį kraštą. Mes pašaliname rėmą. Mes atsitraukiame 30 mm kiekvienoje pusėje į aikštės vidų ir nubrėžkite vidinį kvadratą. Turėtumėte gauti kitą rėmelį, kurio matmenys yra 190 x 190, bet kurio kraštinės storis yra 30 mm. 5 mm atstumu nuo šio rėmo išorinio krašto ir lygiu atstumu vienas nuo kito darome 3 mm skersmens skyles. 2 skylės kiekvienoje pusėje. Jie reikalingi varžtams. Taip pat turite nuspręsti, kur bus viršuje, ir viršutiniame kairiajame vidinio kvadrato kampe padarykite lizdą laidams.


Antrojo rėmo galinėje pusėje išilgai vidinės pusės perimetro reikia atsukti segmentus iš tos pačios drožlių plokštės 10 mm storio. Rezultatas turėtų atrodyti taip:


Eik į susirinkimą. Ant stalo uždėjome antrą rėmą. Viršuje, diodai aukštyn, padėkite kartoninę dėžę su diodais. Ir mes visa tai padengiame pirmuoju rėmu. Padėkite kartoną tarp rėmų taip, kad diodai eitų lygiagrečiai rėmo šonams ir vienodais atstumais nuo kraštų. Viską apverčiame labai atsargiai, kad nenukabintume diodų, o susukti. Po to mes nupjaustėme perteklinį kartoną.


Eik į foninį apšvietimą. Diodų pusėje, tarp priešpaskutinės ir paskutinės juostelės, arčiau kairiojo krašto, reikia gręžti skylę laidams. Lituokite laidus iki paskutinės juostelės galo ir sriegkite šiuos laidus per skylę. Likę ir supjaustyti vienu metu 20 diodų turi būti priklijuoti galinėje pusėje, vienodais atstumais vienas nuo kito. 5 gabalėliai iš kiekvienos pusės. Valdymo signalo kryptis yra valandinė ranka, pradedant nuo apatinio dešiniojo kampo. Juos lydome, taip pat ir matricą. Išvestiniai laidai nuo matricos galo yra lituojami iki pirmojo diodo. +5 nuo pirmojo diodo iki +5 antrojo. GND į GND. Nuo pirmojo diodo OUT iki antrosios IN, nuo antrosios OUT OUT trečiojo IN ir pan.

Mes įdedame „Arduino Pro Mini“ į galinį rėmą, už matricos. Naudokite stabilizuotą 5 voltų maitinimo šaltinį. Kurių srovės stipris ne mažesnis kaip 1 amperas. Diodai yra gana įvairūs ir jei planuojate juos įjungti iš karto ir ilgą laiką, maitinimo šaltinis reikalingas galingesnis, rekomenduoju 1,5 - 2 ampetrus. Mes visa tai sujungiame nuo +5 maitinimo šaltinio iki +5 Arduino ir +5 WS2812. -5 maitinimo šaltinis su GND Arduino ir GND WS2812. IN WS2812 valdymo laidas yra prijungtas prie „6 kaiščio“ Arduino.


Diodai yra labai ryškūs, ir jie neatrodo labai estetiškai. Todėl būtina gaminti ir sumontuoti difuzorių. Tam geriausiai tinka matinis plastikas arba kaip jis vadinamas „pienu“. Būtina pritvirtinti matricą prie plastiko ir apskritimo pieštuku. Tada supjaustykite ir pritvirtinkite prie dvipusės juostos ant priekinio rėmo. Tokį plastiką ne visada įmanoma rasti greitai, tačiau labai noriu pradėti gaminti produktą. Tokiu atveju vietoj plastiko galite naudoti baltą kartoną arba kraštovaizdžio popierių.


Tuo pačiu principu galima sudaryti didelių dydžių matricą. Jums tiesiog reikia perskaičiuoti dėklo matmenis.

3 žingsnis Prijunkite temperatūros jutiklį.
Tiesiog šis laikrodis nėra įdomus, todėl pridėkite prie jo temperatūros jutiklį. Temperatūrai išmatuoti naudosime integruotą jutiklį DS18B20. Jis turi aukštą matavimo tikslumą, paklaida ne didesnė kaip 0,5 ° C. Jau gamykloje jutiklis kalibruojamas ir nereikia jokių papildomų nustatymų. Platus temperatūros matavimo diapazonas -55 ... + 125 ° C. Jis gali būti naudojamas bet kuriame kambaryje. Jei gatvėje, tada turite pasirūpinti apsauga nuo drėgmės. Yra du veikimo režimai: su išoriniu energijos šaltiniu ir „nepalankiąja galia“. Aš rekomenduoju naudoti su išorine galia.


Vienoje ryšio linijoje gali būti keli jutikliai. Bet mums to užtenka. +5 imame iš maitinimo šaltinio. GND iki -5. Viela nuo „DQ“ ds18b20 kaiščio iki „9 kaiščio“ Arduino.Nepamirškite įdėti traukos varžą tarp „DQ“ ir +5, esant 4,7 kOhm. Mano nuomone, patogiausia tai padaryti naudojant patį jutiklį. Mes jį rodome viršutiniame dešiniajame kampe:


4 žingsnis Lentelės su mygtukais paruošimas.
Šiuo atveju mes naudojame matricą kaip laikrodį. Laiką galima nustatyti naudojant nuoseklųjį prievadą, prijungus „Arduino“ prie kompiuterio. Tai ne visada yra patogu. Todėl pagaminsime lentą su trim mygtukais, kad nustatytume laiką. Be viso to, matricą galima naudoti ir kitiems tikslams, tereikia parašyti kitą eskizą. Tada mygtukus galima naudoti kitiems tikslams.


Mes juos jungiame taip: prijunkite prie visų trijų mygtukų bendrą laidą prie „GND“ Arduino. Pirmasis mygtukas skirtas įeiti į laiko nustatymo režimą ir perjungti laiką ir datą, prisijungti prie „2 kaiščio“. Antrasis, vertės padidinimo mygtukas, yra „3 kaištis“, o trečiasis, vertės sumažinimo mygtukas yra „4 kaištis“. Mygtukus pritvirtiname prie dvipusės juostos už matricos:


5 žingsnis Firmware.
Kaip sakiau, matrica gali būti naudojama įvairiems tikslams. Šiuo metu esu parašęs tik laikrodžių eskizą. Vėliau išdėstyti ir kiti eskizai. Rašymui ir pildymui naudoju „Arduino IDE 1.8.5“. Matricą galite valdyti keliais būdais. Valdykite kiekvieną diodą atskirai arba kaip vieną matricą. Savo eskize naudoju pirmąjį variantą. Norėdami tai padaryti, jums reikia „Adafruit“ bibliotekos pavadinimu „NeoPixel-master“:
adafruit_neopixel-master.rar [27,83 Kb] (atsisiuntimų: 71)


Norėdami dirbti su diodais, kaip ir su matricos matrica Adafruit_NeoMatrix-master ir Adafruit-GFX-Library-master:
matrix_libraries.rar [282,01 Kb] (atsisiuntimų: 80)


Temperatūros jutikliui reikia „OneWire“ bibliotekos.
onewire.rar [16,75 Kb] (atsisiuntimai: 64)


Norėdami redaguoti ir užpildyti eskizą, pirmiausia turite įdiegti „Arduino IDE“ iš oficialios svetainės Arduino.cc, o tada visas šias bibliotekas. Būtina išpakuoti šiuos archyvus ir sudėti neišpakuotus failus į aplanką „bibliotekos“, esantį aplanke, kuriame yra įdiegtas „Arduino IDE“. Taip pat galima įdiegti bibliotekas tiesiogiai „Arduino IDE“. Neišpakavę atsisiųstų archyvų, „Arduino IDE“ pasirinkite meniu „Sketch - Connect Library“. Išskleidžiamojo sąrašo viršuje pasirinkite „Pridėti .Zip biblioteką“. Atsidariusiame dialogo lange pasirinkite biblioteką, kurią norite įtraukti. Atlikę visus veiksmus, turite iš naujo paleisti „Arduino IDE“.

Temperatūros jutiklis turi unikalų kiekvieno įrenginio adresą - 64 bitų kodą. Rasti šį kodą yra sudėtinga užduotis. Todėl pirmiausia turite prijungti jutiklį prie Arduino, užpildykite eskizą, esantį meniu Failas - Pavyzdžiai - Dalaso temperatūra - „OneWireSearch“. Tada paleiskite „Tools - Port Monitor“. Arduino turėtų surasti jūsų jutiklį ir parašyti jo adresą. Nukopijuojame arba tiesiog užrašome jūsų jutiklio adresą. Atidarykite eskizą Ard_Tic_Tak_WS2812_Matrix_10x10_Serial_Knopki_Term, ieškokite eilutės:

baitų pridėtojas [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // mano jutiklio adresas 


Mes užrašome jūsų jutiklio adresą tarp petnešų, pakeisdami mano jutiklio adresą.

Šis laikrodis nenaudoja RTC modulio. Todėl, jei jie skuba arba atsilieka, turėtumėte pakeisti eilutės vertę:

if (micros () - prevmicros> 494000) {// pakeiskite kitu, norėdami pakoreguoti, buvo 500 000


Šį skaičių būtina nustatyti empiriškai. Jei jūsų laikrodis skuba, turėtumėte padidinti šį skaičių, o jei aš atsilikau - sumažinti.

Užpildykite eskizą.


Atsiprašau, bet man nepavyko nufotografuoti su įjungtais diodais. Bandžiau su žibintais ir be jų. Bet patikinu, kad gyvenate, jie atrodo daug geriau.




0
0
0

Pridėti komentarą

    • šypsotisšypsosixaxagerainežiniaYahoonea
      viršininkassubraižytikvailystaiptaip-taipagresyvusslapta
      atsiprašaušoktišokis2šokis3atleiskpadėtigėrimai
      sustotidraugaigeraigerašvilpukassupyktiliežuvis
      rūkytiplojimaiklastingaspareikštiniokojantisdon-t_mentionatsisiųsti
      šilumanedrąsusjuoktis1mdasusitikimasmoskingneigiamas
      not_ipopkornasnubaustiskaitytigąsdintigąsdinapaieška
      gundytiačiūtaito_clueumnikūmussusitarti
      blogaibičiųjuoda akisblum3skaistalaipasigirtinuobodulys
      cenzūruotamalonumasslapta2grasintipergalęju„sun_bespectacled“
      šoktipagarbalolišlenktaslaukiamekrutojusya_za
      ya_dobryipagalbininkasne_huliganne_othodifludisuždraustiarti

Mes patariame perskaityti:

Perduokite jį išmaniajam telefonui ...