Cuprins:

Spectacol de lumină pentru pomul de Crăciun Raspberry Pi: 15 pași (cu imagini)
Spectacol de lumină pentru pomul de Crăciun Raspberry Pi: 15 pași (cu imagini)

Video: Spectacol de lumină pentru pomul de Crăciun Raspberry Pi: 15 pași (cu imagini)

Video: Spectacol de lumină pentru pomul de Crăciun Raspberry Pi: 15 pași (cu imagini)
Video: 📚 GRIMM'S FAIRY TALES by the Brothers Grimm - FULL AudioBook 🎧📖 | Myths, Legends & Fairy Tales 2024, Noiembrie
Anonim
Image
Image

Actualizare: Am lansat o evoluție actualizată a acestui arbore pentru 2017 la acest

Acest proiect implică utilizarea unui Raspberry Pi pentru a conduce 8 prize de curent alternativ care sunt conectate la seturile de lumini ale pomului de Crăciun. Luminile de curent alternativ sunt fire simple de o singură culoare, dar pentru a oferi o gamă mai dinamică spectacolului de lumini există, de asemenea, o stea LED RGB programabilă de 25. Unul dintre avantajele utilizării Raspberry Pi în locul unui controler Arduino este că pot scoate audio din Raspberry Pi pentru a avea luminile sincronizate cu muzică (ca să nu mai vorbim de avantajul de a avea o conexiune WiFi pentru a lucra la software de la distanță).

Pasul 1: Materiale

Materiale
Materiale

Rețineți că materialele de mai jos sunt ceea ce am folosit pentru acest proiect. În multe cazuri pot fi utilizate părți / soluții alternative.

Iată materialele pe care le-am folosit pentru acest proiect:

Pentru controler:

  1. Raspberry Pi (modelul B este ceea ce am folosit)

    • Card SD
    • Adaptor USB Wifi
  2. SainSmart 8 Channel 5V SSR Module Board - Amazon

    Am evitat releele mecanice, deoarece sunetul de clic al comutatorului va fi audibil în mod vizibil și am mers SSR-uri. Această placă este evaluată până la 2 AMP pe SSR, ceea ce este suficient pentru alimentarea unui șir de lumini de Crăciun

  3. Sârme jumper - Pot fi găsite ieftine pe Ebay
  4. JST SM Plug + Recipiente - Adafruit
  5. Rola de sârmă de 32 ft (sau patru bucăți de sârmă de 8 ft)
  6. Cablu prelungitor x 8
  7. Bloc de distribuție a energiei x 2 - AdaFruit
  8. Cablu de alimentare
  9. Surse de alimentare

    • 5 Volți, 3 Amperi sau mai mare pentru a conduce LED-uri și Pi
    • 5 Volți, 1 Amp sau mai mare pentru a conduce modulul SSR
  10. Incintă
  11. Difuzoare

Pentru vedetă:

  1. LED-uri RGB de 12 mm (Strand de 25) - Cipul AdafruitWS2801 din acest produs permite Pi-ului doar să impulsioneze firul o dată, mai degrabă decât să impulsioneze continuu linia pentru a menține LED-urile iluminate.
  2. Foaie din plastic ABS pentru a menține LED-urile în poziție - Walmart
  3. Foaie Lexan pentru LED-uri difuze - Lowes
  4. Vopsea cu spray negru
  5. Vopsea albă spray
  6. Lemn

Pentru copac:

  1. Alb 100 de fire ușoare x 4
  2. Suport alb de 50 de lumini
  3. Șuviță roșie de 100 de lumini x 2
  4. Suvită verde 100 de lumină x 2
  5. Albastru 100 fire ușoare x 2

Pasul 2: configurați Raspberry Pi

Înainte de a mă scufunda în cabluri, am vrut să pun Pi în funcțiune mai întâi pentru a testa componentele pe măsură ce erau conectate. Această configurare a fost făcută înainte de configurarea carcasei și implică Raspberry Pi conectat prin alimentare USB la un monitor și tastatură. Scopul este de a configura sistemul configurat la punctul de dezvoltare poate continua pe Pi în incintă.

Instalarea implicită Pi nu are bibliotecile necesare pentru a conduce corect LED-urile WS2801 în stea, așa că am instalat sistemul de operare AdaFruit Occidentalis pe Pi.

După instalarea Occidnetalis a fost implicată o mică configurare suplimentară:

1) Configurați Pi pentru a porni la o linie de comandă (nu la interfața GUI)

2) Configurați interfața de rețea fără fir de pe Pi editând / etc / network / interfaces. Asigurați-vă că alegeți o adresă IP statică, astfel încât să vă puteți conecta la o adresă cunoscută pentru a lucra pe Pi

3) Instalați serviciile Telnet și FTP.

4) Instalați Pygame. Biblioteca este utilizată în scripturile python pentru redarea fișierelor MP3 / WAV

Instrucțiunile detaliate pentru instalare / configurare pot fi găsite cu ușurință prin căutări pe internet. Există multe resurse pe Pi online.

După acest punct, pot deconecta orice ieșire video și tastatură, deoarece Pi poate fi conectat de la distanță.

Pasul 3: Începeți configurarea carcasei

Începeți configurarea carcasei
Începeți configurarea carcasei

Nu voi intra în prea multe detalii despre cum să construiți incinta, deoarece este doar o cutie din lemn. Am forat prinderi cu diametrul de 1,5 la capetele incintei. În dreapta este gaura unde se prelungesc toate cablurile de prelungire și cablul stea, iar în stânga este gaura unde se execută banda de alimentare și ieșirea audio.

Primele componente de montat sunt banda de alimentare și Raspberry Pi. Pentru a alimenta Pi folosesc același transformator de 5V pentru a alimenta steaua și Pi (afișat în verde). Din acest motiv, am puterea de a merge la un bloc de borne (evidențiat în alb), unde 5V se bifurcă la cablarea stea și la Pi

Pinul 2 = 5V

Pinul 6 = Masă

Odată conectat, porniți alimentarea, iar Pi ar trebui să pornească și să fie accesibil prin Telnet ca setare la pasul anterior.

Pasul 4: Conectarea Raspberry Pi la modulul de releu

Conectarea Raspberry Pi la modulul de releu
Conectarea Raspberry Pi la modulul de releu

Cu toate opririle (surse de alimentare și Pi), conectați cei 5 volți la cei doi conectori externi ai sursei de alimentare. Am condus acest lucru cu o alimentare dedicată de 5 volți atașată la banda de alimentare. Acest lucru este necesar pentru ca Pi să nu aibă întreaga sarcină de acționare a releului (preocuparea este de 8 relee simultane angajate) și, în schimb, poate conduce doar un tranzistor pentru a conecta puterea externă la releu.

Acum determinați locația GPIO0 prin GPIO7 pe Raspberry Pi. Pe modelul meu B, adică:

GPIO0 = Pinul 11

GPIO1 = Pinul 12

GPIO2 = Pinul 13

GPIO3 = Pinul 15

GPIO4 = Pinul 16

GPIO5 = Pinul 18

GPIO6 = Pinul 22

GPIO7 = Pinul 7

Masă / 0V = Pin 6, Pin 9, Pin 14, Pin 20, Pin 25

Deoarece conexiunea de pe modulul SSR este înșurubată în stâlpi, am tăiat fiecare jumper la dimensiunea corectă pe baza modului în care distanțam componentele. Conectați toate cele 8 canale de intrare, precum și masă de pe Pi pe placă. Cleștele pentru nas ajută la așezarea corectă a jumperilor în antetul Pi.

Fiecare canal are un LED pe modulul SSR care se va aprinde când GPIO se ridică pe Pi. Rulați un program simplu de testare pentru a verifica toate conexiunile, atașate ca test.py, unde fiecare GPIO0-7 este setat la nivel înalt timp de două secunde.

Pasul 5: Tăiați și pregătiți prelungitoarele

Tăiați și pregătiți prelungitoarele
Tăiați și pregătiți prelungitoarele

Pe fiecare cablu prelungitor, tăiați capătul ștecherului, lăsând lungimea maximă disponibilă până la capătul cablului, deoarece acesta va trebui să meargă în vârful copacului. Pe cablu împărțiți capetele firului prin tăierea bucății subțiri de plastic care țin cele două fire împreună. Îndepărtați capetele astfel încât să fie expuse aproximativ 1/4 de sârmă pentru șurubul conectorilor.

Utilizați un marker Sharpie la fiecare capăt al cablului pentru a scrie numerele de la 1 la 8, astfel încât să puteți identifica cu ușurință ce soclu merge la ce canal de pe modulul SSR.

Vom avea nevoie, de asemenea, de o priză și, de asemenea, de câteva fire suplimentare pentru pasul următor, deci fie canibalizați un al 9-lea cablu prelungitor, fie lăsați spațiu suplimentar pe cele 8 cabluri prelungitoare atunci când tăiați capătul prizei.

Pasul 6: Conectarea cablurilor de extensie CA

Conectarea cablurilor de extensie AC
Conectarea cablurilor de extensie AC
Conectarea cablurilor de extensie AC
Conectarea cablurilor de extensie AC

Următorul pas leagă capătul de ieșire al modulului SSR cu 8 prelungitoare. Întrucât cantitatea de fire de aici se poate aglomera foarte ușor, am folosit un dispozitiv de distribuție a energiei electrice și un pistol de bază pentru a încerca să mențin totul la loc.

Cu oprirea, luați capătul mufei tăiate de la pasul anterior și conectați-l la banda de alimentare. Îndepărtați celelalte două capete și conectați-le pe fiecare la blocul de distribuție a energiei de sus și de jos și capsați aceste două conexiuni în jos.

Acum conectați unul dintre prelungitoarele tăiate de la pasul anterior. În cazul meu, am o carcasă cu o gaură de 1,5 diametru pentru ca toate cablurile să curgă, așa că evidențiat în verde este unul dintre cablurile cu un capăt conectat la blocul de distribuție și celălalt la capătul de ieșire al modulului SSR. Pentru a finaliza circuitul, avem nevoie de un fir mult mai scurt (arătat în albastru) care conectează celălalt bloc de distribuție la modulul SSR. Tăiați și capsați pentru a menține totul cât mai curat posibil. scăpați de tensiune, astfel încât orice tragere și tragere atunci când conectați luminile la copac să nu tragă conexiunile din componente. Inutil să spun că, atunci când capsarea nu are capsa perforează firul sau izolația.

Pasul 7: Testați conexiunile AC

Testați conexiunile AC
Testați conexiunile AC
Testați conexiunile AC
Testați conexiunile AC

Mai degrabă decât să conectați șiruri complete de Lumini de Crăciun, am legat lumini de noapte ieftine de 1 USD la fiecare cablu prelungitor pentru a testa și dezvolta animațiile înainte ca pomul să se ridice. Am pictat luminile conectate la corzile care ar controla corzile de lumină Roșu, Verde, Albastru.

Rulați același program de testare folosit pentru a testa modulul SSR și asigurați-vă că fiecare conexiune se aprinde corect.

Cutia de lumini indica faptul că fiecare șir ar atrage 0,34 Amperi, iar pentru luminile colorate urma să înșir două seturi de împreună, care ar trebui să ducă la o extragere totală de 0,68 Amperi. Acest lucru este cu mult sub ratingul SSR, care sunt 75 - 200 VAC la 2 Amperi, cu toate acestea am vrut să verific dublu, deoarece siguranța de pe modulul SSR este lipită pe placa, ceea ce face dificilă înlocuirea.

Pasul 8: Crearea stelei

Crearea stelei
Crearea stelei
Crearea stelei
Crearea stelei
Crearea stelei
Crearea stelei
Crearea stelei
Crearea stelei

Primul pas în crearea stelei este realizarea unui șablon imprimabil pentru a ajuta la modelarea cadrului din lemn și a plasticului. După ce am redimensionat și tipărit șablonul la dimensiunea corespunzătoare, am luat o bucată de lemn de 4,25 "x 0,125" din magazinul de ambarcațiuni și am măsurat distanța necesară pentru fiecare parte a stelei. De fapt, nu am teșit niciunul dintre îmbinări atunci când le tăiam, astfel încât formarea stelei a necesitat sprijin pentru a menține piesele în loc în timpul lipirii.

Așezând șablonul pe suprafața de lucru, am folosit suporturi pentru a ține cele două bucăți de lemn așa cum se arată în maro în imagine. Cu cele două margini ale lemnului atingând, lipiciul a fost aplicat pe ambele părți ale îmbinării. Apoi, luând o bucată subțire de balsa, am decupat un triunghi pentru a repara cele două bucăți împreună și am lipit-o pe stea. Motivul pentru care se folosește balsa este că odată ce steaua este strâns împreună, am reușit să șlefuiesc cu ușurință triunghiul în jos pentru a se potrivi cu conturul stelei, arătat încercuit în imaginea stelei.

Datorită metodei de construcție, a trebuit să aștept câteva ore pe fiecare îmbinare pentru ca adezivul să se usuce înainte de a trece la următoarea îmbinare.

Odată ce s-a format întreaga stea, folosesc spackle de gips-carton pentru a acoperi golurile unde două bucăți de lemn s-au întâlnit la vârfurile stelei.

Am lipit apoi niște dopuri mici în jurul interiorului stelei pentru a ajuta la fixarea ansamblului LED-ului atunci când este introdus, evidențiat cu un dreptunghi. Nu cred că sunt de fapt necesare, deoarece gravitația face o treabă de a ține ansamblul LED în poziție.

Așezați steaua asamblată în partea de sus a foii Lexan, urmăriți forma stelei și decupați steaua din Lexan. După tăierea stelei Lexan, verificați dacă se încadrează în cadrul din lemn, apoi aplicați 2 straturi de vopsea albă spray pe o parte a Lexan și lăsați să se usuce timp de 24 de ore. Acest lucru permite difuzarea LED-urilor, precum și ascunderea lor de la vedere.

Pentru a ascunde capacul dintre steaua Lexan și rama din lemn am folosit o fâșie mică de 0,25 "din lemn de balsa și am tăiat-o în formă și am" acoperit "cadrul astfel încât balsa să acopere golul.

În cele din urmă, a adăugat un stick / diblu pentru a ajuta la atașarea stelei la vârful copacului.

Pasul 9: Creați montarea cu LED-uri

Creați montarea cu LED-uri
Creați montarea cu LED-uri
Creați montarea cu LED-uri
Creați montarea cu LED-uri

Folosind același șablon pentru a forma steaua de lemn, decupați foaia de plastic ABS la dimensiune, dar puțin mai mică pentru a putea introduce în steaua de lemn. Testați că se potrivește bine în interiorul stelei de lemn.

Apoi, folosind în continuare șablonul cu locații de găuri, găuriți cele 25 de găuri LED. LED-urile de la AdaFruit au o flanșă din silicon la exterior, astfel încât să se monteze perfect în găuri găurite la 12 mm. În imagine puteți vedea flanșa și am folosit o linie verde pentru a indica locul în care plasticul ABS ar fi cuplat flanșa pentru a menține LED-ul în poziție.

Începeți pe unul dintre sfaturi și lucrați în jurul exteriorului stelei, apoi treceți la cele 5 suporturi interioare pentru a finaliza piesa. În programul meu, pozițiile LED sunt cablate așa cum se arată numeric în imagine, 1 fiind primul LED după conector.

Aplicați o bandă electrică la capetele roșii și albastre ale cablului. Sunt intrări secundare pentru alimentare pe care nu le vom folosi și, în schimb, folosesc conexiunea roșie / albastră cu conexiunea ceas / semnal prin cablu.

Pasul 10: Crearea firului de extensie pentru LED Star

Crearea firului de extensie pentru LED Star
Crearea firului de extensie pentru LED Star
Crearea firului de extensie pentru LED Star
Crearea firului de extensie pentru LED Star

Următorul este crearea unui cablu de 8 ft pentru a rula de la incintă la steaua din vârful copacului.

Tăiați 4 bucăți de sârmă de 8 ft cu lungime egală și pe un capăt al pachetului de cabluri folosiți fie bandă electrică, fie legături cu fermoar pentru a menține pachetul împreună și îngrijit. Faceți acest lucru pe toată lungimea pachetului de 4 cabluri la fiecare câțiva centimetri.

La ambele capete ale fasciculului de benzi firele și lipirea la conectorii JST, astfel încât firul să poată conecta un capăt la incintă și celălalt la stea. Asigurându-vă că păstrați poziția relativă a firelor în ordinea corectă, astfel încât, atunci când sunt conectate la stea, conexiunile Albastru / Verde / Galben / Roșu să se potrivească la celălalt capăt al cablului. Folosiți un multimetru pentru a verifica cablul pentru a vă asigura că este bine conectat.

Pasul 11: conectați steaua la Pi

Conectați steaua la Pi
Conectați steaua la Pi

Acum trebuie să creăm priza din incintă pentru a conecta firul stea / extensie.

Roșu = 5 volți

Albastru = Ground

Deci, putem conecta aceste două linii pe conectorul JST la blocul de borne la care este conectată puterea Raspberry Pi.

Celelalte două conexiuni sunt:

Galben = Date = MOSI = Pin 19

Verde = Ceas = SCLK = Pinul 23

Am urmat cablarea din tutorialul AdaFruit. Decupați capetele a două cabluri jumper astfel încât să poată fi lipite pe conectorul JST.

Odată ce sunteți sigur că cablajul va primi semnalele corespunzătoare către LED-uri, puteți stabili conectorul din carcasă pentru a reduce tensiunea, astfel încât orice tragere a cablului prelungitor să nu smulgă jumperii din Pi.

Pasul 12: Testați LED Star

Testați LED Star
Testați LED Star
Testați LED Star
Testați LED Star

Cu steaua LED conectată la Pi. Rulați un program simplu de testare pentru a verifica dacă iluminatul funcționează corect. O mare parte din codul meu este adaptat din tutorialul AdaFruit, precum și dintr-o postare pe forum pe site-ul web despre adaptarea codului tutorial pentru a se potrivi cu LED-urile pe care le folosim..

Ledtest.py atașat va face steaua să se transforme încet de la albastru pur la roșu pur.

Pasul 13: Conectați difuzoarele, construiți un top al carcasei

Conectați difuzoarele, construiți un top al carcasei
Conectați difuzoarele, construiți un top al carcasei

Nimic special aici, doar atașați difuzoarele la sunetul din Raspberry Pi și conectați-le la banda de alimentare. Va funcționa un difuzor alimentat simplu, cu buton de reglare a volumului.

Pentru partea de sus am vrut să mă pot uita în incintă, așa că am montat o bucată de sticlă de 8,5 x 11 (dintr-o ramă) pe capac și am folosit Velcro pe partea superioară, astfel încât să pot scoate rapid partea superioară, dacă este necesar. O mare parte a incintei are 110 VCA expuse, deci este important ca partea de sus să ofere protecție împotriva oricui sau a oricărui lucru de la contactul accidental.

Pasul 14: Conectați iluminatul la copac

Conectați iluminatul la copac
Conectați iluminatul la copac

Am selectat aspectul canalelor de pe Pomul de Crăciun pentru a-mi oferi flexibilitatea maximă pentru a genera diferite tipuri de mișcare / efecte. Atașat este o imagine a modului în care am așezat iluminatul pentru cele 5 fire albe. Celelalte trei canale erau fiecare un set de două lumini de 100 de culori deschise: roșu, verde, albastru.

Cablul de extensie special pe care îl conectați la fiecare fir nu este critic, deoarece în pasul următor pot personaliza maparea dintre GPIO0-7 și ce lumini sunt pe copac.

Pasul 15: Încărcați / creați muzică, software, secvențe…

Image
Image

Există numeroase secvențe de lumină de Crăciun disponibile online pentru Raspberry Pi, dar am codificat unul simplu de la zero. Toate secvențele au fost generate prin alinierea sincronizărilor ritmurilor / măsurilor în Audacity (editor audio) la anumite comenzi ale secvențierului meu.

rxmas.py

Acest program va alege în mod aleatoriu un aspect static pentru copac în fiecare minut. Am acest script care rulează la pornirea Raspberry Pi (printr-un job cron) ca comportament implicit atunci când conectați unitatea.

xmas.py

Acesta este programul sequencer, care preia un fișier de secvență și un MP3 ca intrări

setup.txt

În pasul anterior, am furnizat aspectul pe care l-am folosit pentru fiecare canal logic. Acest fișier mapează fiecare GPIO0-7 real la canalul logic. Deci, în setup.txt pe care l-am atașat, cablul de extensie GPIO0 conduce canalul logic 8 (albastru), GPIO1 conduce canalul logic 6 (roșu), etc …

test.mp3 / test.txt

Acesta este un caz simplu de testare a numărului audio de numere de la 1 la 8 cu șiruri de lumină echivalente aprinse

Deci, pentru a invoca acest tip de exemplu:

./xmas.py test.txt test.mp3

carol.txt

Fișierul secvențiator pentru Crăciunul Sarajevo de Trans-Siberian Orchestra

LetItGo.txt

Fișierul secvențial pentru Let It Go din Disney's Frozen Movie

rus.txt

Fișierul secvențial pentru „Crăciunul unui nebun rus” de Trans-Siberian Orchestra

Va trebui să furnizați propriile fișiere LetItGo.mp3 și carol.mp3, evident! Doar cumpărați-le de pe Amazon.

NOTĂ: Videoclipul YouTube încorporat are o viteză de până la 110%, astfel încât poate suna puțin ciudat

Fă-o să strălucească!
Fă-o să strălucească!

Primul premiu la Make it Glow!

Recomandat: