Turinys:

„Raspberry Pi“Kalėdų eglutės šviesos šou: 15 žingsnių (su nuotraukomis)
„Raspberry Pi“Kalėdų eglutės šviesos šou: 15 žingsnių (su nuotraukomis)

Video: „Raspberry Pi“Kalėdų eglutės šviesos šou: 15 žingsnių (su nuotraukomis)

Video: „Raspberry Pi“Kalėdų eglutės šviesos šou: 15 žingsnių (su nuotraukomis)
Video: Высокая плотность 2022 2024, Liepa
Anonim
Image
Image

Atnaujinimas: Aš pateikiau atnaujintą šio medžio evoliuciją 2017 m. Šioje instrukcijoje

Šis projektas apima „Raspberry Pi“naudojimą, norint valdyti 8 kintamosios srovės lizdus, prijungtus prie Kalėdų eglutės šviesos rinkinių. Kintamosios srovės žibintai yra paprastos vienos spalvos žibintų sruogos, tačiau norint suteikti dinamiškesnį diapazoną šviesos šou, taip pat yra 25 programuojama RGB LED žvaigždė. Vienas iš „Raspberry Pi“naudojimo vietoj „Arduino“valdiklio pranašumų yra tas, kad galiu išstumti garsą iš „Raspberry Pi“, kad šviesai būtų skirta muzika (jau nekalbant apie naudą, kurią turi „WiFi“ryšys, norint dirbti su programine įranga nuotoliniu būdu).

1 žingsnis: medžiagos

Medžiagos
Medžiagos

Turėkite omenyje toliau pateiktą medžiagą, kurią naudojau šiam projektui. Daugeliu atvejų gali būti naudojamos alternatyvios dalys/sprendimai.

Štai medžiagos, kurias naudojau šiam projektui:

Valdikliui:

  1. „Raspberry Pi“(aš naudoju B modelį)

    • SD kortelė
    • USB Wifi adapteris
  2. „SainSmart“8 kanalų 5 V SSR modulio plokštė - „Amazon“

    Aš vengiau mechaninių relių, nes jungiklio spragtelėjimo garsas bus pastebimai girdimas, ir mes nuėjome SSR. Ši plokštė yra įvertinta iki 2 AMP per SSR, to pakanka, kad būtų galima įjungti kalėdines lemputes

  3. Trumpieji laidai - pigiai galima rasti „Ebay“
  4. „JST SM Plug +“talpyklos - „Adafruit“
  5. 32 pėdų vielos ritinys (arba keturi 8 pėdų vielos gabalai)
  6. Ilginimo laidas x 8
  7. Maitinimo skirstymo blokas x 2 - „AdaFruit“
  8. „Power Strip“
  9. Maitinimo šaltiniai

    • 5 voltai, 3 ar daugiau amperų šviesos diodams ir „Pi“
    • 5 voltai, 1 A ar didesnis SSR modulis
  10. Korpusas
  11. Garsiakalbiai

Dėl žvaigždės:

  1. 12 mm RGB šviesos diodai (25 sritis) - šio produkto „AdafruitWS2801“mikroschema leidžia „Pi“tiesiog vieną kartą impulsuoti sruogą, o ne nuolat pulsuoti liniją, kad šviesos diodai būtų apšviesti.
  2. Plastikinis ABS lapas, skirtas šviesos diodams laikyti - „Walmart“
  3. „Lexan“lakštas, skirtas išsklaidyti šviesos diodus - „Lowes“
  4. Juodi purškiami dažai
  5. Dažai balti purškiami
  6. Mediena

Dėl medžio:

  1. Balta 100 šviesių siūlų x 4
  2. Baltoji 50 šviesa
  3. Raudona 100 šviesos juostelė x 2
  4. Žalia 100 šviesų juostelė x 2
  5. Mėlyna 100 šviesių sruogų x 2

2 veiksmas: nustatykite „Raspberry Pi“

Prieš pasinerdamas į laidus, norėjau pirmiausia paleisti „Pi“ir išbandyti komponentus, kai jie buvo prijungti. Ši sąranka buvo atlikta prieš nustatant korpusą ir apima „Raspberry Pi“, prijungtą per USB maitinimą prie monitoriaus ir klaviatūros. Tikslas yra pasiekti, kad sistema būtų sukonfigūruota taip, kad būtų galima tęsti „Pi“gaubte.

Numatytasis „Pi“diegimas neturi bibliotekų, reikalingų tinkamai valdyti žvaigždės WS2801 šviesos diodus, todėl „Pi“įdiegiau „AdaFruit“„Occidentalis“operacinę sistemą.

Po „Occidnetalis“diegimo buvo atlikta papildoma sąranka:

1] Konfigūruokite „Pi“, kad jis būtų paleistas į komandų eilutę (o ne GUI sąsają)

2) Nustatykite belaidžio tinklo sąsają Pi redaguodami/etc/network/interfaces. Būtinai pasirinkite statinį IP adresą, kad galėtumėte prisijungti prie žinomo adreso, kad galėtumėte dirbti su „Pi“

3) Įdiekite „Telnet“ir FTP paslaugas.

4) Įdiekite „Pygame“. Biblioteka naudojama python scenarijuose MP3/WAV failams atkurti

Išsamias diegimo/sąrankos instrukcijas galima lengvai rasti internete. „Pi“internete yra daug išteklių.

Po šio momento galiu atjungti bet kokį vaizdo išvestį ir klaviatūrą, nes „Pi“gali būti prisijungęs nuotoliniu būdu.

3 veiksmas: pradėkite nustatyti gaubtą

Pradėkite nustatyti gaubtą
Pradėkite nustatyti gaubtą

Aš nesileisiu į daug detalių, kaip pastatyti aptvarą, nes tai tik dėžutė, pagaminta iš medžio. Ant korpuso galų išgręžiau 1,5 colio skersmens atramas. Dešinėje yra skylė, kurioje baigiasi visi ilginamieji laidai ir žvaigždės laidas, o kairėje - skylė, kurioje eina maitinimo blokas ir garso išvestis.

Pirmieji montuojami komponentai yra maitinimo blokas ir „Raspberry Pi“. Norėdami maitinti „Pi“, aš naudoju tą patį 5 V transformatorių, kad galėčiau maitinti žvaigždę ir „Pi“(parodyta žalia spalva). Dėl šios priežasties aš turiu galią pereiti prie gnybtų bloko (paryškinta balta spalva), kur 5 V šakutės atjungiamos prie žvaigždžių laidų ir prie Pi

2 kaištis = 5V

6 kaištis = žemė

Kai prijungtas, įjunkite maitinimą, o „Pi“turėtų paleisti ir būti pasiekiamas per „Telnet“, kaip nustatyta ankstesniame žingsnyje.

4 žingsnis: Raspberry Pi prijungimas prie relės modulio

„Raspberry Pi“prijungimas prie relės modulio
„Raspberry Pi“prijungimas prie relės modulio

Kai visas maitinimas išjungtas (maitinimo šaltiniai ir „Pi“), prijunkite 5 voltus prie apatinių dviejų išorinių maitinimo šaltinių jungčių. Aš tai padariau su specialiu 5 voltų maitinimo šaltiniu, prijungtu prie maitinimo lizdo. Taip yra todėl, kad „Pi“neturi visos relės vairavimo apkrovos (susirūpinimą kelia 8 vienu metu veikiančios relės), o vietoj to gali tiesiog valdyti tranzistorių, kad įjungtų relės išorinę energiją.

Dabar nustatykite GPIO0 vietą per GPIO7 „Raspberry Pi“. Mano B modelyje tai yra:

GPIO0 = 11 kaištis

GPIO1 = 12 kaištis

GPIO2 = 13 kaištis

GPIO3 = 15 kaištis

GPIO4 = 16 kaištis

GPIO5 = 18 kaištis

GPIO6 = 22 kaištis

GPIO7 = 7 kaištis

Žemė/0V = 6 kaištis, 9 kaištis, 14 kaištis, 20 kaištis, 25 kaištis

Kadangi SSR modulio jungtis yra įsukama į stulpelius, kiekvieną trumpiklį sutrumpinau iki tinkamo dydžio, atsižvelgdamas į tai, kaip išdėstiau komponentus. Prijunkite visus 8 įvesties kanalus ir įžeminimą nuo Pi prie plokštės. Adatinės nosies replės padeda tinkamai įstatyti džemperius į Pi antraštę.

Kiekvienas kanalas turi šviesos diodą SSR modulyje, kuris užsidegs, kai GPIO pakils aukštai ant Pi. Vykdykite paprastą testavimo programą, kad patikrintumėte visas jungtis, pridėtas kaip test.py, kur kiekvienas GPIO0-7 nustatytas aukštas dvi sekundes.

5 žingsnis: Iškirpkite ir paruoškite ilgintuvus

Iškirpti ir paruošti ilginimo laidus
Iškirpti ir paruošti ilginimo laidus

Ant kiekvieno ilgintuvo nutraukite kištuko galą, palikdami maksimalų laisvą ilgį iki įkišto laido galo, nes jis gali tekti eiti į medžio viršūnę. Ant laido padalinkite vielos galus, nupjaudami ploną plastiko gabalėlį, laikantį abu laidus. Dabar nuimkite galus taip, kad apie 1/4 colio vielos būtų atskleista jungčių varžtui.

Naudodami „Sharpie“žymeklį kiekviename laido gale, užfiksuotame galuose, užrašykite skaičius nuo 1 iki 8, kad galėtumėte lengvai nustatyti, kuris lizdas eina į kurį SSR modulio kanalą.

Kitame žingsnyje mums taip pat reikės vieno kištuko ir papildomos vielos, todėl arba kanibalizuokite 9 -ąjį ilginamąjį laidą, arba nukirpdami kištuko galą palikite papildomos vietos ant 8 ilginamųjų laidų.

6 veiksmas: kintamosios srovės pailginimo laidų prijungimas

Kintamosios srovės pailginimo laidų prijungimas
Kintamosios srovės pailginimo laidų prijungimas
Kintamosios srovės pailginimo laidų prijungimas
Kintamosios srovės pailginimo laidų prijungimas

Kitas žingsnis sujungia SSR modulio išvesties galą su 8 ilginamaisiais laidais. Kadangi čia esančių laidų kiekis gali būti labai nesunkus, aš bandžiau viską laikyti vietoje, naudodamas maitinimo skirstytuvą ir štapelio pistoletą.

Išjungę maitinimą, nukirpkite kištuko galą iš ankstesnio žingsnio ir prijunkite jį prie maitinimo lizdo. Nuplėškite kitus du galus ir prijunkite juos prie viršutinio ir apatinio maitinimo skirstomojo bloko ir susegkite šias dvi jungtis žemyn.

Dabar prijunkite vieną iš nupjautų ilginamųjų laidų iš ankstesnio veiksmo. Mano atveju turiu korpusą su 1,5 colio skersmens anga, kad visi laidai galėtų ištekėti, todėl žalia spalva paryškintas vienas iš laidų, kurių vienas galas prijungtas prie skirstomojo bloko, o kitas - prie SSR modulio išėjimo galo. Norėdami užbaigti grandinę, mums reikia daug trumpesnio laido (parodyta mėlyna spalva), kuris sujungia kitą paskirstymo bloką su SSR moduliu. Apkarpykite ir susegkite, kad viskas būtų kuo tvarkingiau. Sąsaja ne tik užtikrina tvarką, bet ir tarnauja įtempimą, kad bet koks tempimas ir traukimas, jungiant žibintus prie medžio, neištrauktų jungčių iš komponentų. Nereikia nė sakyti, kad susegiant, kabės neturi pradurti laido ar izoliacijos.

7 žingsnis: išbandykite kintamosios srovės jungtis

Išbandykite kintamosios srovės jungtis
Išbandykite kintamosios srovės jungtis
Išbandykite kintamosios srovės jungtis
Išbandykite kintamosios srovės jungtis

Užuot prijungęs visas kalėdinių žibintų eilutes, prie kiekvieno ilgintuvo prijungiau pigius 1 USD vertės naktinius žibintus, kad galėčiau išbandyti ir sukurti animaciją prieš medžiui pakilus. Aš nudažiau šviesas, prijungtas prie laidų, kurie valdytų raudonos, žalios, mėlynos šviesos stygas.

Vykdykite tą pačią bandymo programą, naudojamą SSR moduliui išbandyti, ir įsitikinkite, kad kiekvienas ryšys dega tinkamai.

Šviestuvų dėžutė nurodė, kad kiekviena eilutė pritraukia 0,34 amperų, o spalvotoms lemputėms ketinau sujungti du komplektus, o tai turėtų sudaryti 0,68 amperus. Tai gerokai žemiau SSR reitingo, kuris yra 75–200 VAC esant 2 amperų stiprumui, tačiau aš norėjau dar kartą patikrinti, nes SSR modulio saugiklis yra lituojamas prie plokštės, todėl sunku jį pakeisti.

8 žingsnis: sukurkite žvaigždę

Žvaigždės kūrimas
Žvaigždės kūrimas
Žvaigždės kūrimas
Žvaigždės kūrimas
Žvaigždės kūrimas
Žvaigždės kūrimas
Žvaigždės kūrimas
Žvaigždės kūrimas

Pirmasis žingsnis kuriant žvaigždę yra atspausdinamas šablonas, padedantis formuoti medinį rėmą ir plastiką. Padidinus ir išspausdinus šabloną tinkamu dydžiu, iš amatų parduotuvės paėmiau 4,25 x 0,125 colio medienos gabalėlį ir išmatavau atstumą, reikalingą kiekvienai žvaigždės pusei. Pjaudamas iš tikrųjų nesulenkiau nė vienos jungties, todėl formuojant žvaigždę reikėjo atramos, kad klijuojant gabalėliai išliktų vietoje.

Padėdamas šabloną ant darbinio paviršiaus, aš naudoju atramas, kad laikyčiau du medžio gabalus, kaip parodyta ruda paveikslėlyje. Kai du medienos kraštai liečiasi, klijai buvo uždėti iš abiejų jungties pusių. Tada, paėmęs ploną balzos gabalėlį, iškirpiau trikampį, kad abi dalys būtų sujungtos, ir priklijavau prie žvaigždės. Balsa naudojimo priežastis yra ta, kad kai žvaigždė tvirtai susilieja, galėjau lengvai nušlifuoti trikampį žemyn, kad jis atitiktų žvaigždės kontūrą, parodytą apskritime žvaigždės įvaizdyje.

Dėl konstrukcijos metodo, prieš pereinant prie kitos siūlės, teko palaukti kelias valandas ant kiekvienos jungties, kol klijai išdžius.

Kai visa žvaigždė buvo suformuota, aš naudoju gipso kartono sluoksnį, kad padengčiau tarpus, kur žvaigždės galuose susitiko du medžio gabalai.

Tada įklijavau keletą mažų kamščių aplink žvaigždės vidų, kad padėtų įdėti šviesos diodų mazgą į vietą, paryškintą stačiakampiu. Nemanau, kad jie iš tikrųjų yra būtini, nes gravitacija daro darbą, kad LED laikytųsi vietoje.

Padėję surinktą žvaigždę ant „Lexan“lapo viršaus, atsekite žvaigždės formą ir iškirpkite žvaigždę iš „Lexan“. Nupjovę „Lexan“žvaigždę, patikrinkite, ar ji tinka mediniam rėmui, ir tada ant vienos „Lexan“pusės užtepkite 2 sluoksnius baltų purškiamų dažų ir leiskite išdžiūti 24 valandas. Tai leidžia išsklaidyti šviesos diodus ir paslėpti juos nuo matymo.

Norėdami paslėpti dangtelį tarp „Lexan“žvaigždės ir medinio rėmo, aš panaudojau mažą 0,25 colio balsa medienos juostelę ir supjaustiau ją pagal formą ir „uždengiau“rėmą taip, kad balsa uždengtų tarpą.

Galiausiai pridėjo lazdą/kaištį, kad padėtų pritvirtinti žvaigždę prie medžio viršūnės.

9 veiksmas: sukurkite LED montavimą

Sukurkite LED montavimą
Sukurkite LED montavimą
Sukurkite LED montavimą
Sukurkite LED montavimą

Naudodami tą patį šabloną medinei žvaigždei suformuoti, iškirpkite ABS plastiko lakštą pagal dydį, bet šiek tiek mažesnį, kad galėtumėte jį įterpti į medinę žvaigždę. Išbandykite, ar jis gerai tinka medinės žvaigždės viduje.

Tada vis dar naudodami šabloną su skylių vietomis, išgręžkite 25 LED skyles. „AdaFruit“šviesos diodų išorėje yra silikoninis flanšas, todėl jie puikiai tvirtinami į 12 mm skersmens skyles. Paveikslėlyje matote flanšą, o aš naudoju žalią liniją, nurodydamas, kur ABS plastikas prisitvirtins prie flanšo, kad LED laikytųsi vietoje.

Pradėkite nuo vieno iš patarimų ir apsukite žvaigždės išorę, tada pereikite prie vidinių 5 laikiklių, kad užbaigtumėte kūrinį. Mano programoje yra prijungtos šviesos diodų padėtys, kaip parodyta paveikslėlyje, 1 yra pirmasis šviesos diodas po jungties.

Ant raudono ir mėlyno kabelio galų užklijuokite šiek tiek elektros juostos. Jie yra antriniai energijos įėjimai, kurių mes nenaudosime, o raudoną/mėlyną jungtį su laikrodžio/signalo jungtimi per patį kabelį.

10 veiksmas: sukurkite LED žvaigždutės prailginimo laidą

„LED Star“prailginimo laido kūrimas
„LED Star“prailginimo laido kūrimas
„LED Star“prailginimo vielos kūrimas
„LED Star“prailginimo vielos kūrimas

Toliau sukuriamas 8 pėdų kabelis, einantis nuo gaubto iki žvaigždės medžio viršuje.

Iškirpkite 4 vienodo ilgio 8 pėdų vielos gabalus ir viename kabelio pluošto gale naudokite elektros juostą arba užtrauktukus, kad ryšelis būtų kartu ir tvarkingas. Atlikite tai per visą 4 kabelių pluošto ilgį kas porą colių.

Abiejuose ryšulio galuose nuimkite laidus ir lydmetalį prie JST jungčių, kad laidas galėtų vieną galą prijungti prie korpuso, o kitą - prie žvaigždės. Būtinai laikykitės tinkamos laidų padėties, kad prijungus prie žvaigždės mėlynos/žalios/geltonos/raudonos jungtys sutaptų kitame kabelio gale. Naudokite multimetrą, kad patikrintumėte kabelį ir įsitikintumėte, ar jis tinkamai prijungtas.

11 veiksmas: prijunkite žvaigždę prie „Pi“

Prijunkite žvaigždę prie Pi
Prijunkite žvaigždę prie Pi

Dabar korpuse turime sukurti lizdą, prie kurio galima prijungti žvaigždutę/ilgintuvą.

Raudona = 5 voltai

Mėlyna = žemė

Taigi šias dvi JST jungties linijas galime prijungti prie gnybtų bloko, prie kurio prijungta „Raspberry Pi“energija.

Kitos dvi jungtys yra šios:

Geltona = duomenys = MOSI = 19 kaištis

Žalia = Laikrodis = SCLK = 23 kaištis

Aš sekiau laidus iš „AdaFruit“vadovėlio. Taigi nuimkite dviejų jungiamųjų kabelių galus, kad juos būtų galima lituoti ant JST jungties.

Kai būsite tikri, kad laidai gaus reikiamus signalus į šviesos diodus, galite pritvirtinti korpuso jungtį, kad sumažintumėte įtampą, kad bet koks tempimas ant ilginamojo kabelio neišplėštų džemperių iš „Pi“.

12 veiksmas: išbandykite LED žvaigždutę

Išbandykite LED žvaigždę
Išbandykite LED žvaigždę
Išbandykite LED žvaigždę
Išbandykite LED žvaigždę

Kai LED žvaigždė prijungta prie „Pi“. Paleiskite paprastą bandymo programą, kad patikrintumėte, ar apšvietimas veikia tinkamai. Didžioji dalis mano kodo yra pritaikyta „AdaFruit“mokymo programoje ir forumo įraše svetainėje apie mokymo kodo pritaikymą, kad jis atitiktų mūsų naudojamus šviesos diodus.

Pridedamas ledtest.py žvaigždė lėtai taps grynai mėlyna iki grynai raudonos.

13 veiksmas: prijunkite garsiakalbius, sukurkite gaubto viršų

Prijunkite garsiakalbius, sukurkite korpuso viršų
Prijunkite garsiakalbius, sukurkite korpuso viršų

Čia nėra nieko ypatingo, tiesiog pritvirtinkite garsiakalbius prie „Raspberry Pi“garso ir prijunkite juos prie maitinimo lizdo. Veiks paprastas elektrinis garsiakalbis su garsumo reguliavimo rankenėle.

Viršutinėje dalyje norėjau, kad galėčiau pažvelgti į korpusą, todėl ant dangčio pritvirtinau 8,5 x 11 stiklo gabalėlį (iš paveikslo rėmo) ir viršuje naudojau Velcro, kad prireikus galėčiau greitai nuimti viršutinę dalį. Didelėje korpuso dalyje yra 110 VAC, todėl svarbu, kad viršus apsaugotų nuo bet ko ar bet ko, kad netyčia nesiliestų.

14 žingsnis: Prijunkite apšvietimą prie medžio

Prijunkite apšvietimą prie medžio
Prijunkite apšvietimą prie medžio

Aš pasirinkau Kalėdų eglutės kanalų išdėstymą, kad suteikčiau maksimalų lankstumą generuoti įvairius judesius/efektus. Pridedamas paveikslėlis, kaip išdėstiau 5 baltų sruogų apšvietimą. Likusius tris kanalus sudarė du 100 šviesių spalvų žibintai: raudona, žalia, mėlyna.

Konkretus ilginimo laidas, kurį prijungiate prie kiekvienos sruogos, nėra labai svarbus, nes kitame žingsnyje galiu tinkinti atvaizdavimą tarp GPIO0-7 ir to, kas yra ant medžio.

15 veiksmas: įkelkite/sukurkite muziką, programinę įrangą, sekas…

Image
Image

„Raspberry Pi“internete galima rasti daugybę kalėdinių šviesos sekų, bet aš kodavau paprastą nuo nulio. Visos sekos buvo sukurtos sudarant ritmų/matų laiką „Audacity“(garso redaktoriuje) prie tam tikrų komandų mano sekos valdytojui.

rxmas.py

Ši programa kas minutę atsitiktine tvarka parinks statinį medžio išdėstymą. Turiu šį scenarijų paleidžiant „Raspberry Pi“(naudojant „cron“užduotį) kaip numatytąjį elgesį prijungiant įrenginį.

xmas.py

Tai yra sekų kūrimo programa, į kurią įeina sekos failas ir MP3

setup.txt

Ankstesniame žingsnyje pateikiau kiekvieno loginio kanalo išdėstymą. Šis failas susieja kiekvieną faktinį GPIO0-7 su loginiu kanalu. Taigi mano pridėtame setup.txt faile GPIO0 ilginamasis laidas valdo loginį 8 kanalą (mėlynas), GPIO1 - loginį 6 kanalą (raudonas) ir kt.

test.mp3 / test.txt

Tai paprastas bandymo atvejis, kai garso skaičius skaičiuojamas nuo 1 iki 8, kai šviečia lygiavertės šviesos eilutės

Taigi, norėdami pasinaudoti šio tipo pavyzdžiu:

./xmas.py test.txt test.mp3

carol.txt

Trans-Sibiro orkestro Kalėdų Sarajevo sekos failas

LetItGo.txt

„Let It Go“sekos failas iš „Disney“užšaldyto filmo

rusų.txt

Transsibiro orkestro „Pašėlusio ruso Kalėdų“sekos failas

Akivaizdu, kad turėsite pateikti savo „LetItGo.mp3“ir „carol.mp3“failus! Tiesiog nusipirkite juos iš „Amazon“.

PASTABA: įterptas „YouTube“vaizdo įrašas pagreitėja iki 110%, todėl gali atrodyti šiek tiek keistai

Leisk švytėti!
Leisk švytėti!

Pirmasis prizas „Make it Glow“!

Rekomenduojamas: