Mundarija:

Animatsion kayfiyat va tungi yorug'lik: 6 qadam (rasmlar bilan)
Animatsion kayfiyat va tungi yorug'lik: 6 qadam (rasmlar bilan)

Video: Animatsion kayfiyat va tungi yorug'lik: 6 qadam (rasmlar bilan)

Video: Animatsion kayfiyat va tungi yorug'lik: 6 qadam (rasmlar bilan)
Video: Abdulloh domla | 4 Xil Uyqu (Анимация) 2024, Noyabr
Anonim
Image
Image
Animatsion kayfiyat va tungi yorug'lik
Animatsion kayfiyat va tungi yorug'lik
Animatsion kayfiyat va tungi yorug'lik
Animatsion kayfiyat va tungi yorug'lik
Animatsion kayfiyat va tungi yorug'lik
Animatsion kayfiyat va tungi yorug'lik

Yorug'likka moyillik bilan chegaralanib qolgan, men har qanday o'lchamdagi RGB nurli displeylarni yaratish uchun ishlatilishi mumkin bo'lgan kichik modulli tenglikni tanlashga qaror qildim. Modulli tenglikni yaratganimdan so'ng, ularni olti burchakli qilib, 3D displeyni yaratish g'oyasiga qoqildim, u yordamida oddiy yotoqxonadagi tungi yorug'likdan tortib, kayfiyat nuri, stolda o'tirgan joydan ham joyida bo'lmaydi. yuqori darajadagi restoranda.

Albatta, xuddi shu printsiplar yordamida boshqa shakllar ham yaratilishi mumkin.

Mana, hozirda yorug'lik ustida ishlaydigan ba'zi animatsiyalar.

  • Yong'in
  • Yomg'ir
  • Ilon (Retro)
  • Hayot o'yini
  • To'lqin shaklidagi tebranishlar
  • Mayoq
  • Yigiruv naqshlari (sartaroshxona)

Hozirgi vaqtda yorug'lik ikki o'lchamda - kichik (96 LED) va katta (384 LED) ishlab chiqariladi, lekin kerak bo'lganda uni kattalashtirish mumkin.

Ta'minotlar

WS2812B LED - AliExpress

PCB - ALLPCB

3 mm qora lazerli kesilgan plastmassa - plastmassa varaq yetkazib beruvchi

Oq 3D bosma filament - Amazon

Elektron komponentlar - Farnell / Newark

M3 murvat va tishli bo'shliqlar - Amazon

Lehimlash temir

Tosterli pech - Yuzaga o'rnatiladigan komponentlarni yig'ish

1 -qadam: Panel PCB

PCB panellari
PCB panellari
PCB panellari
PCB panellari
PCB panellari
PCB panellari

Men sayohatni boshlaganimda, bir nechta LED piksellarini joylashtiradigan va qo'shimcha simlar yoki ulagichlarsiz bir -biriga juda sodda tarzda ulanadigan kichik PCB -lar kerak edi. Men WS2812B LEDlarini bir -biriga bog'lab qo'yishga imkon beradigan juda oddiy dizaynni ishlab chiqdim va keyin zanjirni keyingi tenglikka o'tkazdim.

Quyidagi piksel o'lchamlari bilan uchta tenglikni yaratdim.

  • 1 x 8 - 9 mm x 72 mm
  • 4 x 4 - 36 mm x 36 mm
  • 8 x 8 - 72 mm x 72 mm

Chiroqlarni yaratish uchun faqat 4x4 va 8x8 taxtalar ishlatiladi.

LEDlar X va Y o'lchovli 9 mm uzunlikdagi panjara bilan o'ralgan bo'lib, ular bir -biriga juda to'qilgan, lekin tenglikni chekka ulagichlarini hisobga olganda ishlash uchun etarli joy beradi. PCBlar shu tarzda yaratilganki, ular birlashtirilganda 9 mm diodli LED tarmog'i saqlanib qoladi. PCBlar bir -biridan boshqasiga oqadigan lehim yordamida bir -biriga ulanadi.

Har bir LEDda elektrni ajratish uchun 100nF kondansatkichi bor va LEDga talab bo'yicha oqim etkazib berishga yordam beradi.

LEDning joylashuvi va chekka ulagichining tartibini ko'rsatish uchun yuqori mis va pastki mis qatlamlari bilan to'ldirilgan 4x4 pikselli taxtaning sxemasi ko'rsatilgan. Ipak ekraniga ulagichlar o'rtasida ma'lumot uzatish yo'nalishi aniq bo'lishi uchun belgilar qo'shilgan.

Bundan tashqari, taxtalarda montajni soddalashtirish va taxtalararo aloqalarni mustahkamlash uchun 18 mm dan 18 mm gacha bo'lgan M3 o'rnatish teshiklari mavjud.

Ko'rsatilganidek, 3 mm sutli oq akril varaqni lazer bilan kesish LEDlarga yaxshi taralgan effekt beradi.

Plitalar shablon yordamida misning pastki qismidagi tagliklarga lehim pastasini qo'llash orqali ishlab chiqarilgan. Keyin men lehim oqishi uchun tandirda pishirishdan oldin komponentlarni taxtaga joylashtirdim. Men bu turdagi DIY arzon narxlardagi PCB ishlab chiqarishni boshqa Instructables -ning boshqa tuzilmalarida ko'rib chiqdim.

Ogohlantirish - PCBlarni pishirish uchun ovqat uchun ishlatiladigan pechni ishlatmang, chunki bu ifloslangan ovqatga olib kelishi mumkin. Men eBay -da tenglikni tushirish pechini 10 funtga (15 dollar) oldim.

2 -qadam: PCBni boshqarish

PCBni boshqarish
PCBni boshqarish
PCBni boshqarish
PCBni boshqarish
PCBni boshqarish
PCBni boshqarish

LEDlar tugagandan so'ng, men LEDlarni mikrokontrollerdan boshqarish qobiliyatini xohlardim. Men Arduino nano -dan foydalanishni boshladim va bu juda yaxshi ishladi, lekin men yorug'likka qo'shimcha funktsiyalarni qo'shishni xohlardim va bu Arduino taxtasini sindirish tobora noqulay bo'lib qoldi. Shunday qilib, men yorug'likni boshqarish uchun boshqa maxsus tenglikni yaratishga qaror qildim.

Bu erda men boshqaruv paneliga qo'shgan ba'zi xususiyatlar.

  • Ko'proq ROM va RAMga ega yuqori tezlikdagi mikrokontroller.
  • Menga butun dunyo bo'ylab LEDlarni yoqish va o'chirish imkonini beradigan FET mantiqiy darajasi - yoqilganda va kam quvvatli ishda.
  • LEDlarni boshqarish uchun mikrokontroldordan 3V3 signalini 5V ga aylantirish uchun yuqori tezlikli bufer.
  • Foydalanuvchiga yorug'likni boshqarishga ruxsat berish uchun almashtiring.
  • Fotosurat tranzistori - LEDlarning yorqinligini atrofdagi yorug'lik darajasiga moslashtirish.
  • Quvvat manbai monitoringi - biz elektr toki bilan ta'minlay oladigan darajada ko'proq oqimni tortib olmaganligimizni ta'minlash uchun.
  • Bluetooth ulagichi - HC05/HC06.
  • WIFI ulagichi - ESP8266.
  • I2C ulagichi.
  • Kelajakdagi kengaytirish ulagichi.

Kengashning sxemasi, shuningdek yuqori va pastki mis qatlamlari ko'rsatilgan. Qo'shilgan BillOfMaterials hujjatida men nazorat PCBga o'rnatgan komponentlar ro'yxati keltirilgan.

Yorug'lik sensori dizayn uchun juda muhim, chunki WS2812B LED -larining yorqinligi juda tez ko'rinmaydi va hatto to'liq nashrida og'riqli bo'ladi. Yorug'lik sensori LED yoritgichini avtomatik o'lchash imkonini beradi, ya'ni displey har doim yoqimli. Yorqin quyoshli xonada yorqin, lekin qorong'i xonada tungi yorug'lik sifatida tomosha qilish hali ham qulay.

Yana taxtani qurish uchun lehim pastasi stencil yordamida surtiladi, komponentlar qo'lda cımbızla joylashtiriladi va keyin mening ishonchli tost pechimda pishiriladi.

PCB 5V doimiy quvvat manbai orqali quvvatlanadi, bu to'g'ridan -to'g'ri tarmoqqa ulangan PSU yoki 2A USB zaryadlovchi uyasi orqali bo'lishi mumkin.

Arduino -dan oldingi urinishlarim ham ko'rsatiladi.

3 -qadam: 3D bosma skelet

3D bosma skelet
3D bosma skelet
3D bosma skelet
3D bosma skelet
3D bosma skelet
3D bosma skelet

Men dastlab o'yinchoqni diffuzer sifatida lazerli kesilgan plastmassa plitalardan foydalanganman, lekin bu har bir panel o'rtasida juda yomon bo'shliqni qoldirdi. Men atrofdagi diffuzerni 3D bosib chiqarishni yakunladim, chunki bu menga oltita LEDli tenglikni uchun yaxshi choksiz o'rash moslamasini yaratishga imkon berdi. Bu menga diffuzorning qalinligini sezilarli darajada kamaytirishga imkon berdi, bu umumiy tasvirni yanada aniqroq qilish imkonini berdi.

Ichkarida oltita LED PCB 3D bosilgan skelet yordamida birlashtiriladi. Bu skelet displey PCB -laridagi olti burchakli naqshli turli M3 teshiklariga kiradi.

3D bosilgan skelet, shuningdek, boshqaruv platasini yuqori lazerli kesish paneli yoniga o'rnatishga imkon beradigan teshiklarga ega, bu esa kalitga kirish va yorug'lik sensori atrofdagi yorug'lik darajasini yaxshi o'qish imkonini beradi.

Plitalar skelet va diffuzor o'rtasida joylashganda, men PCB ulanish joylari orasidan lehim oqishi orqali taxtalarni osongina lehimlay olaman. Men eng uzoq yostiqqa lehim qo'shishni boshlayman, so'ngra yorug'likni uning chetiga burab, tortishish qo'shni yostiqqa lehimning oqishiga yordam beradi. Uchta ulanishni takrorlang va ulanish uchun keyingi taxtaga o'ting. PCBlar orasidagi oltinchi qo'shilishda men faqat quvvat va er relslarini ulayman, bu esa ma'lumotlar ulanishini uzilmagan holda qoldiradi. Bu har bir taxtaning kuchini yig'ish uchun ikkita dumaloq oqim yo'lini beradi, bu sizning uyingizning ichki elektr simlari uchun uzukli magistral qanday ishlashiga o'xshaydi.

Bundan tashqari, 3D printer yordamida yuqori va pastki lazerli kesilgan panellarni joyida yaxshi ushlab turishga imkon beradigan bir nechta ajratgichlar ishlatiladi.

3D printer fayllari Sketchup yordamida yaratilgan va manba biriktirilgan.

4 -qadam: Yuqori va pastki qismdagi lazer kesish

Lazer bilan kesilgan qismlar o'rnatish murvatlari uchun kerakli joyda teshiklari bo'lgan olti burchakli juda oddiy shakllardir.

Yuqori panelda yorug'lik sensori uchun kichik tuynuk va bosish tugmasi uchun yana bir katta teshik mavjud. Pastki panelda USB quvvat kabeli uchun teshik, shuningdek, kabelning kuchlanishini kamaytirish uchun galstuk tasmasini ishlatishga imkon beradigan ikkita kichik teshik mavjud.

Bu qismlar uchun chizmalar oldingi bosqichda Sketchup fayliga kiritilgan.

5 -qadam: dasturiy ta'minot

Dasturiy ta'minot
Dasturiy ta'minot
Dasturiy ta'minot
Dasturiy ta'minot

Men asosiy mikrokontroler sifatida PIC24FJ256GA702 qurilmasini tanladim, chunki u ichki osilator yordamida 32 MGts gacha tezlikda ishlaydi va yaxshi animatsiyalar yaratish uchun tonna mavjud dastur xotirasi va RAMga ega.

Dasturiy ta'minotni ishlab chiqish uchun men Flowcode -dan foydalandim, chunki u menga kodni simulyatsiya qilish va disk raskadrovka qilish imkonini berdi, bu esa yuqori tezlikda ishlaydigan yaxshi samarali kod ishlab chiqarishga yordam berdi. Oqim kodi 30 kun davomida to'liq qulfdan chiqarilishi mumkin, shundan so'ng siz sotib olishni tanlashingiz yoki yana sinovga yozilishingiz mumkin. Shuningdek, u yo'lda biron bir devorni urishimga yordam berishga tayyor bo'lgan yaxshi onlayn hamjamiyatga ega. Aytgancha, barcha dasturiy ta'minot Arduino IDE yoki shunga o'xshash dastur yordamida amalga oshirilishi mumkin, siz simulyatsiya qilish qobiliyatini yo'qotasiz.

Men nazorat PCB bortidagi PICni dasturlash uchun PICkit 3 dan foydalanardim. Bu Flowcode -ga qo'shilishi mumkin, shuning uchun u Arduino -dagi yuklash tugmachasiga o'xshash PICkit orqali sichqonchani bir marta bosish bilan kompilyatsiya qiladi va dasturlaydi.

Men tanlagan mikrokontrolderning bortida EEPROM yo'q edi, bu dastlab muammo edi, chunki men hozir tanlangan animatsiya rejimini saqlamoqchi edim. Biroq, u foydalanuvchi tomonidan dasturlashtiriladigan flesh xotiraga ega edi, shuning uchun men bu funktsiyaga aylanma yo'l bilan erisha oldim.

Men yaratgan Flowcode dasturi biriktirilgan. Xususiyatlar oynasi ishlatilgan displey hajmini tanlash imkonini beradi. ya'ni 4x4 yoki 8x8 va bu LEDlarning soni va hokazo kabi parametrlarning yuklanishini o'rnatadi, so'ngra har xil ko'rsatuvlarni boshqaradi, shunda bitta displey o'lchamida bitta dastur ishlatilishi mumkin.

Chiroq uchun foydalanuvchi interfeysi juda oddiy. Kalitni uch soniyadan kamroq bosib turing va chiroq keyingi rejimga o'tadi. Har bir rejimni ishga tushirishdan oldin har bir LED panelida rejim indeksi ko'rsatiladi. Kalitni uch soniyadan ko'proq bosing va chiroq o'chadi. Kommutatorning yana bir marta bosilishi yorug'likni qaytaradi va oldingi tanlangan rejimga qaytaradi. Yorug'lik quvvati yo'qolganda, yorug'lik qayta tiklanganda, shu jumladan, yoqish/o'chirish holatiga qaytadi.

Bu erda yorug'lik hozirgi dasturiy ta'minot bilan bajarilishi mumkin bo'lgan turli xil animatsion rejimlar.

  1. Rangli smear - halqalarda aralash ranglar
  2. Hayot o'yini - Hayot shakliga asoslangan simulyatsiya
  3. Spinning naqshlari - 2, 3 yoki 4 rangli animatsion naqshlar
  4. To'lqin generatori - rangli sinus to'lqinlar
  5. Ruxsat etilgan rang - rangli aylanadigan oltita alohida panel
  6. Shade - Animatsion panel ranglari Hammasi/Individual
  7. Mayoq - aylanadigan bitta panel
  8. Uzuklar - animatsion gorizontal halqalar
  9. Yong'in - animatsion yong'in effekti
  10. Yomg'ir - animatsion rangli yomg'ir effekti
  11. Fireworks - Animatsion rangli otashin effekti
  12. Shift - Animatsiyali aylantirish effekti
  13. Ilon - animatsion retro ilon janglari
  14. Ilonlar - Animatsiyali aylanadigan ilonlar
  15. Tasodifiy - sekin o'tish bilan 1 dan 14 gacha rejimlar (taxminan 60 soniya)
  16. Tasodifiy - 1 dan 14 gacha rejimlar tez o'tishda (taxminan 30 soniya)

Har bir rejimda animatsiya tezligi va boshqa parametrlarni o'z ichiga olgan bir yoki bir nechta tasodifiy element mavjud. Ba'zi rejimlarda vaqt o'tishi bilan o'zgarishi mumkin bo'lgan tasodifiy elementlar mavjud bo'lib, ular yanada dinamik animatsiyalarni yaratishga imkon beradi. Masalan, olovda yoqilg'ining tasodifiy miqdori bor, u har bir tsiklga qo'shiladi, bu miqdor belgilangan yuqori va pastki chegaralarga ega. Vaqt o'tishi bilan bu chegaralar kamayishi yoki kamayishi mumkin, bu esa olovning intensivligi displeyni to'ldirishga yoki cho'ktirishga imkon beradi.

6 -qadam: Ulanish

Ulanish
Ulanish
Ulanish
Ulanish

Boshqarish paneli USB A kabeli yoki shahar rozetkasi yordamida quvvat manbaiga ulanadi, ikkalasini ham eBay kabi saytlarda juda arzon narxlarda sotib olish mumkin.

Boshqaruv paneli displey platasining ulanmagan IN uyasiga ulanadigan chekka ulagichi va standart 3 tomonlama servo tasma kabeli yordamida ulanadi.

Yuqori va pastki lazerli kesilgan plastinkalar M3 panjara boshli murvatlari va M3 tishli aralayıcılar yordamida joylashtiriladi.

Kelgusi yangilanishlar

Boshqaruv paneliga Bluetooth va WIFI -ni qo'shish imkoniyatiga ega bo'lish, kelajakda animatsiyani yangilash va ITTT kabi onlayn xizmatlar orqali Amazon Alexa kabi narsalar bilan aqlli integratsiyani yaxshilash imkonini beradi. Bu men hozir o'rganayotgan narsa.

Chiroqning rangini, animatsiya rejimini sozlash yoki hatto aqlli yordamchingiz bilan gaplashish orqali matnli xabarni ko'rsatish yaxshi bo'lardi.

Mening tuzilishimni ko'rganingiz uchun tashakkur va umid qilamanki, men sizni izimdan yurishimga yoki shunga o'xshash narsalarni yaratishga ilhomlantirdim.

Buni "Glow" tanloviga aylantiring
Buni "Glow" tanloviga aylantiring
Buni "Glow" tanloviga aylantiring
Buni "Glow" tanloviga aylantiring

"Yorqin qiling" tanlovida ikkinchi o'rinni egalladi

Tavsiya: