Innehållsförteckning:

Raspberry Pi Christmas Tree Light Show: 15 steg (med bilder)
Raspberry Pi Christmas Tree Light Show: 15 steg (med bilder)

Video: Raspberry Pi Christmas Tree Light Show: 15 steg (med bilder)

Video: Raspberry Pi Christmas Tree Light Show: 15 steg (med bilder)
Video: Can You Reattach a Severed Finger? 🤔 2024, November
Anonim
Image
Image

Uppdatering: Jag har lagt ut en uppdaterad utveckling av detta träd för 2017 på denna instruerbara

Detta projekt innebär att man använder en Raspberry Pi för att driva 8 nätuttag som är anslutna till julgranslampor. AC -lamporna är enkla enfärgade ljussträngar, men för att ge ett mer dynamiskt omfång till ljusshowen finns det också en 25 programmerbar RGB LED -stjärna. En av fördelarna med att använda Raspberry Pi istället för en Arduino -kontroller är att jag kan driva ljudet ur Raspberry Pi för att få lamporna att timas med musik (för att inte tala om fördelen med att ha en WiFi -anslutning för att arbeta med programvaran på distans).

Steg 1: Material

Material
Material

Tänk på att materialen nedan är vad jag använde för detta projekt. I många fall kan alternativa delar/lösningar användas.

Här är materialen jag använde för detta projekt:

För regulatorn:

  1. Raspberry Pi (B -modell är vad jag använde)

    • SD-kort
    • USB Wifi -adapter
  2. SainSmart 8 Channel 5V SSR Modulkort - Amazon

    Jag undvek de mekaniska reläerna eftersom klickljudet från omkopplaren kommer att märkas märkbart och gick till SSR. Denna bräda är upp till 2 AMP per SSR vilket är tillräckligt för att driva en rad julbelysning

  3. Tröjor - Finns billigt på Ebay
  4. JST SM Plug + Behållare - Adafruit
  5. 32ft trådrulle (eller fyra trådar på 8 fot)
  6. Förlängningssladd x 8
  7. Kraftfördelningsblock x 2 - AdaFruit
  8. Strömlist
  9. Nätaggregat

    • 5 volt, 3 ampere eller högre för att driva lysdioder och Pi
    • 5 volt, 1 ampere eller högre för att driva SSR -modulen
  10. Inhägnad
  11. Högtalare

För stjärnan:

  1. 12 mm RGB -lysdioder (sträng på 25) - AdafruitWS2801 -chip i denna produkt gör att Pi bara måste pulsa strängen en gång istället för att kontinuerligt pulsera linjen för att hålla lysdioderna upplysta.
  2. Plast ABS -ark för att hålla lysdioderna på plats - Walmart
  3. Lexan -ark för diffusa lysdioder - Lowes
  4. Svart sprayfärg
  5. Vit sprayfärg
  6. Trä

För trädet:

  1. Vit 100 ljussträng x 4
  2. Vit 50 ljussträng
  3. Röd 100 ljussträng x 2
  4. Grön 100 ljussträng x 2
  5. Blå 100 ljussträngar x 2

Steg 2: Konfigurera Raspberry Pi

Innan jag dök in i ledningarna ville jag få igång Pi först och testa komponenterna när de var anslutna. Denna inställning gjordes innan installationen av höljet och involverar Raspberry Pi ansluten via USB -ström till en bildskärm och tangentbord. Målet är att få systemet konfigurerat så att utvecklingen kan fortsätta på Pi i höljet.

Standard Pi -installationen har inte de bibliotek som behövs för att korrekt driva WS2801 -lysdioderna i stjärnan så jag installerade AdaFruit Occidentalis -operativsystem på Pi.

Efter Occidnetalis -installationen ingick lite extra installation:

1) Konfigurera Pi för att starta till en kommandotolk (inte GUI -gränssnittet)

2) Konfigurera det trådlösa nätverksgränssnittet på Pi genom att redigera/etc/network/interfaces. Se till att välja en statisk IP-adress så att du kan logga in på en känd adress för att arbeta med Pi

3) Installera Telnet- och FTP -tjänster.

4) Installera Pygame. Biblioteket används i python -skript för att spela MP3/WAV -filer

Detaljerade instruktioner för installation/installation kan enkelt hittas genom internetsökningar. Det finns gott om resurser på Pi online.

Efter denna punkt kan jag koppla bort alla videor och tangentbord eftersom Pi kan vara du kan logga in på distans.

Steg 3: Börja konfigurera höljet

Börja konfigurera höljet
Börja konfigurera höljet

Jag kommer inte att gå in på detaljer om hur man bygger höljet eftersom det bara är en låda av trä. Jag borrade 1,5 diameter håller i ändarna av höljet. Till höger är hålet där alla förlängningssladdar och stjärnkabel rinner ut och vänster är hålet där eluttaget och ljudutgången körs.

De första komponenterna som ska monteras är power strip och Raspberry Pi. För att driva Pi använder jag samma 5V transformator för att driva stjärnan och Pi (visas i grönt). På grund av detta har jag ström till ett kopplingsplint (markerat vitt) där 5V gafflar till stjärnledningen och till Pi

Stift 2 = 5V

Stift 6 = mark

När den är ansluten, slå på strömmen och Pi ska starta upp och vara åtkomlig via Telnet som inställning i föregående steg.

Steg 4: Anslut Raspberry Pi till relämodulen

Anslut Raspberry Pi till relämodulen
Anslut Raspberry Pi till relämodulen

Med all strömavstängning (strömförsörjning och Pi), anslut de 5 volt till de två nedre externa strömkällans kontakter. Jag körde den här med en dedikerad 5 Volt -strömförsörjning ansluten till eluttaget. Detta är så att Pi inte har hela belastningen på att köra reläet (bekymret är 8 samtidiga reläer inkopplade) och istället bara kan driva en transistor för att koppla in extern ström till reläet.

Bestäm nu platsen för GPIO0 till och med GPIO7 på Raspberry Pi. På min B-modell är 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

Mark/0V = Stift 6, Stift 9, Stift 14, Stift 20, Stift 25

Eftersom anslutningen på SSR -modulen är skruvad i stolpar trimmade jag varje bygel till rätt storlek baserat på hur jag fördelade komponenterna. Anslut alla 8 ingångskanaler samt jord från Pi till kortet. Nåltång hjälper till att placera hopparna ordentligt i Pi -rubriken.

Varje kanal har en lysdiod på SSR -modulen som tänds när GPIO går högt på Pi. Kör ett enkelt testprogram för att kontrollera alla anslutningar, bifogade som test.py, där varje GPIO0-7 är högt i två sekunder.

Steg 5: Klipp och förbered förlängningssladdar

Klipp ut och förbered förlängningssladdar
Klipp ut och förbered förlängningssladdar

Skär av pluggänden på varje förlängningssladd och lämna den maximala tillgängliga längden till sladdänden av sladden eftersom den eventuellt måste gå till toppen av trädet. På sladden splittrade trådändarna isär genom att skära den tunna plastbiten som höll ihop de två trådarna. Dra sedan av ändarna så att cirka 1/4 tum ledning exponeras för skruven på kontakterna.

Använd en Sharpie -markör i varje ände av kabeländen på sladden för att skriva siffrorna 1 till 8 så att du enkelt kan identifiera vilket uttag som går till vilken kanal på SSR -modulen.

Vi kommer också att behöva en plugg och lite extra ledning för nästa steg, så antingen kanibalisera en 9: e förlängningssladden eller lämna lite extra utrymme på de 8 förlängningssladdarna när du skär av pluggänden.

Steg 6: Ansluta AC -förlängningssladdar

Ansluta AC -förlängningssladdar
Ansluta AC -förlängningssladdar
Ansluta AC -förlängningssladdar
Ansluta AC -förlängningssladdar

Nästa steg krokar SSR -modulens utgång med 8 förlängningssladdar. Eftersom mängden ledningar här kan bli mycket rörig använde jag en kraftfördelningsbock och en häftpistol för att försöka hålla allt på plats.

När strömmen är avstängd, ta bort den avskurna kontakten från föregående steg och anslut den till strömuttaget. Ta bort de andra två ändarna och anslut var och en till det övre och nedre kraftfördelningsblocket och häfta ner dessa två anslutningar.

Anslut nu en av de avskurna förlängningssladdarna från föregående steg. I mitt fall har jag ett hölje med ett 1,5 diameter hål för alla sladdar att rinna ut, så markerat med grönt är en av sladdarna med ena änden ansluten till fördelningsblocket och den andra till SSR -modulens utgång. För att slutföra kretsen behöver vi en mycket kortare tråd (visas i blått) som ansluter det andra distributionsblocket till SSR -modulen. Trimma och häfta för att hålla allt så snyggt som möjligt. Inte bara håller häftklammerna snyggt utan det tjänar också en dragavlastning så att eventuell dragning och dragning när du ansluter lamporna till trädet inte kommer att dra ut anslutningarna ur komponenterna. Nödvändigt att säga att häftning inte ska ha häften hål i tråden eller isoleringen.

Steg 7: Testa AC -anslutningarna

Testa AC -anslutningarna
Testa AC -anslutningarna
Testa AC -anslutningarna
Testa AC -anslutningarna

I stället för att koppla ihop hela strängarna med julbelysning kopplade jag in billiga nattlampor på 1 dollar till varje förlängningssladd för att testa och utveckla animationerna innan trädet var uppe. Jag målade lamporna anslutna till sladdarna som skulle styra de röda, gröna, blåa ljussträngarna.

Kör samma testprogram som används för att testa SSR -modulen och se till att varje anslutning lyser korrekt.

Lådan med ljus indikerade att varje sträng skulle dra 0,34 ampere, och för de färgade lamporna tänkte jag stränga två uppsättningar tillsammans vilket skulle resultera i en total dragning på 0,68 ampere. Detta är långt under SSR -värdet som är 75 - 200 VAC vid 2 Ampere, men jag ville dubbelkolla då säkringen på SSR -modulen är lödd på kortet vilket gör det svårt att byta ut.

Steg 8: Skapa stjärnan

Skapa stjärnan
Skapa stjärnan
Skapa stjärnan
Skapa stjärnan
Skapa stjärnan
Skapa stjärnan
Skapa stjärnan
Skapa stjärnan

Det första steget i att skapa stjärnan är att göra en utskrivbar mall som hjälper till att forma träramen och plasten. Efter skalning och utskrift av mallen i lämplig storlek tog jag en bit 4,25 "x 0,125" trä från hantverksbutiken och mätte avståndet som behövs för varje sida av stjärnan. Jag fasade faktiskt inte någon av lederna när jag klippte dem så att stjärnan behövde stöd för att hålla bitarna på plats medan de limmades.

När jag placerade mallen på arbetsytan använde jag stöd för att hålla de två träbitarna på plats som visas i brunt på bilden. Med träets två kanter vidrörande applicerades lim på vardera sidan av fogen. Sedan tog jag en tunn balsa och skar ut en triangel för att reparera de två bitarna och limmade fast den på stjärnan. Anledningen till att använda balsa är att när stjärnan är stadigt sammansatt kunde jag enkelt slipa triangeln för att matcha stjärnans kontur, som visas inringad i bilden av stjärnan.

På grund av konstruktionsmetoden fick jag vänta några timmar på varje skarv för att limmet skulle torka innan jag gick vidare till nästa skarv.

När hela stjärnan hade bildats använder jag gipsspackel för att täcka luckorna där två träbitar möttes vid stjärnans spetsar.

Jag limmade sedan in några små proppar runt insidan av stjärnan för att hjälpa till att sätta LED -enheten på plats när den sätts in, markerad med en rektangel. Jag tror inte att de faktiskt är nödvändiga eftersom tyngdkraften gör ett jobb med att hålla LED -enheten på plats.

Lägg ner den samlade stjärnan ovanpå Lexan -arket, spåra stjärnans form och klipp ut stjärnan från Lexan. Efter att du har klippt Lexan -stjärnan, kontrollera att den passar i träramen och applicera sedan 2 lager vit sprayfärg på ena sidan av Lexan och låt torka i 24 timmar. Detta gör att lysdioderna kan spridas och dölja dem från syn.

För att dölja locket mellan Lexan -stjärnan och träramen använde jag en liten 0,25 "remsa balsaträ och klippte den för att forma och" täcka "ramen så att balsan täckte gapet.

Slutligen tillsatt en pinne/plugg för att hjälpa till att fästa stjärnan på trädtoppen.

Steg 9: Skapa LED -montering

Skapa LED -monteringen
Skapa LED -monteringen
Skapa LED -monteringen
Skapa LED -monteringen

Använd samma mall för att forma trästjärnan, klipp ut ABS -plastarket i storlek, men något mindre för att kunna sätta in det i trästjärnan. Testa att den passar bra inuti trästjärnan.

Använd sedan fortfarande mallen med hålplatser, borra de 25 LED -hålen. Lysdioderna från AdaFruit har en silikonfläns på utsidan av dem så att de monteras perfekt i hål borrade vid 12 mm. På bilden kan du se flänsen och jag har använt en grön linje för att indikera var ABS -plasten skulle koppla in flänsen för att hålla lysdioden på plats.

Börja med en av tipsen och arbeta runt utsidan av stjärnan, flytta sedan till de inre 5 fästena för att slutföra stycket. I mitt program har jag LED -positionerna kopplade som visas numeriskt på bilden, varav 1 är den första lysdioden efter kontakten.

Applicera lite elektrisk tejp på de röda och blå ändarna av kabeln. De är sekundära ingångar för ström som vi inte kommer att använda, och använder istället den röda/blåa anslutningen med klockan/signalanslutningen över själva kabeln.

Steg 10: Skapa förlängningstråd för LED -stjärnan

Skapa förlängningstråd för LED -stjärnan
Skapa förlängningstråd för LED -stjärnan
Skapa förlängningstråd för LED -stjärnan
Skapa förlängningstråd för LED -stjärnan

Nästa är att skapa en 8 fot kabel för att gå från höljet till stjärnan på toppen av trädet.

Klipp 4 lika långa bitar av 8 fot tråd och i ena änden av kabelbunten använder du antingen eltejp eller dragkedjor för att hålla bunten ihop och snygg. Gör detta längs hela längden på de 4 kabelbuntarna var par tum.

I vardera änden av buntremsan trådarna och lödet till JST -kontakterna så att tråden kan ansluta ena änden till höljet och den andra till stjärnan. Var noga med att behålla den relativa positionen för ledningarna i rätt ordning så att de blå/gröna/gula/röda anslutningarna matchar i andra änden av kabeln när de ansluts till stjärnan. Använd en multimeter för att kontrollera att kabeln är korrekt ansluten.

Steg 11: Koppla stjärnan till Pi

Koppla stjärnan till Pi
Koppla stjärnan till Pi

Vi måste nu skapa behållaren i höljet för stjärnan/förlängningskabeln att ansluta till.

Röd = 5 volt

Blå = mark

Så vi kan ansluta dessa två linjer på JST -kontakten till kopplingsblocket som Raspberry Pi är ansluten till.

De andra två anslutningarna är:

Gul = Data = MOSI = Pin 19

Grön = Klocka = SCLK = Stift 23

Jag följde ledningarna från AdaFruits handledning. Så ta bort ändarna på två startkablar så att de kan lödas på JST -kontakten.

När du är säker på att ledningarna kommer att få rätt signaler till lysdioderna kan du stabilisera kontakten i höljet för dragavlastning så att eventuell dragning på förlängningskabeln inte kommer att riva hopparna ur Pi.

Steg 12: Testa LED -stjärnan

Testa LED -stjärnan
Testa LED -stjärnan
Testa LED -stjärnan
Testa LED -stjärnan

Med LED -stjärnan ansluten till Pi. Kör ett enkelt testprogram för att kontrollera att belysningen fungerar som den ska. Mycket av min kod är anpassad från AdaFruit Tutorial samt ett foruminlägg på webbplatsen om att anpassa självstudiekoden för att passa de lysdioder vi använder..

Den bifogade ledtest.py kommer att få stjärnan att sakta vända från rent blått till rent rött.

Steg 13: Anslut högtalarna, bygg en höljetopp

Anslut högtalarna, bygg en höljetopp
Anslut högtalarna, bygg en höljetopp

Inget speciellt här, anslut bara högtalarna till ljudet från Raspberry Pi och anslut dem till strömuttaget. En enkel högtalare med volymjusteringsknapp fungerar.

För toppen ville jag kunna titta in i höljet, så jag monterade en bit 8,5 x 11 glas (från en bildram) på locket och använde kardborre på toppen så att jag snabbt kunde ta bort toppen om det behövs. En stor del av höljet har 110 VAC exponerat så det är viktigt för toppen att ge skydd mot någon eller något från oavsiktlig kontakt.

Steg 14: Anslut belysningen till trädet

Anslut belysningen till trädet
Anslut belysningen till trädet

Jag valde layouten på kanalerna på julgranen för att ge mig maximal flexibilitet för att generera olika typer av rörelse/effekter. Bifogar en bild på hur jag lade upp belysningen för de 5 vita trådarna. De återstående tre kanalerna var var och en av två 100 ljusfärgade lampor: rött, grönt, blått.

Den specifika förlängningssladden som du ansluter till varje sträng är inte kritisk eftersom jag i nästa steg kan anpassa kartläggningen mellan GPIO0-7 och vilka lampor som är på trädet.

Steg 15: Ladda/skapa musik, programvara, sekvenser…

Image
Image

Det finns många julbelysningssekvenserare tillgängliga online för Raspberry Pi, men jag kodade en enkel från början. Alla sekvenser genererades genom att ställa in tider för beats/mått i Audacity (ljudredigerare) till särskilda kommandon till min sequencer.

rxmas.py

Detta program väljer slumpmässigt en statisk layout för trädet varje minut. Jag har det här skriptet igång vid start av Raspberry Pi (genom ett cron -jobb) som standardbeteende när jag ansluter enheten.

xmas.py

Detta är sequencer -programmet, som tar en sekvensfil och en MP3 som ingångar

setup.txt

I föregående steg gav jag layouten jag använde för varje logisk kanal. Denna fil mappar varje faktisk GPIO0-7 till den logiska kanalen. Så i setup.txt som jag har bifogat driver GPIO0s förlängningssladd logisk kanal 8 (blå), GPIO1 driver logisk kanal 6 (röd), etc …

test.mp3 / test.txt

Detta är ett enkelt testfall med ett ljudantal från 1 till 8 med motsvarande ljussträngar tända

Så för att åberopa denna exempel typ:

./xmas.py test.txt test.mp3

carol.txt

Sekvensfilen för jul Sarajevo av Trans-Siberian Orchestra

LetItGo.txt

Sekvensfilen för Let It Go från Disneys Frozen Movie

ryska.txt

Sekvensfilen för "A Mad Russian's Christmas" av Trans-Siberian Orchestra

Du måste självklart tillhandahålla dina egna LetItGo.mp3- och carol.mp3 -filer! Köp dem bara från Amazon.

OBS: Den inbäddade YouTube -videon går upp till 110% hastighet så det kan låta lite udda

Få det att lysa!
Få det att lysa!

Första priset i Make it Glow!

Rekommenderad: