INHOUDSOPGAWE:

Raspberry Pi Kersboom Light Show: 15 stappe (met foto's)
Raspberry Pi Kersboom Light Show: 15 stappe (met foto's)

Video: Raspberry Pi Kersboom Light Show: 15 stappe (met foto's)

Video: Raspberry Pi Kersboom Light Show: 15 stappe (met foto's)
Video: BEST TWINKLY LIGHT EFFECTS 2024, November
Anonim
Image
Image

Update: ek het 'n bygewerkte evolusie van hierdie boom vir 2017 op hierdie instruksionele https://www.instructables.com/id/LED-Christmas-Tree-With-Video-Projector-Rasp-Pi/ uitgebring

Hierdie projek behels die gebruik van 'n Raspberry Pi om 8 wisselstroomaansluitings aan te dryf wat aan die kersboomligstelle gekoppel is. Die AC -ligte is eenvoudige liggies, maar om 'n meer dinamiese omvang te gee, is daar ook 'n 25 programmeerbare RGB LED -ster. Een van die voordele van die gebruik van die Raspberry Pi in plaas van 'n Arduino -kontroleerder, is dat ek die klank uit die Raspberry Pi kan dryf om die ligte met musiek te laat afneem (om nie eers te praat van die voordeel dat ek 'n WiFi -verbinding het om op afstand op die sagteware te werk nie).

Stap 1: materiaal

Materiaal
Materiaal

Hou in gedagte dat die onderstaande materiaal wat ek vir hierdie projek gebruik het. In baie gevalle kan alternatiewe onderdele/oplossings gebruik word.

Hier is die materiaal wat ek vir hierdie projek gebruik het:

Vir die beheerder:

  1. Framboos Pi (B -model is wat ek gebruik het)

    • SD kaart
    • USB Wifi -adapter
  2. SainSmart 8 -kanaal 5V SSR -modulebord - Amazon

    Ek het die meganiese relais vermy, aangesien die klikgeluid van die skakelaar merkbaar hoorbaar is, en ons gaan na SSR's. Hierdie bord het 'n maksimum van 2 AMP per SSR, wat genoeg is om 'n rits kersliggies aan te dryf

  3. Jumper drade - Kan goedkoop gevind word op eBay
  4. JST SM Plug + houers - Adafruit
  5. 32ft draad (of vier stukke draad van 8 voet)
  6. Verlengsnoer x 8
  7. Kragverspreidingsblok x 2 - AdaFruit
  8. Kragstrook
  9. Kragbronne

    • 5 volt, 3 ampère of meer om LED's en Pi aan te dryf
    • 5 Volt, 1 Amp of meer om die SSR -module aan te dryf
  10. Omhulsel
  11. Sprekers

Vir die ster:

  1. 12 mm RGB -LED's (Strand van 25) - AdafruitWS2801 -chip in hierdie produk laat die Pi toe om net een keer die draad te pols eerder as om die lyn voortdurend te pols om die LED's te laat brand.
  2. Plastiek ABS -vel om LED's op hul plek te hou - Walmart
  3. Lexan -vel om LED's te versprei - Lowes
  4. Swart spuitverf
  5. Wit spuitverf
  6. Hout

Vir die boom:

  1. Wit 100 ligte string x 4
  2. Wit 50 ligte string
  3. Rooi 100 ligte string x 2
  4. Groen 100 ligte string x 2
  5. Blou 100 lig stringe x 2

Stap 2: Stel die Raspberry Pi op

Voordat ek in die bedrading duik, wou ek eers die Pi aan die gang kry om die komponente te toets terwyl hulle gekoppel was. Hierdie opstelling is uitgevoer voor die opstelling van die omhulsel, en behels die Raspberry Pi wat via USB aan 'n monitor en sleutelbord gekoppel is. Die doel is om die stelsel so gekonfigureer te kry dat die ontwikkeling op die Pi in die omhulsel kan voortgaan.

Die standaard Pi -installasie het nie die biblioteke wat nodig is om die WS2801 LED's behoorlik in die ster te bestuur nie, so ek het die Occidentalis -bedryfstelsel van AdaFruit op die Pi geïnstalleer.

Na die Occidnetalis -installasie was 'n bietjie ekstra opstelling betrokke:

1) Stel die Pi op om na 'n opdragprompt te begin (nie die GUI -koppelvlak nie)

2) Stel die draadlose netwerk -koppelvlak op die Pi op deur te redigeer/etc/network/interfaces. Kies 'n statiese IP-adres sodat u by 'n bekende adres kan aanmeld om aan die Pi te werk

3) Installeer Telnet- en FTP -dienste.

4) Installeer Pygame. Die biblioteek word in die python -skrifte gebruik om MP3/WAV -lêers te speel

Besonderhede van die installasie/opstelling kan maklik gevind word deur internet soektogte. Daar is baie hulpbronne op die Pi aanlyn.

Na hierdie punt kan ek enige video en sleutelbord ontkoppel, want die Pi kan u op afstand aanmeld.

Stap 3: Begin met die opstel van die omhulsel

Begin met die opstel van die omhulsel
Begin met die opstel van die omhulsel

Ek sal nie veel inligting gee oor hoe om die omhulsel te bou nie, aangesien dit net 'n boks van hout is. Ek het 'n deursnee van 1,5 aan die ente van die omhulsel geboor. Aan die regterkant is die gat waar al die verlengkoorde en die ster tou opraak, en die linkerkant is die gat waar die kragstrook en die klank uitloop.

Die eerste komponente wat gemonteer word, is die kragstrook en Raspberry Pi. Om die Pi aan te dryf, gebruik ek dieselfde 5V -transformator om die ster en Pi aan te dryf (in groen getoon). As gevolg hiervan het ek die krag na 'n aansluitblok (wit gemerk) waar die 5V na die sterbedrading en na die Pi vurk

Speld 2 = 5V

Speld 6 = Grond

Sodra u die verbinding aangeskakel het, skakel die krag aan en die Pi moet opstart en toeganklik wees via Telnet soos opgestel in die vorige stap.

Stap 4: Koppel die Raspberry Pi aan die relaismodule

Koppel die Raspberry Pi aan die Relay Module
Koppel die Raspberry Pi aan die Relay Module

Sluit die 5 volt aan op die onderste twee eksterne kragbronaansluitings, terwyl alle krag af is (voeding en Pi). Ek het dit bestuur met 'n toegewyde 5 Volt -stroomtoevoer wat aan die kragstrook gekoppel is. Dit is so dat die Pi nie die volle las van die stuur van die relais het nie (die probleem is dat 8 gelyktydige relais aangeskakel is) en eerder 'n transistor kan dryf om eksterne krag na die relais aan te skakel.

Bepaal nou die ligging van die GPIO0 tot en met GPIO7 op die Raspberry Pi. Op my B-model is dit:

GPIO0 = Speld 11

GPIO1 = Speld 12

GPIO2 = pen 13

GPIO3 = pen 15

GPIO4 = pen 16

GPIO5 = pen 18

GPIO6 = pen 22

GPIO7 = Speld 7

Grond/0V = pen 6, pen 9, pen 14, pen 20, pen 25

Aangesien die verbinding op die SSR -module in paaltjies vasgemaak is, het ek elke trui tot die regte grootte gesny, gebaseer op hoe ek die komponente gespasieer het. Koppel al 8 ingangskanale sowel as grond van die Pi op die bord. Naaldtang help om die springers behoorlik in die Pi -kopstuk te plaas.

Elke kanaal het 'n LED op die SSR -module wat sal brand wanneer GPIO hoog op die Pi gaan. Begin 'n eenvoudige toetsprogram om alle verbindings, aangeheg as test.py, na te gaan, waar elke GPIO0-7 twee sekondes hoog is.

Stap 5: Sny en maak verlengkoorde gereed

Sny en maak verlengkoorde gereed
Sny en maak verlengkoorde gereed

Sny die plug -einde op elke verlengsnoer af en laat die maksimum beskikbare lengte na die einde van die koord, aangesien dit moontlik bo -aan die boom sal moet gaan. Op die koord verdeel die ente van die draad deur die dun stuk plastiek te sny wat die twee drade bymekaar hou. Trek nou die ente af sodat ongeveer 1/4 draad aan die skroefverbindings blootgestel word.

Gebruik 'n Sharpie -merker aan elke kant wat aan die einde van die koord vasgemaak is om die nommers 1 tot 8 te skryf, sodat u maklik kan identifiseer watter aansluiting na watter kanaal op die SSR -module gaan.

Ons benodig ook een prop en ook 'n paar ekstra drade vir die volgende stap, sodat u óf 'n 9de verlengsnoer kan kannibaliseer, óf 'n ekstra ruimte op die 8 verlengkoorde moet los as u die uiteinde afsny.

Stap 6: Verbind die AC -verlengkoorde

Verbind die AC -verlengkoorde
Verbind die AC -verlengkoorde
Verbind die AC -verlengkoorde
Verbind die AC -verlengkoorde

Die volgende stap haak die uitvoerkant van die SSR -module met 8 verlengkoorde. Aangesien die hoeveelheid drade hier baie deurmekaar kan raak, het ek 'n kragverspreidingsbout en 'n stapelgeweer gebruik om alles in plek te hou.

As die krag af is, neem die afsnypunt van die vorige stap en steek dit in die kragstrook. Trek die ander twee ente af en koppel elkeen aan die boonste en onderste kragverdelingsblok en kram hierdie twee verbindings vas.

Koppel nou een van die afgesnyde verlengkoorde van die vorige stap. In my geval het ek 'n omhulsel met 'n gat van 1,5 in deursnee sodat al die toue kan uitvloei, so in groen is een van die toue met die een kant aan die verspreidingsblok gekoppel en die ander aan die uitvoerkant van die SSR -module. Om die stroombaan te voltooi, benodig ons 'n baie korter draad (in blou getoon) wat die ander verdeelblok met die SSR -module verbind. Sny en kram om alles so netjies moontlik te hou. rekverligting sodat enige trek en trek wanneer die ligte aan die boom gekoppel word, nie die verbindings uit die komponente sal trek nie.

Stap 7: Toets die AC -aansluitings

Toets die AC -aansluitings
Toets die AC -aansluitings
Toets die AC -aansluitings
Toets die AC -aansluitings

Eerder as om vol snare Kersfeesligte aan te sluit, het ek goedkoop $ 1 nagligte aan elke verlengsnoer gekoppel om die animasies te toets en te ontwikkel voordat die boom op is. Ek het die ligte wat aan die toue gekoppel is, geverf wat die rooi, groen, blou ligstringe kan beheer.

Begin dieselfde toetsprogram wat gebruik is om die SSR -module te toets en sorg dat elke verbinding behoorlik brand.

Die boks ligte het aangedui dat elke snaar 0,34 Amper sou trek, en vir die gekleurde ligte sou ek twee stelle saamtrek, wat 'n totale trekking van 0,68 Amper sou veroorsaak. Dit is baie laer as die waarde van die SSR, wat 75 - 200 VAC by 2 Ampère is, maar ek wou dit nagaan, aangesien die lont op die SSR -module aan die bord gesoldeer is, wat dit moeilik maak om te vervang.

Stap 8: Skep die ster

Die skep van die ster
Die skep van die ster
Die skep van die ster
Die skep van die ster
Die skep van die ster
Die skep van die ster
Die skep van die ster
Die skep van die ster

Die eerste stap in die skep van die ster is om 'n drukbare sjabloon te maak om die houtraamwerk en plastiek te vorm. Nadat ek die sjabloon op die toepaslike grootte afgeskaal en gedruk het, het ek 'n stuk hout van 4,25 x 0,125 uit die vlytwinkel geneem en die afstand wat aan elke kant van die ster benodig is, gemeet. Ek het eintlik nie een van die gewrigte gekantel toe ek dit sny nie, sodat die vorming van die ster nodig was om die stukke op hul plek te hou terwyl hulle gom.

Deur die sjabloon op die werkoppervlak neer te sit, het ek stutte gebruik om die twee stukke hout vas te hou, soos bruin op die foto. Met die twee rande van die hout wat aan mekaar raak, is gom aan weerskante van die las aangebring. Toe ek 'n dun stuk balsa neem, sny ek 'n driehoek om die twee stukke aanmekaar te maak en plak dit op die ster vas. Die rede vir die gebruik van balsa is dat sodra die ster stewig bymekaar was, ek die driehoek maklik kon afskuur om by die kontoer van die ster te pas, wat in die beeld van die ster aangetoon is.

As gevolg van die konstruksiemetode, moes ek 'n paar uur op elke voeg wag totdat die gom droog is voordat ek na die volgende voeg kon gaan.

Sodra die hele ster gevorm is, gebruik ek gipsverband om die gapings te bedek waar twee stukke hout by die punte van die ster ontmoet het.

Daarna het ek 'n paar klein stoppies om die binnekant van die ster vasgeplak om die LED -eenheid op sy plek te plaas wanneer dit ingevoeg word, gemerk met 'n reghoek. Ek glo nie dat dit eintlik nodig is nie, aangesien swaartekrag die LED -eenheid op sy plek hou.

Plaas die geassembleerde ster bo -op die Lexan -vel, volg die vorm van die ster en sny die ster uit die Lexan. Nadat u die Lexan -ster gesny het, moet u seker maak dat dit in die houtraam pas, en dan 2 lae wit spuitverf aan die een kant van die Lexan aanbring en 24 uur laat droog word. Hierdeur kan die LED's versprei word, sowel as om dit vir die oog te verberg.

Om die doppie tussen die Lexan -ster en die houtraam te verberg, het ek 'n klein 0,25 "-strook balsahout gebruik en dit gesny om die raam te vorm en" te bedek "sodat die balsa die gaping bedek.

Uiteindelik 'n stokkie/stok bygevoeg om die ster aan die boonste boom te heg.

Stap 9: Skep die LED -montering

Skep die LED -montering
Skep die LED -montering
Skep die LED -montering
Skep die LED -montering

Gebruik dieselfde sjabloon om die houtster te vorm en sny die ABS -plastiekplaat in grootte, maar effens kleiner om dit in die houtster te kan plaas. Toets of dit goed in die houtster pas.

Boor die 25 LED -gate nog steeds met die sjabloon met gate. Die LED's van AdaFruit het 'n silikoonflens aan die buitekant, sodat hulle perfek in gate geboor word wat op 12 mm geboor word. Op die foto kan u die flens sien, en ek het 'n groen streep gebruik om aan te dui waar die ABS -plastiek die flens sou aansluit om die LED vas te hou.

Begin met een van die wenke en werk aan die buitekant van die ster, en beweeg dan na die binneste 5 houers om die stuk te voltooi. In my program het ek die LED -posisies bedraad, soos numeries op die foto, met 1 die eerste LED na die aansluiting.

Plaas 'n bietjie elektriese band op die rooi en blou punte van die kabel. Dit is sekondêre insette vir krag wat ons nie sal gebruik nie, en gebruik eerder die rooi/blou verbinding met die klok/seinverbinding oor die kabel self.

Stap 10: Maak die verlengdraad vir die LED -ster

Skep die verlengdraad vir die LED -ster
Skep die verlengdraad vir die LED -ster
Skep die verlengdraad vir die LED -ster
Skep die verlengdraad vir die LED -ster

Vervolgens word 'n kabel van 8 voet gemaak om van die omhulsel na die ster bo -aan die boom te loop.

Knip 4 stukke gelyke lengte van 8 voet draad en gebruik óf elektriese band of ritsbande aan die een kant van die kabelbundel om die bondel bymekaar en netjies te hou. Doen dit elke paar sentimeter oor die hele lengte van die 4 kabelbundel.

Aan beide kante van die bundel strook die drade en soldeersel aan die JST -verbindings sodat die draad die een kant met die omhulsel kan verbind en die ander met die ster. Hou die relatiewe posisie van die drade in die regte volgorde sodat die blou/groen/geel/rooi verbindings aan die ander kant van die kabel pas. Gebruik 'n multimeter om die kabel na te gaan om seker te maak dat dit korrek is.

Stap 11: Dra die ster na die Pi

Dra die ster na die Pi
Dra die ster na die Pi

Ons moet nou die houer in die omhulsel vir die ster/verlengdraad skep om in te sluit.

Rooi = 5 volt

Blou = Grond

Ons kan dus hierdie twee lyne op die JST -aansluiting na die aansluitblok koppel waaraan die Raspberry Pi -krag gekoppel is.

Die ander twee verbindings is:

Geel = Data = MOSI = Speld 19

Groen = Klok = SCLK = Speld 23

Ek het die bedrading gevolg uit die tutoriaal van AdaFruit. Trek die punte van twee springkabels af sodat hulle aan die JST -aansluiting gesoldeer kan word.

As u eers seker is dat die bedrading die regte seine na die LED's sal gee, kan u die aansluiting in die omhulsel vasstel om die spanning te verlig, sodat die aansluiting van die verlengkabel nie die springers uit die Pi kan ruk nie.

Stap 12: Toets die LED -ster

Toets die LED -ster
Toets die LED -ster
Toets die LED -ster
Toets die LED -ster

Met die LED -ster gekoppel aan die Pi. Begin 'n eenvoudige toetsprogram om te verifieer dat die beligting behoorlik werk. Baie van my kode is aangepas uit die AdaFruit -tutoriaal, sowel as 'n forum op die webwerf oor die aanpassing van die tutoriaalkode volgens die LED's wat ons gebruik.

Die aangehegte ledtest.py sal die ster stadig laat verander van suiwer blou na suiwer rooi.

Stap 13: Koppel die luidsprekers, bou 'n omhulselblad

Koppel die luidsprekers, bou 'n omhulselblad
Koppel die luidsprekers, bou 'n omhulselblad

Niks besonders hier nie, koppel net die luidsprekers aan die klank van die Raspberry Pi en steek dit in die kragstekker. 'N Eenvoudige luidspreker met 'n volume -verstelknop werk.

Vir die bokant wou ek in die omhulsel kyk, en ek het 'n stuk 8,5 x 11 glas (van 'n prentraamwerk) op die deksel aangebring en klittenband aan die bokant gebruik, sodat ek die bokant vinnig kon verwyder indien nodig. 'N Groot gedeelte van die omhulsel het 110 VAC blootgestel, dus is dit belangrik dat die bokant beskerming bied teen enigiemand of enigiets om per ongeluk kontak te maak.

Stap 14: Koppel die beligting aan die boom

Koppel die beligting aan die boom
Koppel die beligting aan die boom

Ek het die uitleg van kanale op die Kersboom gekies om my die maksimum buigsaamheid te gee om verskillende soorte bewegings/effekte te genereer. Hierby is 'n prentjie van hoe ek die beligting vir die 5 wit stringe uiteengesit het. Die oorblywende drie kanale was elk 'n stel van twee 100 ligte: rooi, groen, blou.

Die spesifieke verlengsnoer wat u by elke string aansluit, is nie van kritieke belang nie, aangesien ek in die volgende stap die kaart tussen GPIO0-7 en die ligte aan die boom kan aanpas.

Stap 15: Laai/skep musiek, sagteware, rye …

Image
Image

Daar is talle Kersfees ligte volgordes aanlyn beskikbaar vir die Raspberry Pi, maar ek het 'n eenvoudige een van nuuts af gekodeer. Al die rye is gegenereer deur die tydsberekening van slae/maatreëls in Audacity (klankredakteur) op te stel vir spesifieke opdragte aan my sequencer.

rxmas.py

Hierdie program kies elke minuut lukraak 'n statiese uitleg vir die boom. Ek gebruik hierdie script by die aanvang van die Raspberry Pi (deur middel van 'n cron -taak) as die standaardgedrag wanneer ek die eenheid aansluit.

kersfees.py

Dit is die sequencer -program, wat 'n volgorde -lêer en 'n MP3 as insette neem

setup.txt

In die vorige stap het ek die uitleg verskaf wat ek vir elke logiese kanaal gebruik het. Hierdie lêer karteer elke werklike GPIO0-7 na die logiese kanaal. So in die setup.txt wat ek aangeheg het, dryf die verlengsnoer van GPIO0 logiese kanaal 8 (blou), GPIO1 dryf logiese kanaal 6 (rooi), ens …

test.mp3 / test.txt

Dit is 'n eenvoudige toetskas van 'n klanktelling van getalle 1 tot en met 8 met die ekwivalente ligstringe

Om hierdie voorbeeldsoort op te roep:

./xmas.py test.txt toets.mp3

carol.txt

Die sequencer-lêer vir Kersfees Sarajevo deur die Trans-Siberiese orkes

LetItGo.txt

Die sequencer -lêer vir Let It Go uit Disney's Frozen Movie

russies.txt

Die sequencer-lêer vir "A Mad Russian's Christmas" deur die Trans-Siberiese orkes

U moet natuurlik u eie LetItGo.mp3- en carol.mp3 -lêers verskaf! Koop dit net by Amazon.

LET WEL: die ingeslote YouTube -video het 'n spoed van 110%, sodat dit 'n bietjie vreemd kan klink

Laat dit gloei!
Laat dit gloei!

Eerste prys in die Make it Glow!

Aanbeveel: