Indholdsfortegnelse:
- Trin 1: Materialer
- Trin 2: Konfigurer Raspberry Pi
- Trin 3: Start opsætning af kabinettet
- Trin 4: Tilslutning af Raspberry Pi til relæmodulet
- Trin 5: Klip og forbered forlængerledninger
- Trin 6: Tilslutning af AC -forlængerledninger
- Trin 7: Test AC -tilslutningerne
- Trin 8: Oprettelse af stjernen
- Trin 9: Opret LED -monteringen
- Trin 10: Oprettelse af forlængerledning til LED -stjernen
- Trin 11: Koble stjernen til Pi
- Trin 12: Test LED -stjernen
- Trin 13: Tilslut højttalerne, byg en kabinetstop
- Trin 14: Tilslut belysningen til træet
- Trin 15: Indlæs/Opret musik, software, sekvenser…
Video: Raspberry Pi Christmas Tree Light Show: 15 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Opdatering: Jeg har lagt en opdateret udvikling af dette træ ud for 2017 på dette instruerbare
Dette projekt indebærer at bruge en Raspberry Pi til at drive 8 stikkontakter, der er forbundet til juletræets lyssæt. AC -lysene er enkle lysfarve i en farve, men for at give lysshowet et mere dynamisk område er der også en 25 programmerbar RGB LED -stjerne. En af fordelene ved at bruge Raspberry Pi i stedet for en Arduino -controller er, at jeg kan køre lyden ud af Raspberry Pi for at få lyset til at blive timet med musik (for ikke at nævne fordelen ved at have en WiFi -forbindelse til at arbejde på softwaren eksternt).
Trin 1: Materialer
Husk, at materialerne herunder er, hvad jeg brugte til dette projekt. I mange tilfælde kan alternative dele/løsninger bruges.
Her er de materialer, jeg brugte til dette projekt:
For controlleren:
-
Raspberry Pi (B -model er, hvad jeg brugte)
- SD kort
- USB Wifi adapter
-
SainSmart 8 Channel 5V SSR Modul Board - Amazon
Jeg undgik de mekaniske relæer, da klikkerens lyd lyder mærkbart og gik til SSR'er. Dette bord er klassificeret op til 2 AMP pr. SSR, hvilket er nok til at drive en række julelys
- Jumperwires - Findes billigt på Ebay
- JST SM Plug + Beholder - Adafruit
- 32ft trådrulle (eller fire 8 ft trådstykker)
- Forlængerledning x 8
- Strømfordelingsblok x 2 - AdaFruit
- Power Strip
-
Strømforsyninger
- 5 volt, 3 ampere eller større til at drive lysdioder og Pi
- 5 volt, 1 ampere eller større for at drive SSR -modul
- Kabinet
- Højttalere
Til stjernen:
- 12 mm RGB LED'er (streng på 25) - AdafruitWS2801 -chip i dette produkt gør det muligt for Pi bare at pulsere strengen en gang i stedet for kontinuerligt at pulsere linjen for at holde LED'erne oplyste.
- Plast ABS -ark til at holde lysdioder på plads - Walmart
- Lexan -ark til diffuse lysdioder - Lowes
- Sort spraymaling
- Hvid spraymaling
- Træ
Til træet:
- Hvid 100 lys streng x 4
- Hvid 50 lys streng
- Rød 100 lys streng x 2
- Grøn 100 lys streng x 2
- Blå 100 lyse tråde x 2
Trin 2: Konfigurer Raspberry Pi
Inden jeg dykkede ned i ledningerne, ville jeg først få Pi'en til at køre for at teste komponenterne, da de var forbundet. Denne opsætning blev udført før opsætningen af kabinettet og involverer Raspberry Pi forbundet via USB -strøm til en skærm og et tastatur. Målet er at få systemet konfigureret til det punkt, udviklingen kan fortsætte på Pi i kabinettet.
Standard Pi -installationen har ikke de biblioteker, der er nødvendige for korrekt at køre WS2801 -lysdioderne i stjernen, så jeg installerede AdaFruit Occidentalis -operativsystem på Pi.
Efter Occidnetalis -installationen var der involveret lidt ekstra opsætning:
1) Konfigurer Pi til at starte til et kommandoprompt (ikke GUI -grænsefladen)
2) Konfigurer det trådløse netværksinterface på Pi ved at redigere/etc/network/interfaces. Sørg for at vælge en statisk IP-adresse, så du kan logge ind på en kendt adresse for at arbejde på Pi
3) Installer Telnet og FTP -tjenester.
4) Installer Pygame. Biblioteket bruges i python -scripts til afspilning af MP3/WAV -filer
Detaljerede instruktioner til installation/opsætning kan let findes via internetsøgninger. Der findes masser af ressourcer på Pi online.
Efter dette punkt kan jeg afbryde enhver video ud og tastatur, fordi Pi kan være dig, du kan logge ind eksternt.
Trin 3: Start opsætning af kabinettet
Jeg vil ikke gå ind på mange detaljer om, hvordan man bygger kabinettet, da det bare er en kasse lavet af træ. Jeg borede 1,5 diameter holder i enderne af kabinettet. Til højre er hullet, hvor alle forlængerledninger og stjernekabel løber ud, og venstre er hullet, hvor strømstik og lydudgang køres.
De første komponenter, der skal monteres, er strømstik og Raspberry Pi. For at drive Pi bruger jeg den samme 5V transformer til at drive stjernen og Pi (vist med grønt). På grund af dette har jeg strømmen til at gå til en terminalblok (fremhævet hvid), hvor 5V gafler til stjerneledningerne og til Pi
Pin 2 = 5V
Pin 6 = Jord
Når den er tilsluttet, tænd for strømmen, og Pi skal starte op og være tilgængelig via Telnet som opsætning i det foregående trin.
Trin 4: Tilslutning af Raspberry Pi til relæmodulet
Med alle strømafbrydelser (strømforsyninger og Pi) tilsluttes de 5 volt til de nederste to eksterne strømkildestik. Jeg kørte dette med en dedikeret 5 Volt forsyning tilsluttet strømstikket. Dette er for at Pi ikke har hele belastningen med at køre relæet (bekymringen er 8 samtidige relæer aktiveret) og i stedet bare kan drive en transistor for at aktivere ekstern strøm til relæet.
Bestem nu placeringen af GPIO0 til og med GPIO7 på Raspberry Pi. På min B-model er det:
GPIO0 = Pin 11
GPIO1 = Pin 12
GPIO2 = Pin 13
GPIO3 = Pin 15
GPIO4 = Pin 16
GPIO5 = Pin 18
GPIO6 = Pin 22
GPIO7 = Pin 7
Jord/0V = Pin 6, Pin 9, Pin 14, Pin 20, Pin 25
Da forbindelsen på SSR -modulet er skruet i stolper, trimmede jeg hver jumper til den korrekte størrelse baseret på, hvordan jeg fordelte komponenterne. Tilslut alle 8 input -kanaler samt jord fra Pi'en til kortet. Nålestang hjælper med at sætte jumperne korrekt i Pi -headeren.
Hver kanal har en LED på SSR -modulet, der lyser, når GPIO går højt på Pi. Kør et simpelt testprogram for at kontrollere alle forbindelser, vedhæftet som test.py, hvor hver GPIO0-7 er sat højt i to sekunder.
Trin 5: Klip og forbered forlængerledninger
Skær stikproppen af på hver forlængerledning, og lad den maksimale tilgængelige længde ligge til den afslutte ende af ledningen, da den muligvis skal gå til toppen af træet. På ledningen splittede enderne af ledningen fra hinanden ved at skære det tynde stykke plast, der holdt de to ledninger sammen. Fjern nu enderne, så ca. 1/4 ledning udsættes for skruen på stik.
Brug en Sharpie -markør i hver ende med en ende af ledningen til at skrive tallene 1 til 8, så du let kan identificere, hvilken stik der går til hvilken kanal på SSR -modulet.
Vi har også brug for et stik og også en ekstra ledning til det næste trin, så enten kannibaliser en 9. forlængerledning eller efterlad noget ekstra plads på de 8 forlængerledninger, når du afbryder stikenden.
Trin 6: Tilslutning af AC -forlængerledninger
Næste trin hooks outputenden af SSR -modulet med 8 forlængerledninger. Da mængden af ledninger her meget let kan blive rodet, brugte jeg en strømfordelingsbock og en hæftepistol til at prøve at holde alt på plads.
Når strømmen er slukket, skal du tage den afskårne stikende fra det foregående trin og tilslutte den til strømstikket. Fjern de to andre ender, og slut hver til den øverste og nederste strømfordelingsblok, og hæft disse to forbindelser ned.
Tilslut nu en af de afskårne forlængerledninger fra det foregående trin. I mit tilfælde har jeg et kabinet med et hul på 1,5 diameter, så alle ledninger kan strømme ud, så markeret med grønt er en af ledningerne med den ene ende forbundet til fordelingsblokken og den anden til SSR -modulets outputende. For at fuldføre kredsløbet har vi brug for en meget kortere ledning (vist i blåt), der forbinder den anden fordelingsblok med SSR -modulet. Trim og hæft for at holde alt så pænt som muligt. Ikke kun holder hæftningen tingene pæne, men det tjener også en trækaflastning, så enhver slæbning og trækning, når lysene tilsluttes træet, ikke vil trække forbindelserne ud af komponenterne. Naturligvis skal hæfteklammer ikke gennembore tråden eller isoleringen ved hæftning.
Trin 7: Test AC -tilslutningerne
I stedet for at tilslutte hele strengen med julelys tilsluttede jeg billige $ 1 natlys til hver forlængerledning for at teste og udvikle animationerne, før træet var oppe. Jeg malede lysene forbundet til ledningerne, der ville styre de røde, grønne, blå lysstrenge.
Kør det samme testprogram, der bruges til at teste SSR -modulet, og sørg for, at hver forbindelse lyser korrekt.
Lysboksen angav, at hver streng ville trække 0,34 ampere, og for de farvede lys ville jeg snore to sæt sammen, hvilket skulle resultere i en samlet trækning på 0,68 ampere. Dette er et godt stykke under SSR -værdien, som er 75 - 200 VAC ved 2 ampere, men jeg ville gerne dobbelttjekke, da sikringen på SSR -modulet er loddet til brættet, hvilket gør det svært at udskifte.
Trin 8: Oprettelse af stjernen
Det første trin i at skabe stjernen er at lave en udskrivbar skabelon, der hjælper med at forme trærammen og plasten. Efter skalering og udskrivning af skabelonen i den passende størrelse tog jeg et stykke 4,25 "x 0,125" træ fra håndværksbutikken og målte den nødvendige afstand til hver side af stjernen. Jeg fasede faktisk ikke nogen af samlingerne, da jeg skar dem, så stjernen skulle understøttes for at holde stykkerne på plads, mens de limede.
Ved at placere skabelonen ned på arbejdsfladen brugte jeg understøtninger til at holde de to træstykker på plads som vist i brunt på billedet. Med træets to kanter rørende blev der påført lim på hver side af fugen. Derefter tog jeg et tyndt stykke balsa og skar en trekant ud for at reparere de to stykker sammen og limede det på stjernen. Grunden til at bruge balsa er, at når først stjernen er solidt sammen, var jeg let i stand til at slibe trekanten ned for at matche stjernens kontur, vist cirkelformet i stjernens billede.
På grund af konstruktionsmetoden måtte jeg vente et par timer på hver samling, før limen tørrede, før jeg flyttede til den næste samling.
Når hele stjernen var dannet, bruger jeg gipsvægspackel til at dække hullerne, hvor to træstykker mødtes ved stjernens spidser.
Jeg limede derefter nogle små propper rundt om indersiden af stjernen for at hjælpe med at sætte LED -enheden på plads, når den indsættes, fremhævet med et rektangel. Jeg tror ikke, at de faktisk er nødvendige, da tyngdekraften gør et stykke arbejde med at holde LED -enheden på plads.
Læg den samlede stjerne oven på Lexan -arket, spor stjernens form og skær stjernen ud af Lexan. Efter at have skåret Lexan -stjernen, skal du kontrollere, at den passer ind i trærammen, og derefter påføre 2 lag hvid spraymaling på den ene side af Lexan og lade tørre i 24 timer. Dette gør det muligt for LED'erne at diffundere samt skjule dem for syn.
For at skjule hætten mellem Lexan -stjernen og trærammen brugte jeg en lille 0,25 "strimmel balsatræ og skar den for at forme og" dække "rammen, så balsaen dækkede hullet.
Til sidst tilføjet en pind/dyvel for at hjælpe med at fastgøre stjernen til træets top.
Trin 9: Opret LED -monteringen
Brug den samme skabelon til at danne træstjernen, skær ABS -plastpladen ud i størrelse, men lidt mindre for at kunne indsættes inde i træstjernen. Test, at den sidder godt inde i træstjernen.
Brug derefter skabelonen med huller til at bore de 25 LED -huller. Lysdioderne fra AdaFruit har en silikone flange uden på dem, så de monteres perfekt i huller boret med 12 mm. På billedet kan du se flangen, og jeg har brugt en grøn linje til at angive, hvor ABS -plasten ville gribe ind i flangen for at holde LED'en på plads.
Start på en af spidserne, og arbejd omkring stjernens yderside, og flyt derefter til de inderste 5 beslag for at fuldføre stykket. I mit program har jeg LED -positionerne forbundet som vist numerisk på billedet, hvor 1 er den første LED efter stikket.
Påfør noget elektrisk tape på de røde og blå ender af kablet. De er sekundære input til strøm, som vi ikke vil bruge, og i stedet bruger den rød/blå forbindelse med uret/signalforbindelsen over selve kablet.
Trin 10: Oprettelse af forlængerledning til LED -stjernen
Næste er at oprette et 8 ft kabel til at køre fra kabinettet til stjernen øverst på træet.
Skær 4 stykker af lige længde på 8 ft wire, og brug i den ene ende af kabelbundtet enten elektrisk tape eller lynlåse til at holde bundtet sammen og pænt. Gør dette ned i hele længden af de 4 kabelbundter hvert par centimeter.
I hver ende af bundtet strimler ledningerne og loddet til JST -stik, så ledningen kan forbinde den ene ende til kabinettet og den anden til stjernen. Sørg for at holde ledningernes relative position i den rigtige rækkefølge, så når de tilsluttes stjernen, matcher de blå/grønne/gule/røde forbindelser i den anden ende af kablet. Brug et multimeter til at kontrollere kablet for at sikre, at det er korrekt forbundet.
Trin 11: Koble stjernen til Pi
Vi skal nu oprette beholderen i kabinettet, hvor stjernen/forlængerledningen kan tilsluttes.
Rød = 5 volt
Blå = Jord
Så vi kan forbinde disse to linjer på JST -stikket til terminalblokken, som Raspberry Pi er forbundet med.
De to andre forbindelser er:
Gul = Data = MOSI = Pin 19
Grøn = Ur = SCLK = Pin 23
Jeg fulgte ledningerne fra AdaFruit's tutorial. Fjern derfor enderne af to jumperkabler, så de kan loddes på JST -stikket.
Når du er sikker på, at ledningerne får de korrekte signaler til lysdioderne, kan du stabilisere stikket i kabinettet til aflastning, så enhver slæbning på forlængerkablet ikke vil rive springerne ud af Pi.
Trin 12: Test LED -stjernen
Med LED -stjernen forbundet til Pi. Kør et simpelt testprogram for at kontrollere, at belysningen fungerer korrekt. Meget af min kode er tilpasset fra AdaFruit Tutorial samt et forumindlæg på webstedet om tilpasning af tutorial -koden, så den passer til de lysdioder, vi bruger..
Den vedhæftede ledtest.py får stjernen til langsomt at vende sig fra ren blå til ren rød.
Trin 13: Tilslut højttalerne, byg en kabinetstop
Intet særligt her, bare tilslut højttalerne til lyden fra Raspberry Pi, og tilslut dem til strømstikket. En simpel højttaler med lydstyrke kan justeres.
Til toppen ville jeg gerne se ind i kabinettet, så jeg monterede et stykke 8,5 x 11 glas (fra en billedramme) til låget og brugte velcro på toppen, så jeg hurtigt kunne fjerne toppen, hvis det var nødvendigt. En stor del af kabinettet er udsat for 110 VAC, så det er vigtigt for toppen at give beskyttelse mod nogen eller noget mod utilsigtet kontakt.
Trin 14: Tilslut belysningen til træet
Jeg valgte kanalernes layout på juletræet for at give mig den maksimale fleksibilitet til at generere forskellige former for bevægelse/effekter. Vedhæftet er et billede af, hvordan jeg lagde belysningen til de 5 hvide tråde. De resterende tre kanaler var hver et sæt af to 100 lyse lys: Rød, Grøn, Blå.
Den særlige forlængerledning, som du tilslutter til hver streng, er ikke kritisk, da jeg i det næste trin kan tilpasse kortlægningen mellem GPIO0-7 og hvilke lys der er på træet.
Trin 15: Indlæs/Opret musik, software, sekvenser…
Der er adskillige julelys -sequencere tilgængelige online til Raspberry Pi, men jeg kodede en simpel fra bunden. Alle sekvenserne blev genereret ved at justere timinger af beats/målinger i Audacity (lydredaktør) til bestemte kommandoer til min sequencer.
rxmas.py
Dette program vælger tilfældigt et statisk layout til træet hvert minut. Jeg har dette script kørende ved opstart af Raspberry Pi (gennem et cron -job) som standardadfærd ved tilslutning af enheden.
xmas.py
Dette er sequencer -programmet, der tager en sekvensfil og en MP3 som input
setup.txt
I det foregående trin gav jeg det layout, jeg brugte til hver logisk kanal. Denne fil tilknytter hver egentlig GPIO0-7 til den logiske kanal. Så i setup.txt, jeg har vedhæftet, driver GPIO0s forlængerledning den logiske kanal 8 (blå), GPIO1 driver den logiske kanal 6 (rød) osv …
test.mp3 / test.txt
Dette er et simpelt testtilfælde for et lydtælling fra numrene 1 til 8 med de tilsvarende lysstrenge tændt
Så for at påberåbe denne eksempeltype:
./xmas.py test.txt test.mp3
carol.txt
Sequencerfilen til jul Sarajevo af Trans-Siberian Orchestra
LetItGo.txt
Sequencerfilen til Let It Go fra Disneys Frozen Movie
russisk.txt
Sequencerfilen til "A Mad Russian's Christmas" af Trans-Siberian Orchestra
Du bliver naturligvis nødt til at levere dine egne LetItGo.mp3- og carol.mp3 -filer! Bare køb dem fra Amazon.
BEMÆRK: Den indlejrede YouTube -video hastighed op til 110% hastighed, så det kan lyde lidt underligt
Første præmie i Make it Glow!
Anbefalede:
Christmas Light Show synkroniseret med musik !: 4 trin
Julelysshow synkroniseret med musik !: I denne instruktive vil jeg vise dig, hvordan du laver et julelysshow synkroniseret med julemusik ved hjælp af RGB -pixels. Lad ikke det navn skræmme dig! Det er ikke for svært at lære at gøre dette. Jeg vil dog advare dig om, at dette kan være ganske
Rgb Pixel Christmas Light Show Del 1: 7 trin
Rgb Pixel Christmas Light Show Del 1: I denne instruktør vil jeg vise dig, hvordan du opbygger et RGB pixel light show. Der er MEGET at dække. Faktisk vil jeg sandsynligvis dele dette op i omkring 3-5 forskellige instrucables. Denne kommer til at handle om det grundlæggende. Du læser meget
Rgb Pixel Christmas Light Show Del 2: Xlights: 7 trin
Rgb Pixel Christmas Light Show Del 2: Xlights: I denne instruktør vil jeg vise dig, hvordan du sekventerer din første sang. Nu, hvis du ikke så del 1, anbefaler jeg dig at tjekke det ud her. Når du nu bygger og programmerer et julelysshow, vil du 75% af tiden være i din sequencer
Rgb Pixel Christmas Light Show Del 3: Falcon Player (fpp): 8 trin
Rgb Pixel Christmas Light Show Del 3: Falcon Player (fpp): I denne uforgængelige vil jeg vise dig, hvordan du konfigurerer Falcon player, som er en show player, på en hindbær pi. Hvis du vil se del 1 i denne serie, klik her og klik her for del 2 med xlights. Så hvad er falcon player? Det tager dybest set
Breathing Christmas Tree - Arduino Christmas Light Controller: 4 trin
Breathing Christmas Tree-Arduino Christmas Light Controller: Det er ikke en god nyhed, at kontrolboksen til mit 9 ft lange oplyste kunstige juletræ gik i stykker før jul , og producenten leverer ikke reservedele. Denne uigennemskuelige viser, hvordan du får din egen LED -lysdriver og controller til at bruge Ar