Sadržaj:

Svjetlosni show božićnog drvca Raspberry Pi: 15 koraka (sa slikama)
Svjetlosni show božićnog drvca Raspberry Pi: 15 koraka (sa slikama)

Video: Svjetlosni show božićnog drvca Raspberry Pi: 15 koraka (sa slikama)

Video: Svjetlosni show božićnog drvca Raspberry Pi: 15 koraka (sa slikama)
Video: БАХШ ПЛОВ Бухарских Евреев 1000 летний РЕЦЕПТ КАК ПРИГОТОВИТЬ 2024, Prosinac
Anonim
Image
Image

Ažuriranje: Objavio sam ažuriranu evoluciju ovog stabla za 2017. na ovom uputstvu

Ovaj projekt uključuje korištenje Raspberry Pi za pogon 8 utičnica naizmjenične struje koje su spojene na svjetlosne setove za božićno drvce. AC svjetla su jednostavna jednobojna svjetla, ali kako bi svjetlosnom showu dali dinamičniji raspon, tu je i 25 programabilnih RGB LED zvijezda. Jedna od prednosti korištenja Raspberry Pi umjesto Arduino kontrolera je ta što mogu istjerati zvuk iz Raspberry Pi -a kako bi svjetla bila tempirana uz glazbu (da ne spominjem dobrobit WiFi veze za rad na softveru na daljinu).

Korak 1: Materijali

Materijali
Materijali

Imajte na umu sljedeće materijale koje sam koristio za ovaj projekt. U mnogim slučajevima mogu se koristiti zamjenski dijelovi/rješenja.

Evo materijala koje sam koristio za ovaj projekt:

Za kontroler:

  1. Raspberry Pi (model B sam koristio)

    • SD kartica
    • USB WiFi adapter
  2. SainSmart 8 -kanalna 5V SSR Modul ploča - Amazon

    Izbjegao sam mehaničke releje jer će se zvuk klika prekidača osjetno čuti i otišli smo na SSR. Ova ploča ima ocjenu do 2 AMP po SSR -u što je dovoljno za napajanje niza božićnih lampica

  3. Žice za kratkospojnike - mogu se jeftino pronaći na Ebayu
  4. Utikač + utičnice JST SM - Adafruit
  5. Rola žice od 32 stope (ili četiri komada žice od 8 stopa)
  6. Produžni kabel x 8
  7. Blok za raspodjelu energije x 2 - AdaFruit
  8. Razvodnik
  9. Napajanje

    • 5 volti, 3 ampera ili više za pogon LED i Pi
    • 5 Volti, 1 Amp ili više za pogon SSR modula
  10. Kućište
  11. Zvučnici

Za zvijezdu:

  1. 12 mm RGB LED diode (niz 25) - čip AdafruitWS2801 u ovom proizvodu omogućuje Pi -u da samo mora jednom pulsirati niti, a ne neprestano pulsirati liniju kako bi LED diode bile osvijetljene.
  2. Plastični ABS lim za držanje LED dioda na mjestu - Walmart
  3. Lexan lim za difuzne LED diode - Smanjuje
  4. Crna boja u spreju
  5. Bijela boja u spreju
  6. Drvo

Za drvo:

  1. Bijela 100 svijetlih niti x 4
  2. Bijela 50 svijetlih niti
  3. Crvena 100 svijetlih niti x 2
  4. Zelena 100 svijetlih niti x 2
  5. Plava 100 svijetlih niti x 2

Korak 2: Postavite Raspberry Pi

Prije nego što sam zaronio u ožičenje, htio sam prvo pokrenuti Pi i testirati komponente dok su spojene. Ovo postavljanje je učinjeno prije postavljanja kućišta, a uključuje Raspberry Pi spojen putem USB napajanja na monitor i tipkovnicu. Cilj je postaviti sustav tako da se razvoj može nastaviti na Pi u kućištu.

Zadana instalacija Pi nema biblioteke potrebne za pravilno pokretanje LED dioda WS2801 u zvjezdici pa sam na Pi instalirao AdaFruitov operacijski sustav Occidentalis.

Nakon instalacije Occidnetalisa uključeno je malo dodatnog postavljanja:

1) Konfigurirajte Pi za pokretanje iz naredbenog retka (ne GUI sučelja)

2) Postavite sučelje bežične mreže na Pi uređivanjem/etc/network/sučelja. Odaberite statičku IP adresu kako biste se mogli prijaviti na poznatu adresu za rad na Pi

3) Instalirajte Telnet i FTP usluge.

4) Instalirajte Pygame. Knjižnica se koristi u python skriptama za reprodukciju MP3/WAV datoteka

Detaljne upute za instalaciju/postavljanje mogu se lako pronaći putem pretraživanja Interneta. Na mreži Pi postoji mnogo resursa.

Nakon ovog trenutka mogu isključiti bilo koji video izlaz i tipkovnicu jer se Pi može prijaviti na daljinu.

Korak 3: Počnite postavljati kućište

Počnite postavljati kućište
Počnite postavljati kućište

Neću ulaziti u detalje o tome kako izgraditi kućište jer je to samo kutija od drveta. Izbušio sam držače promjera 1,5 na krajevima kućišta. Desno je rupa u kojoj istječu svi produžni kabeli i zvjezdani kabel, a lijevo je rupa u kojoj se izvode razvodnik i audio izlaz.

Prve komponente za ugradnju su razvodnik i Raspberry Pi. Za napajanje Pi koristim isti 5V transformator za napajanje zvijezde i Pi (prikazano zelenom bojom). Zbog toga imam snagu da idem na priključni blok (označen bijelom bojom) gdje se 5V odvaja do ožičenja zvijezde i do Pi

Pin 2 = 5V

Pin 6 = Uzemljenje

Nakon povezivanja uključite napajanje i Pi bi se trebao podići i biti mu dostupan putem Telneta kao što je postavljeno u prethodnom koraku.

Korak 4: Spajanje Raspberry Pi na relejni modul

Spajanje Raspberry Pi na relejni modul
Spajanje Raspberry Pi na relejni modul

Sa svim isključenim napajanjem (napajanje i Pi), spojite 5 volti na dva donja priključka vanjskog izvora napajanja. Vozio sam ovo s namjenskim napajanjem od 5 V priključenim na razvodnik. To je tako da Pi nema cjelokupno opterećenje za pokretanje releja (zabrinutost je u tome što je uključeno 8 istovremenih releja) i umjesto toga može samo pokrenuti tranzistor za uključivanje vanjskog napajanja releja.

Sada odredite mjesto GPIO0 do GPIO7 na Raspberry Pi. Na mom B-modelu to je:

GPIO0 = Pin 11

GPIO1 = Pin 12

GPIO2 = Pin 13

GPIO3 = Pin 15

GPIO4 = Pin 16

GPIO5 = Pin 18

GPIO6 = Pin 22

GPIO7 = Pin 7

Uzemljenje/0V = Pin 6, Pin 9, Pin 14, Pin 20, Pin 25

Budući da je veza na SSR modulu pričvršćena vijcima, obrezao sam svaki kratkospojnik na odgovarajuću veličinu ovisno o tome kako sam razmaknuo komponente. Spojite svih 8 ulaznih kanala, kao i uzemljenje s Pi na ploču. Kliješta s iglastim nosem pomažu da se skakači pravilno smjeste u Pi glavu.

Svaki kanal ima LED na SSR modulu koji će svijetliti kada GPIO pređe visoko na Pi. Pokrenite jednostavan testni program za provjeru svih veza, priključenih kao test.py, gdje je svaki GPIO0-7 postavljen visoko na dvije sekunde.

Korak 5: Izrežite i pripremite produžne kabele

Izrežite i pripremite produžne kabele
Izrežite i pripremite produžne kabele

Na svakom produžnom kabelu odrežite kraj utikača, ostavljajući najveću dostupnu duljinu do kraja utikača jer će vjerojatno morati ići do vrha stabla. Na kabelu razdvojite krajeve žice rezanjem tankog komada plastike držeći dvije žice zajedno. Sada skinite krajeve tako da otprilike 1/4 žice bude izloženo za vijke na konektorima.

Upotrijebite Sharpie marker na svakom kraju utičnice s kraja da biste upisali brojeve od 1 do 8 tako da možete lako identificirati koja utičnica ide na koji kanal na SSR modulu.

Za sljedeći korak trebat će nam i jedan utikač, a također i neka dodatna žica, pa ili kanibalizirajte 9. produžni kabel ili ostavite dodatni prostor na 8 produžnih kabela kada odsiječete kraj utikača.

Korak 6: Spajanje produžnih kabela naizmjenične struje

Spajanje produžnih kabela naizmjenične struje
Spajanje produžnih kabela naizmjenične struje
Spajanje produžnih kabela naizmjenične struje
Spajanje produžnih kabela naizmjenične struje

Sljedeći korak povezuje izlazni kraj SSR modula s 8 produžnih kabela. Budući da se količina žica ovdje može lako zatrpati, upotrijebio sam raspodjelu energije i pištolj za spajanje kako bih pokušao sve zadržati na mjestu.

Kad je napajanje isključeno, izvadite odsječeni kraj utikača iz prethodnog koraka i priključite ga na razvodnik. Odvojite druga dva kraja i spojite svaki na gornji i donji blok za distribuciju električne energije i spajajte ova dva priključka.

Sada spojite jedan od izrezanih produžnih kabela iz prethodnog koraka. U mom slučaju imam kućište s rupom promjera 1,5 za isticanje svih kabela, pa je zelenom bojom istaknut jedan od kabela s jednim krajem spojenim na distribucijski blok, a drugim na izlaznom kraju SSR modula. Za dovršetak kruga potrebna nam je mnogo kraća žica (prikazana plavom bojom) koja povezuje drugi distribucijski blok sa SSR modulom. Obrežite i spajajte kako bi sve bilo što urednije. Ne samo da spajalica održava stvari urednima, već i služi rasterećenje tako da svako povlačenje i povlačenje pri spajanju svjetala na stablo neće izvući spojeve iz komponenti. Nepotrebno je reći da prilikom spajanja nema spajalica koje probijaju žicu ili izolaciju.

Korak 7: Testirajte priključke za AC

Testirajte priključke za AC
Testirajte priključke za AC
Testirajte priključke za AC
Testirajte priključke za AC

Umjesto da spojim pune nizove božićnih svjetiljki, priključio sam jeftina noćna svjetla u iznosu od 1 USD na svaki produžni kabel kako bih testirao i razvio animacije prije nego što se stablo podiglo. Oslikao sam svjetla spojena na žice koje će kontrolirati crvene, zelene i plave svjetlosne žice.

Pokrenite isti testni program koji se koristi za testiranje SSR modula i provjerite da li svaka veza ispravno svijetli.

Kutija sa svjetlima označavala je da će svaki niz povući 0,34 Ampera, a za svjetla u boji namjeravao sam nanizati dva skupa zajedno što bi trebalo rezultirati ukupnim izvlačenjem od 0,68 Ampera. To je znatno ispod ocjene SSR -a koja iznosi 75 - 200 VAC pri 2 ampera, međutim htio sam dvaput provjeriti jer je osigurač na SSR modulu lemljen na ploči što otežava zamjenu.

Korak 8: Stvaranje zvijezde

Stvaranje Zvijezde
Stvaranje Zvijezde
Stvaranje Zvijezde
Stvaranje Zvijezde
Stvaranje Zvijezde
Stvaranje Zvijezde
Stvaranje Zvijezde
Stvaranje Zvijezde

Prvi korak u stvaranju zvijezde je izrada predloška za ispis koji će pomoći oblikovanju drvenog okvira i plastike. Nakon skaliranja i ispisa predloška odgovarajuće veličine, uzeo sam komad drva dimenzija 4,25 "x 0,125" iz zanatske radnje i izmjerio udaljenost potrebnu za svaku stranu zvijezde. Nisam zapravo kosio niti jedan spoj kad sam ih rezao pa je za formiranje zvijezde bila potrebna podrška kako bi komadići ostali na mjestu tijekom lijepljenja.

Stavljajući predložak na radnu površinu koristio sam nosače kako bih držao dva komada drveta na mjestu kako je prikazano smeđom bojom na slici. S dodirivanjem dva ruba drva, s obje strane spoja naneseno je ljepilo. Zatim sam uzevši tanki komad balse izrezao trokut kako bih popravio dva komada i zalijepio to na zvijezdu. Razlog korištenja balse je taj što sam, nakon što je zvijezda čvrsto zajedno, mogao lako brusiti trokut prema konturi zvijezde, prikazanoj zaokruženom na slici zvijezde.

Zbog načina izrade morao sam pričekati nekoliko sati na svakom spoju da se ljepilo osuši prije nego što pređem na sljedeći spoj.

Kad se cijela zvijezda formirala, koristim suhozidom za pokrivanje praznina na kojima su se dva vrha drva susrela na vrhovima zvijezde.

Zatim sam zalijepio neke male čepove oko unutrašnjosti zvijezde kako bih pomogao da LED sklop sjedne na mjesto kada je umetnut, istaknut pravokutnikom. Ne vjerujem da su zapravo potrebni jer gravitacija obavlja posao držanja LED sklopa na mjestu.

Postavljanje sastavljene zvijezde na vrh Lexan lista, ocrtajte oblik zvijezde i izrežite zvijezdu iz Lexana. Nakon što izrežete Lexan zvijezdu, provjerite da li stane u drveni okvir, a zatim nanesite 2 sloja bijele boje u spreju na jednu stranu Lexana i ostavite da se osuši 24 sata. To omogućuje da se LED diode rasprše, kao i da ih sakriju od pogleda.

Da bih sakrio kapu između Lexan zvijezde i drvenog okvira, upotrijebio sam malu traku od balsa drva od 0,25 ", izrezao je kako bih oblikovao i" zatvorio "okvir tako da balsa prekriva jaz.

Na kraju smo dodali štap/tipla za pričvršćivanje zvijezde na vrh stabla.

Korak 9: Izradite LED montažu

Izradite LED montažu
Izradite LED montažu
Izradite LED montažu
Izradite LED montažu

Koristeći isti predložak za oblikovanje drvene zvijezde, izrežite ABS plastični lim prema veličini, ali nešto manji kako biste ga mogli umetnuti unutar drvene zvijezde. Isprobajte da li dobro pristaje unutar drvene zvijezde.

I dalje koristeći predložak s mjestima rupa, izbušite 25 LED rupa. AdaFruit LED diode imaju silikonsku prirubnicu s vanjske strane pa se savršeno uklapaju u rupe izbušene na 12 mm. Na slici možete vidjeti prirubnicu, a ja sam zelenom linijom naznačio gdje bi ABS plastika spojila prirubnicu kako bi LED držala na mjestu.

Počnite s jednim od savjeta i zaobiđite vanjsku stranu zvijezde, a zatim prijeđite na unutarnjih 5 nosača kako biste dovršili komad. U svom programu imam LED položaje ožičene kako je numerički prikazano na slici, pri čemu je 1 prva LED nakon konektora.

Stavite malo električne trake na crvene i plave krajeve kabela. Oni su sekundarni ulazi za napajanje koje nećemo koristiti, već umjesto toga koristite crveno/plavu vezu sa satom/signalnom vezom preko samog kabela.

Korak 10: Stvaranje produžne žice za LED zvijezdu

Stvaranje produžne žice za LED zvijezdu
Stvaranje produžne žice za LED zvijezdu
Stvaranje produžne žice za LED zvijezdu
Stvaranje produžne žice za LED zvijezdu

Slijedi stvaranje kabela od 8 stopa koji će voditi od kućišta do zvijezde na vrhu stabla.

Izrežite 4 komada jednake duljine žice od 8 stopa i na jednom kraju snopa kabela upotrijebite električnu traku ili patentne zatvarače kako bi snop bio zajedno i uredan. Učinite to cijelom dužinom snopa od 4 kabela svakih par centimetara.

Na oba kraja snopa ožičite žice i lemite na JST konektore tako da žica može spojiti jedan kraj s kućištem, a drugi sa zvijezdom. Pazite da odnos žica bude u ispravnom redoslijedu, tako da se plavi/zeleni/žuti/crveni spojevi na drugom kraju kabela podudaraju s utičnicom. Multimetrom provjerite kabel kako biste provjerili je li pravilno ožičen.

Korak 11: Priključite zvijezdu na Pi

Spojite zvijezdu na Pi
Spojite zvijezdu na Pi

Moramo sada stvoriti utičnicu u kućištu za uključivanje zvjezdice/produžne žice.

Crvena = 5 volti

Plava = zemlja

Tako možemo spojiti ove dvije linije na JST konektoru na priključni blok na koji je priključeno napajanje Raspberry Pi.

Druge dvije veze su:

Žuta = Podaci = MOSI = Pin 19

Zeleno = Sat = SCLK = Pin 23

Slijedio sam ožičenje iz AdaFruit vodiča. Odvojite krajeve dva kratkospojna kabela tako da se mogu zalemiti na JST konektor.

Nakon što ste sigurni da će ožičenje dobiti odgovarajuće signale za LED diode, možete pričvrstiti konektor u kućištu radi rasterećenja tako da svako povlačenje produžnog kabela neće istrgnuti skakače iz Pi.

Korak 12: Testirajte LED zvijezdu

Testirajte LED zvijezdu
Testirajte LED zvijezdu
Testirajte LED zvijezdu
Testirajte LED zvijezdu

S LED zvijezdom spojenom na Pi. Pokrenite jednostavan testni program kako biste provjerili radi li osvjetljenje ispravno. Veći dio mog koda prilagođen je vodiču AdaFruit, kao i objavi na forumu na web stranici o prilagodbi koda vodiča LED diodama koje koristimo.

U prilogu ledtest.py zvijezda će polako prelaziti iz čisto plave u čistu crvenu.

Korak 13: Spojite zvučnike, izgradite gornji dio kućišta

Spojite zvučnike, sastavite gornji dio kućišta
Spojite zvučnike, sastavite gornji dio kućišta

Ovdje nema ničeg posebnog, samo priključite zvučnike u zvuk iz Raspberry Pi -a i priključite ih u utičnicu. Jednostavan zvučnik s pogonom s gumbom za podešavanje glasnoće će raditi.

Za gornji dio želio sam moći pogledati u kućište, pa sam na poklopac montirao komad stakla 8,5 x 11 (s okvira za sliku) i na vrhu koristio čičak kako bih mogao po potrebi brzo ukloniti vrh. Veliki dio kućišta ima izložen 110 VAC pa je važno da vrh osigura zaštitu od bilo koga ili bilo čega od slučajnog kontakta.

Korak 14: Spojite rasvjetu na drvo

Spojite rasvjetu na drvo
Spojite rasvjetu na drvo

Odabrao sam raspored kanala na božićnom drvcu kako bih dobio maksimalnu fleksibilnost za generiranje različitih vrsta pokreta/efekata. U prilogu je slika kako sam postavio rasvjetu za 5 bijelih niti. Preostala tri kanala bila su set od dva 100 svjetla svijetle boje: crvena, zelena i plava.

Konkretni produžni kabel koji priključujete na svaki pramen nije kritičan jer u sljedećem koraku mogu prilagoditi mapiranje između GPIO0-7 i svjetla koja se nalaze na stablu.

Korak 15: Učitajte/stvorite glazbu, softver, sekvence…

Image
Image

Na mreži su dostupni brojni sekvenci za božićno svjetlo za Raspberry Pi, ali ja sam kodirao jednostavan od nule. Svi sekvenci generirani su usklađivanjem vremena otkucaja/mjera u Audacityju (uređivač zvuka) prema određenim naredbama mog sekvencera.

rxmas.py

Ovaj će program svake minute nasumično odabrati statički izgled za stablo. Ova skripta se pokreće pri pokretanju Raspberry Pi -a (kroz cron posao) kao zadano ponašanje pri uključivanju jedinice.

xmas.py

Ovo je program za sekvenciranje koji za ulaz uzima datoteku sekvence i MP3

setup.txt

U prethodnom koraku dao sam izgled koji sam koristio za svaki logički kanal. Ova datoteka preslikava svaki stvarni GPIO0-7 u logički kanal. Dakle, u setup.txt koji sam priložio produžni kabel GPIO0 vodi logički kanal 8 (plavo), GPIO1 vodi logički kanal 6 (crveno) itd …

test.mp3 / test.txt

Ovo je jednostavan testni slučaj brojača zvuka brojeva od 1 do 8 s upaljenim ekvivalentnim svjetlosnim žicama

Dakle, za pozivanje ovog primjera upišite:

./xmas.py test.txt test.mp3

carol.txt

Datoteka sekvencera za Božićno Sarajevo, Trans-Siberian Orchestra

LetItGo.txt

Datoteka sekvencera za Let It Go iz Disneyjevog Frozen filma

ruski.txt

Datoteka sekvencera za "Ludi ruski Božić" Trans-Sibirskog orkestra

Očito ćete morati dostaviti svoje datoteke LetItGo.mp3 i carol.mp3! Samo ih kupite kod Amazona.

NAPOMENA: Ugrađeni YouTube videozapis ubrzava se do 110% brzine pa može zvučati pomalo čudno

Neka sjaji!
Neka sjaji!

Prva nagrada u kategoriji Make it Glow!

Preporučeni: