Mundarija:

Raspberry Pi Rojdestvo daraxti yorug'lik namoyishi: 15 qadam (rasmlar bilan)
Raspberry Pi Rojdestvo daraxti yorug'lik namoyishi: 15 qadam (rasmlar bilan)

Video: Raspberry Pi Rojdestvo daraxti yorug'lik namoyishi: 15 qadam (rasmlar bilan)

Video: Raspberry Pi Rojdestvo daraxti yorug'lik namoyishi: 15 qadam (rasmlar bilan)
Video: Christmas Tree with ESP8266 WLED and Led strip WS2812, Xlights and FPP 2024, Noyabr
Anonim
Image
Image

Yangilash: Men bu daraxtning 2017 yilgi yangilangan evolyutsiyasini ko'rsatma berdim

Ushbu loyiha Rojdestvo daraxti chiroqlari bilan bog'langan 8 ta AC rozetkasini haydash uchun Raspberry Pi -ni ishlatishni o'z ichiga oladi. AC yoritgichlar - bu bitta rangli chiroq. Arduino tekshirgichi o'rniga Raspberry Pi -ni ishlatishning afzalliklaridan biri shundaki, men Raspberry Pi -dan ovozni chiqarib, chiroqlarni musiqa bilan sozlashim mumkin (dasturiy ta'minotda masofadan turib ishlash uchun Wi -Fi ulanishining foydasi haqida gapirmasa ham bo'ladi)..

1 -qadam: materiallar

Materiallar
Materiallar

Shuni yodda tutingki, men ushbu loyihada ishlatgan materiallar. Ko'p hollarda muqobil qismlar/echimlardan foydalanish mumkin.

Mana bu loyiha uchun ishlatgan materiallarim:

Nazoratchi uchun:

  1. Raspberry Pi (B modeli men ishlatgan narsadir)

    • SD -karta
    • USB Wi -Fi adapteri
  2. SainSmart 8 -kanal 5V SSR modulli platasi - Amazon

    Men mexanik rölelardan qochdim, chunki kalitning bosish ovozi sezilarli darajada eshitiladi va biz SSSRga ketdik. Bu taxta har bir SSR uchun 2 AMP gacha baholanadi, bu Rojdestvo chiroqlarini yoqish uchun etarli

  3. Jumper simlari - Ebayda arzon narxda topish mumkin
  4. JST SM Plug + Raketlar - Adafruit
  5. 32 fut simli rulon (yoki to'rtta 8 futli sim)
  6. Uzatma kabeli x 8
  7. Quvvat taqsimlash bloki x 2 - AdaFruit
  8. Quvvat chizig'i
  9. Quvvat manbalari

    • LED va Pi ni boshqarish uchun 5 volt, 3 amper yoki undan yuqori
    • SSR modulini boshqarish uchun 5 volt, 1 amper yoki undan yuqori
  10. Qoplama
  11. Karnaylar

Yulduz uchun:

  1. 12 mm RGB LED (Strand 25) - bu mahsulotdagi AdafruitWS2801 mikrosxemasi, LEDni yoritib turishi uchun chiziqni doimiy ravishda pulslashdan ko'ra, simni bir marta urish imkonini beradi.
  2. LEDlarni joyida ushlab turish uchun plastik ABS varaq - Walmart
  3. Lexan varaqasi tarqoq LEDlarga - Lowes
  4. Qora purkagichli bo'yoq
  5. Oq bo'yoqli bo'yoq
  6. Yog'och

Daraxt uchun:

  1. Oq 100 yorug'lik chizig'i x 4
  2. Oq 50 yorug'lik chizig'i
  3. Qizil 100 yorug'lik chizig'i x 2
  4. Yashil 100 yorug'lik chizig'i x 2
  5. Moviy 100 yorug'lik chizig'i x 2

2 -qadam: Raspberry Pi -ni o'rnating

Kabelga kirishdan oldin, men birinchi navbatda Pi -ni ishga tushirishni va komponentlarning ulanishini sinab ko'rishni xohladim. Bu sozlash korpusni o'rnatishdan oldin qilingan va Raspberry Pi USB quvvat orqali monitor va klaviaturaga ulangan. Maqsad - tizimni konfiguratsiyani korpusdagi Pi -da davom ettirishga erishish.

Odatiy Pi o'rnatishda yulduzdagi WS2801 LEDlarini to'g'ri haydash uchun kutubxonalar yo'q, shuning uchun men Pi -ga AdaFruit -ning Occidentalis operatsion tizimini o'rnatdim.

Occidnetalis -ni o'rnatgandan so'ng, qo'shimcha sozlash amalga oshirildi:

1) Pi -ni buyruq satriga yuklash uchun sozlang (GUI interfeysi emas)

2)/etc/network/interfeyslarini tahrirlash orqali Pi -da simsiz tarmoq interfeysini o'rnating. Pi ustida ishlash uchun ma'lum bo'lgan manzilga kirishingiz uchun statik IP-manzilni tanlaganingizga ishonch hosil qiling

3) Telnet va FTP xizmatlarini o'rnating.

4) Pygame -ni o'rnating. Kutubxona MP3/WAV fayllarini ijro etish uchun python skriptlarida ishlatiladi

O'rnatish/sozlash bo'yicha batafsil ko'rsatmalarni Internetda qidirish orqali osongina topish mumkin. Pi onlaynda juda ko'p manbalar mavjud.

Shu nuqtadan so'ng men har qanday videoni va klaviaturani uzib qo'yaman, chunki siz masofadan turib kirishingiz mumkin.

3 -qadam: Korpusni sozlashni boshlang

Qoplamani sozlashni boshlang
Qoplamani sozlashni boshlang

Men korpusni qanday qurish haqida ko'p tafsilotlarni aytmayman, chunki bu faqat yog'ochdan yasalgan quti. Men korpusning uchlarida 1,5 dyuymli diametrli tutqichlarni burg'iladim. O'ngda - barcha uzatma kabellari va yulduz simlari tugagan teshik, chapda - elektr tasmasi va audio uzilgan teshik.

O'rnatish uchun birinchi komponent - bu elektr tasmasi va Raspberry Pi. Pi -ni quvvatlantirish uchun men yulduz va Pi -ni (yashil rangda) quvvatlantirish uchun xuddi shu 5V transformatordan foydalanaman. Shu sababli menda 5V yulduz simlari va Pi ga ulanadigan terminal blokiga (oq rang bilan ajratilgan) o'tish qudrati bor.

Pin 2 = 5V

6 -pin = Er

Ulangach, quvvatni yoqing va Pi yuklanishi va oldingi bosqichda sozlash sifatida Telnet orqali kirish mumkin.

4 -qadam: Raspberry Pi -ni o'rni moduliga ulash

Raspberry Pi -ni o'rni moduliga ulash
Raspberry Pi -ni o'rni moduliga ulash

Barcha quvvat o'chirilganida (Quvvat manbalari va Pi) 5 voltli pastki ikkita tashqi quvvat manbaiga ulang. Men buni elektr tasmasiga ulangan 5 voltli maxsus quvvat manbai bilan olib bordim. Bu shuni anglatadiki, Pi o'rni haydashning butun yukiga ega emas (bir vaqtning o'zida 8 ta o'rni ishlaydi) va buning o'rniga tranzistorni tashqi quvvatni o'z o'rni bilan bog'lashi mumkin.

Endi Raspberry Pi -da GPIO0 orqali GPIO7 orqali joylashuvini aniqlang. Mening B-modelimda:

GPIO0 = Pin 11

GPIO1 = 12 -pin

GPIO2 = 13 -pin

GPIO3 = PIN 15

GPIO4 = PIN 16

GPIO5 = 18 -pin

GPIO6 = 22 -pin

GPIO7 = 7 -pin

Topraklama/0V = 6 -pin, 9 -pin, 14 -pin, 20 -pin, 25 -pin

SSR modulining ulanishi ustunli vintlardek bo'lgani uchun, men komponentlarni bir -biridan qanday ajratishimga asoslanib, har bir o'tish moslamasini kerakli o'lchamda qirqib oldim. Barcha 8 ta kirish kanalini, shuningdek erdan Pi -ni taxtaga ulang. Igna qisqichlari o'tish moslamalarini Pi sarlavhasiga to'g'ri joylashtirishga yordam beradi.

Har bir kanalda SSR modulida LED bor, u GPIO Pi -ga ko'tarilganda yonadi. Test.py sifatida biriktirilgan barcha ulanishlarni tekshirish uchun oddiy test dasturini ishga tushiring, bu erda har bir GPIO0-7 ikki soniya davomida baland qilib o'rnatiladi.

5 -qadam: Uzatma simlarini kesib oling va tayyorlang

Uzaytirgich simlarini kesib oling va tayyorlang
Uzaytirgich simlarini kesib oling va tayyorlang

Har bir uzaytirgich simida vilkaning uchini kesib oling, shnurning uchiga maksimal uzunlikni qoldiring, chunki u daraxtning tepasiga chiqishi kerak bo'ladi. Ipning ikkita uchini bir -biriga bog'lab turadigan ingichka plastmassani kesib simning uchlarini ajratib qo'ying. Endi uchlarini echib oling, shunda ulagichlar uchun vint uchun 1/4 dyuymli sim ochiladi.

Kabelning har bir uchidagi Sharpie markeridan foydalanib, 1 dan 8 gacha raqamlarni yozing, shunda qaysi modul SSR modulida qaysi kanalga o'tishini osongina aniqlash mumkin.

Keyingi qadam uchun bizga bitta vilka va qo'shimcha sim kerak bo'ladi, shuning uchun 9 -chi uzatma kabelini yamyab qo'ying yoki vilkaning uchini kesib tashlaganingizda 8 uzatgichga qo'shimcha joy qoldiring.

6 -qadam: AC uzatma simlarini ulash

AC uzatma simlarini ulash
AC uzatma simlarini ulash
AC uzatma simlarini ulash
AC uzatma simlarini ulash

Keyingi qadam SSR modulining chiqish uchini 8 ta uzatma kabeli bilan bog'lab qo'yadi. Bu erdagi simlar juda tez chigallashib ketishi mumkinligi sababli, men hamma narsani joyida saqlashga harakat qilish uchun quvvat taqsimlash moslamasi va shtapel qurolidan foydalandim.

Quvvatni o'chirib qo'yganingizda, oldingi qadamning kesilgan vilkasini oling va uni tarmoqqa ulang. Qolgan ikkita uchini echib oling va har birini yuqori va pastki quvvat taqsimlash blokiga ulang va bu ikkita ulanishni pastga ulang.

Endi oldingi bosqichda kesilgan uzaytirgichlardan birini ulang. Mening holimda menda barcha simlar chiqib ketishi uchun diametri 1,5 dyuymli teshikka ega korpus bor, shuning uchun bir uchi tarqatish blokiga, ikkinchisi SSR modulining chiqish uchiga ulangan simlardan biri yashil rangda ajratilgan. Zanjirni tugatish uchun bizga boshqa taqsimlash blokini SSR moduliga bog'laydigan ancha qisqa sim kerak (ko'k rangda ko'rsatilgan). Hammasini iloji boricha toza saqlash uchun qirqing va zımba qiling. Zımba nafaqat narsalarni toza saqlaydi, balki Chiroqlarni daraxtga ulashda tortishish va tortish elementlarning ulanishini uzib yubormasligi uchun kuchlanishni engillashtiradi.

7 -qadam: AC ulanishini tekshiring

AC ulanishini tekshiring
AC ulanishini tekshiring
AC ulanishini tekshiring
AC ulanishini tekshiring

Rojdestvo chiroqlarini ulashdan ko'ra, men daraxt ko'tarilishidan oldin animatsiyalarni sinab ko'rish va ishlab chiqish uchun har bir uzaytirgichga 1 dollarlik arzon tungi chiroqlarni uladim. Men qizil, yashil, moviy yorug'lik simlarini boshqaradigan simlarga ulangan chiroqlarni bo'yadim.

SSR modulini sinash uchun ishlatilgan bir xil sinov dasturini ishga tushiring va har bir ulanish chirog'i to'g'ri o'rnatilganligiga ishonch hosil qiling.

Chiroqlar qutisi har bir chiziq 0,34 amperni tashkil qilishini ko'rsatdi va rangli chiroqlar uchun men ikkita to'plamni birlashtirmoqchi bo'ldim, natijada jami 0,68 amper chiziladi. Bu 2 amperda 75-200 VAC bo'lgan SSR reytingidan ancha past, lekin men ikki marta tekshirishni xohladim, chunki SSR modulidagi sug'urta taxtaga lehimlangan, uni almashtirish qiyin.

8 -qadam: Yulduz yaratish

Yulduz yaratish
Yulduz yaratish
Yulduz yaratish
Yulduz yaratish
Yulduz yaratish
Yulduz yaratish
Yulduz yaratish
Yulduz yaratish

Yulduzni yaratishda birinchi qadam - yog'och ramka va plastmassani shakllantirishga yordam beradigan bosma shablon. Shabloni kerakli o'lchamda o'lchab va chop etgandan so'ng, men hunarmandchilik do'konidan 4,25 dyuymli 0,125 dyuymli yog'ochni oldim va yulduzning har bir tomoni uchun zarur bo'lgan masofani o'lchadim. Men hech qanday bo'g'inlarni kesmaganman, shuning uchun ularni yopishtirishda qismlarni joyida ushlab turish uchun yulduzni qo'llab -quvvatlash zarur edi.

Shabloni ish joyiga qo'yib, rasmda jigarrang rangda ko'rsatilgandek, ikkita yog'och bo'lagini ushlab turish uchun tayanchlardan foydalanardim. Yog'ochning ikki qirrasi tegib turganida, bo'g'inning har ikki tomoniga elim surtilgan. Keyin ingichka balzani olib, ikkita uchini birlashtirish uchun uchburchak kesib oldim va uni yulduzga yopishtirdim. Balzadan foydalanishning sababi shundaki, yulduz bir -biriga mahkam o'rnashganidan so'ng, men yulduz tasvirida aylantirilgan yulduzning konturiga mos keladigan tarzda uchburchakni osonlikcha zımparalashga muvaffaq bo'ldim.

Qurilish usuli tufayli, keyingi bo'g'inga o'tishdan oldin, elim quriguncha har bir bo'g'im ustida bir necha soat kutishim kerak edi.

Butun yulduz paydo bo'lgandan so'ng, men yulduz uchida ikkita yog'och bo'lagi uchragan bo'shliqlarni yopish uchun gipsokartondan foydalanaman.

Keyin men yulduzning ichki qismidagi kichik tiqinlarni yopishtirdim, bu esa LED yig'ilishini to'rtburchaklar bilan ajratilgan joyiga joylashtirishga yordam berdi. Menimcha, ular aslida kerak emas, chunki tortishish kuchi LED yig'ilishini ushlab turish vazifasini bajaradi.

Yig'ilgan yulduzni Lexan varag'i ustiga qo'yib, yulduzning shaklini kuzatib, Lexan yulduzini kesib tashlang. Lexan yulduzini kesganingizdan so'ng, uning yog'och ramkaga mos kelishini tekshiring, so'ngra Lexanning bir tomoniga 2 marta oq bo'yoqli bo'yoq surting va 24 soat quriting. Bu svetodiodlarning tarqalishiga hamda ularni ko'zdan yashirishga imkon beradi.

Lexan yulduzi va yog'ochdan yasalgan ramka orasidagi qopqoqni yashirish uchun men 0,25 dyuymli balzali yog'ochdan yasalgan kichik tasmadan foydalanardim va uni balzani bo'shliqni yopib qo'yishi uchun kesib tashladim.

Oxirida yulduzni daraxt tepasiga ulash uchun tayoq/dublon qo'shildi.

9 -qadam: LED o'rnatilishini yarating

LED o'rnatilishini yarating
LED o'rnatilishini yarating
LED o'rnatilishini yarating
LED o'rnatilishini yarating

Yog'och yulduzni yaratish uchun xuddi shu shablonni ishlatib, ABS plastmassa varag'ini o'lchamiga qarab kesib oling, lekin yog'och yulduzning ichiga joylashtirish uchun biroz kichikroq. Yog'och yulduzga yaxshi mos kelishini tekshiring.

Shabloni hali ham teshiklari bo'lgan joydan foydalanib, 25 ta LED teshiklarini burang. AdaFruit svetodiodlarining tashqi tomonida silikon gardish bor, shuning uchun ular 12 mm chuqurlikdagi teshiklarga mukammal o'rnatiladi. Rasmda siz flanesni ko'rishingiz mumkin va men yashil chiziq yordamida ABS plastmassasi LEDni ushlab turish uchun gardish bilan bog'lanishini ko'rsatganman.

Maslahatlardan birini boshlang va yulduzning tashqi qismini aylantiring, so'ngra buyumni to'ldirish uchun ichki 5 ta tokchaga o'ting. Mening dasturimda men LED pozitsiyalarini rasmda ko'rsatilgandek ulashgan, 1 - ulagichdan keyingi birinchi LED.

Kabelning qizil va ko'k uchlariga bir nechta elektr tasmasini qo'llang. Ular quvvat uchun ikkinchi darajali kirishlar, biz foydalanmaymiz va buning o'rniga qizil/ko'k aloqani soat/signal aloqasi orqali kabelning o'zi orqali ishlatamiz.

10 -qadam: LED yulduzi uchun uzatma simini yaratish

LED yulduzi uchun uzatma simini yaratish
LED yulduzi uchun uzatma simini yaratish
LED yulduzi uchun uzatma simini yaratish
LED yulduzi uchun uzatma simini yaratish

Keyingi - daraxtning yuqori qismidagi yulduzgacha bo'lgan 8 futli kabelni yaratish.

Uzunligi 8 fut bo'lgan 4 ta teng uzunlikdagi bo'lakni kesib oling va kabelning bir uchida bog'lamni bir -biriga mahkam bog'lab qo'yish uchun elektr tasmasini yoki bog'ichni ishlating. Buni har bir dyuymli 4 ta kabelning butun uzunligi bo'ylab bajaring.

To'plamning har ikki uchida ham JST konnektorlariga simlar va lehimlarni uzing, shunda sim bir uchini korpusga, ikkinchisini esa yulduzga ulashi mumkin. Yulduzga ulanganda, kabelning boshqa uchida Moviy/Yashil/Sariq/Qizil ulanishlar mos kelishi uchun simlarning nisbiy holatini to'g'ri tartibda saqlashga ishonch hosil qiling. Kabelning to'g'ri ulanganligini tekshirish uchun multimetrdan foydalaning.

11 -qadam: Yulduzni Pi -ga ulang

Yulduzni Pi -ga ulang
Yulduzni Pi -ga ulang

Endi biz yulduz/uzaytirgich simini ulash uchun korpusdagi idishni yaratishimiz kerak.

Qizil = 5 volt

Moviy = Zamin

Shunday qilib, biz JST ulagichidagi bu ikkita chiziqni Raspberry Pi quvvati ulangan terminal blokiga ulashimiz mumkin.

Boshqa ikkita ulanish:

Sariq = Ma'lumotlar = MOSI = Pin 19

Yashil = Soat = SCLK = Pin 23

Men AdaFruit qo'llanmasidan simlarni kuzatdim. Shunday qilib, ikkita o'tish kabelining uchlarini olib tashlang, shunda ular JST ulagichiga lehimlanadi.

Agar siz simi LED -larga to'g'ri signallarni qabul qilishiga amin bo'lsangiz, uzilish kabeli uzilib qolsa, ulagichni Pi -dan uzib yubormasligi uchun, korpusdagi ulagichni mahkamlang.

12 -qadam: LED yulduzini sinab ko'ring

LED yulduzini sinab ko'ring
LED yulduzini sinab ko'ring
LED yulduzini sinab ko'ring
LED yulduzini sinab ko'ring

LED yulduzi Pi ga ulangan. Chiroqning to'g'ri ishlashini tekshirish uchun oddiy sinov dasturini ishga tushiring. Mening kodimning ko'p qismi AdaFruit Tutorial -dan, shuningdek veb -saytdagi o'quv postidan biz foydalanadigan LED -larga moslashtirish bo'yicha forum postidan moslashtirilgan.

Bog'langan ledtest.py yulduzi asta -sekin toza ko'kdan sof qizilga aylanadi.

13 -qadam: Dinamiklarni ulang, korpus tepasini yarating

Dinamiklarni ulang, korpus tepasini yarating
Dinamiklarni ulang, korpus tepasini yarating

Bu erda hech qanday alohida narsa yo'q, faqat karnayni Raspberry Pi -dan audioga ulang va ularni tarmoqqa ulang. Ovozni sozlash tugmachasi bo'lgan oddiy quvvatli dinamik ishlaydi.

Yuqori qism uchun men korpusga qarashni xohlardim, shuning uchun qopqog'iga 8,5 x 11 stakan (rasm ramkasidan) o'rnatdim va agar kerak bo'lsa, tepasini tezda olib tashlashim uchun tepaga Velcro ishlatdim. Qoplamaning katta qismida 110 ta VAC bor, shuning uchun tepada kimdir yoki biror narsadan tasodifan aloqa qilishdan himoya qilish muhim.

14 -qadam: Chiroqni daraxtga ulang

Chiroqni daraxtga ulang
Chiroqni daraxtga ulang

Men Rojdestvo daraxti kanallarining tartibini tanladim, bu menga har xil harakat/effektlarni yaratishga maksimal moslashuvchanlikni berdi. 5 ta oq ipning yoritilishini qanday o'rnatganim tasviri ilova qilingan. Qolgan uchta kanal har biri ikkita 100 ta ochiq rangli chiroqlardan iborat edi: Qizil, Yashil, Moviy.

Har bir tarmoqqa ulanadigan uzatma kabeli muhim emas, chunki keyingi bosqichda men GPIO0-7 va daraxtdagi chiroqlar o'rtasidagi xaritani sozlashim mumkin.

15 -qadam: Musiqa, dasturiy ta'minot, ketma -ketlikni yuklash/yaratish …

Image
Image

Raspberry Pi uchun Rojdestvo nurlarining ko'p sonli sekvenerlari mavjud, lekin men oddiy kodni noldan kodladim. Barcha ketma -ketliklar Audacity -da (audio muharriri) zarbalar/o'lchovlar vaqtini mening sekvenerimdagi maxsus buyruqlarga moslashtirish orqali hosil qilingan.

rxmas.py

Bu dastur tasodifan har daqiqada daraxt uchun statik tartibni tanlaydi. Menda bu skript Raspberry Pi ishga tushganda (cron ishi orqali) qurilmani ulashda odatiy xatti -harakat sifatida ishlaydi.

xmas.py

Bu ketma -ketlik faylini va MP3 -ni kiruvchi sifatida oladigan sekvener dasturi

setup.txt

Oldingi bosqichda men har bir mantiqiy kanal uchun ishlatilgan tartibni berdim. Bu fayl har bir haqiqiy GPIO0-7 ni mantiqiy kanalga bog'laydi. Men biriktirgan setup.txt da GPIO0 uzatma kabeli mantiqiy kanal 8 (Moviy), GPIO1 mantiqiy kanal 6 (Qizil) va boshqalarni boshqaradi.

test.mp3 / test.txt

Bu 1 dan 8 gacha bo'lgan raqamlarning ovozini hisoblashning oddiy misoli, unga teng yorug'lik simlari yonadi

Shunday qilib, bu misolni chaqirish uchun:

./xmas.py test.txt test.mp3

carol.txt

Trans-Sibir orkestri Rojdestvo Sarayevo uchun sekvension fayl

LetItGo.txt

Disneyning muzlatilgan filmidan ketishiga ruxsat bering

ruscha.txt

Trans-Sibir orkestri "Aqlsiz ruscha Rojdestvo" uchun sekvension fayl

Shubhasiz, siz o'zingizning LetItGo.mp3 va carol.mp3 fayllaringizni etkazib berishingiz kerak bo'ladi! Ularni Amazon -dan sotib oling.

QAYD: O'rnatilgan YouTube video tezligi 110% gacha, shuning uchun biroz g'alati tuyulishi mumkin

Yorqin qiling!
Yorqin qiling!

"Yorqin qil" filmidagi birinchi mukofot!

Tavsiya: