Inhoudsopgave:

RGB LED Maker Tree - Ajarnpa
RGB LED Maker Tree - Ajarnpa

Video: RGB LED Maker Tree - Ajarnpa

Video: RGB LED Maker Tree - Ajarnpa
Video: RGB LED "Maker" Tree 2024, November
Anonim
Image
Image
RGB LED-makerboom
RGB LED-makerboom

Onze lokale makerspace heeft een boom gesponsord die in de maand december (2018) in Main Street zal worden weergegeven. Tijdens onze brainstormsessie kwamen we op het idee om een belachelijke hoeveelheid LED's op de boom te plaatsen in plaats van traditionele ornamenten. Als makers die dingen graag een beetje over de top doen, besloten we al snel dat een boom die animaties zou kunnen spelen niet alleen leuk zou zijn, maar ook wat buzz zou genereren.

Ik onderzocht een aantal bestaande oplossingen die speciale LED-controllers gebruikten en besloot dat close source gewoon niet zou werken. Ik kwam een uitstekende tutorial van Adafruit tegen over het gebruik van hun "FadeCandy" LED-controllers. Dit nette kleine bord heeft een aantal Burning Man-optredens gemaakt en heeft veel goede voorbeelden om mee te werken. De boom bestaat uit 24 strengen van individueel adresseerbare RGB LED-stammen die worden aangestuurd met FadeCandy-borden en gevoed door een enkele 5V 60A-voeding. Een Raspberry Pi levert animaties aan de FadeCandy-borden via micro-USB-kabels, die op hun beurt worden aangesloten op de afzonderlijke LED-strengen. De strengen zijn radiaal gerangschikt om een kegel/boomvorm te vormen, zoals hierboven te zien is.

Het leuke van deze opstelling is dat deze niet beperkt is tot eenmalig gebruik. De LED-strengen kunnen worden herschikt om vele vormen te vormen, waaronder een normaal oud raster. We hopen deze opstelling te hergebruiken om een interactieve tentoonstelling / game te maken voor onze volgende Mini MakerFaire in het voorjaar.

Stap 1: Onderdelenlijst

  • 2x - 5V WS2811 LED strengen (20 strengen x 50 pixels = 1000 pixels)
  • 5x - 3-pins waterdichte connectoren (5 stuks)
  • 24x - 12MM RGB-montagestrips
  • 3x - Adafruit FadeCandy LED-controllers
  • 6x - Stroomverdeelblokken
  • 1x - 5V 60A (300W) Voeding
  • 1x- RJ-45 ponsdoppen (10 stuks)
  • 2x - 22 AWG voedingskabel (65 ft)
  • 1x - Anderson-connectorkit
  • 1x - 12 AWG inline zekeringhouders
  • 3x - 2x8 krimpconnectorbehuizing
  • 1x - 0,1" vrouwelijke krimppennen (100 stuks)
  • 6x - Waterdichte elektriciteitskasten
  • 3x - 20A zekering
  • 1x - Computervoedingskabel
  • 1x - Framboos Pi 3
  • 1x - MicroSD-kaart
  • 24 voet - CAT5/CAT6-kabel
  • 15 voet - 12 AWG draad (rood en zwart)
  • 6x - RJ-45 krimpuiteinden
  • 2x - 4x8 plaat 3/4" multiplex
  • 2x - 4' hoekijzer
  • 200x - Ritssluitingen
  • ~144x - Waterdichte splice connectoren (optioneel maar een enorme tijdsbesparing)
  • Soldeer
  • Krimpkous
  • breeuwen

Stap 2: Overzicht elektrisch systeem

Overzicht elektrisch systeem
Overzicht elektrisch systeem

Zoals te zien is in het bovenstaande diagram, kan het elektrische systeem van de boom worden onderverdeeld in verschillende hoofdcomponenten: schakelkast, stroomaansluitdozen, gegevensaansluitdozen en LED-strengen. De schakelkast herbergt de 5V 60A voeding en de Raspberry Pi. De Data Junction-boxen bevatten de FadeCandy LED-controllers. De Power junction boxes bevatten busbars om de stroom (5V & GND) naar de LED-strengen te verdelen. Elk paar aansluitdozen (één data + één voeding) bestuurt acht LED-strengen. Omdat er in dit project 24 strengen LED's worden gebruikt, zijn er drie sets aansluitdozen (zes in totaal).

*Er is een fout in het bovenstaande diagram, CAT6-kabel 0 (strengen 0-7) moet zijn (strengen 0-3) en CAT6-kabel 1 (streng 7-15) moet zijn (strengen 4-7).

Stap 3: Bevestig waterdichte connectoren

Bevestig waterdichte connectoren
Bevestig waterdichte connectoren
Bevestig waterdichte connectoren
Bevestig waterdichte connectoren
Bevestig waterdichte connectoren
Bevestig waterdichte connectoren

Omdat de boom bedoeld was voor buitengebruik, werd er extra op gelet dat alle verbindingen waterdicht waren. Voor degenen die een soortgelijk binnenproject willen maken, kunnen de waterdichte connectoren worden genegeerd ten gunste van de 3-pins JST-connectoren die bij de LED-strengen worden geleverd. Veel van de arbeid bij dit project ging in het solderen van de waterdichte connectoren aan de strengen.

Voor onze opstelling hebben we de bestaande JST-connector van de LED-streng afgesneden en op zijn plaats een 3-pins waterdichte connector bevestigd. Er moet op worden gelet dat de connector aan de "ingangskant" van de LED-streng wordt toegevoegd, de dataverbinding op de LED-strengen is directioneel. We ontdekten dat elke LED een kleine pijl had die de richting van de gegevens aangeeft. We hebben in eerste instantie elk van de drie draden aan de kant van de LED-streng bevestigd met behulp van een techniek met soldeer, krimpkous en breeuwen. Uiteindelijk zijn we overgestapt op het gebruik van deze waterdichte splice connectoren, wat een enorme tijdsbesparing bleek te zijn.

Aan de stroom/data-kant (dwz de kant waar de LED-strengen op aansluiten), gebruikten we 22 AWG-draad voor stroom/aarde en CAT6-kabel voor data/aarde. Elke CAT6-kabel bevat vier getwiste paren, dus we kunnen vier LED-strengen aansluiten op een enkele CAT6-kabel. Het bovenstaande diagram laat zien hoe de 3-pins LED-streng uitbreekt in 4 draden (5V, GND, Data). Het aansluiten van vier draden op drie draden leek een punt van verwarring te zijn bij het monteren van dit project. Het belangrijkste is dat de twee gronden (Data + Power) worden gecombineerd bij de waterdichte connector.

Elke CAT6-kabel werd afgesloten met een RJ-45-connector die werd aangesloten op een vrouwelijke RJ-45-behuizing die was aangesloten op een FadeCandy-bord. De CAT6-draden hadden rechtstreeks op de FadeCandy-kaarten kunnen worden gesoldeerd, maar we hebben ervoor gekozen om connectoren toe te voegen om indien nodig gemakkelijkere reparaties mogelijk te maken. We hebben al onze bedrading 48 inch lang gemaakt om onszelf wat flexibiliteit te geven bij het fysiek monteren van de boom.

Stap 4: Bevestig connectoren aan FadeCandy Boards

Bevestig connectoren aan FadeCandy Boards
Bevestig connectoren aan FadeCandy Boards
Bevestig connectoren aan FadeCandy Boards
Bevestig connectoren aan FadeCandy Boards
Bevestig connectoren aan FadeCandy Boards
Bevestig connectoren aan FadeCandy Boards

De FadeCandy-borden die we kochten, werden niet geleverd met bevestigde headers, maar er waren twee rijen van 0,1 "gespreide via's. Uiteindelijk besloten we dat de FadeCandys zouden worden aangesloten op de CAT6-kabels met behulp van standaard RJ-45 "punch-down" -aansluitingen. het evenement dat we een FadeCandy moesten vervangen (blijkbaar hebben we dat gedaan!), We hebben ook 0,1" pinnen toegevoegd aan elk FadeCandy-bord. We hebben vrouwelijke krimppinnen bevestigd aan elk van de acht draden die aan de RJ-45-punch-aansluiting zijn bevestigd om verbinding te maken met de 0,1 "-headers. Naast het krimpen van de pinnen op elke draad, heb ik ook een klein beetje soldeer toegevoegd om te voorkomen dat de pinnen Natuurlijk ontdekte ik deze soldeer "truc" pas nadat de helft van de pinnen die ik had gekrompen op mij faalde, les geleerd.

Stap 5: Plaats LED's in afstandsstrips

Steek LED's in afstandsstrips
Steek LED's in afstandsstrips
Steek LED's in afstandsstrips
Steek LED's in afstandsstrips
Steek LED's in afstandsstrips
Steek LED's in afstandsstrips

Na het lezen van een paar forumberichten en het bekijken van enkele video's van andere mensen die soortgelijke 'bomen' hebben gemaakt, leek het gebruik van plastic afstandhouders een terugkerend item. Met de strips kan de afstand tussen de LED's worden aangepast aan de individuele behoeften en kunnen de LED-strengen tussen de bovenste en onderste boomringen worden gespannen. De grootte van de LED moet overeenkomen met de grootte van de afstandsgaten (in ons geval 12 mm), zodat elke individuele LED precies in de gaten in de afstandhouders past. We hebben ervoor gekozen om onze LED's zig-zag te laten lopen, zodat 24 strengen LED's 48 kolommen rond de boom vormen.

We hebben op dit punt een fout gemaakt die ons dwong om enkele extra "gaten" voor LED's te maken. We hebben de stroken doormidden gesneden, zodat we 48 lengtes afstandhouders zouden hebben. Wat we ontdekten was dat elke acht voet afstandhouder 96 gaten bevatte (één per inch) en door ze doormidden te snijden op een gat, kwamen we vier gaten tekort per LED-streng. Let op onze fout en geef hier van tevoren rekenschap van! We hebben uiteindelijk enkele "verlengingen" met laser gesneden om de ontbrekende gaten toe te voegen.

Het vectorbestand dat is gebruikt om de extensiebeugels met een laser uit te snijden, is hieronder bijgevoegd ("TreeLightBracket.eps")

Stap 6: assembleer stroomaansluitdozen

Monteer stroomaansluitdozen
Monteer stroomaansluitdozen
Monteer stroomaansluitdozen
Monteer stroomaansluitdozen
Monteer stroomaansluitdozen
Monteer stroomaansluitdozen

De drie stroomverdeelkasten bevatten elk een paar stroomrails. De eerste balk verdeelt 5V en de andere verdeelt GND. Omdat onze boom buiten werd tentoongesteld, hebben we ervoor gekozen om waterdichte elektriciteitskasten te gebruiken om de busbars te huisvesten. We hebben elke staaf op zijn plaats vastgemaakt met behulp van hete lijm en een stukje van een manilla-map toegevoegd tussen elke staaf en de behuizing om kortsluiting te voorkomen. Elke stroomaansluitdoos wordt aangesloten op acht LED-strengen via de 22 AWG-draad die eerder is beschreven. Elke doos wordt aangesloten op de hoofdvoeding met 12 AWG-draad en heeft een "Anderson"-connector om het transport te vergemakkelijken.

Stap 7: assembleer gegevensaansluitdozen

Dataaansluitdozen samenstellen
Dataaansluitdozen samenstellen
Gegevensaansluitdozen samenstellen
Gegevensaansluitdozen samenstellen

Met behulp van dezelfde dozen als bij de stroomverdeelkasten, hebben we drie "data"-verdeelkasten gemaakt met elk een enkel FadeCandy-bord. De micro-USB-kabels van de Raspberry Pi worden aangesloten op de FadeCandy-kaarten in deze doos en de CAT6-kabels worden ook aangesloten op de vrouwelijke RJ-45-aansluitingen. Omdat de FadeCandy-planken geen grote montagegaten hebben, hebben we elke plank met een ritssluiting aan een stuk triplex vastgemaakt. Dit triplex fungeerde ook als een isolator om te voorkomen dat het bord kortsluiting maakte tegen de elektriciteitskast.

Stap 8: Draadvoeding

Draadvoeding
Draadvoeding
Draadvoeding
Draadvoeding
Draadvoeding
Draadvoeding

Het 5V 60A monster van een door ons bestelde voeding levert stroom voor het hele project. Elk van de drie stroomaansluitdozen wordt met 12 AWG-draad op deze hoofdvoeding aangesloten. Elke aansluitdoos heeft zijn eigen paar Anderson-connectoren en een inline 20A-zekering om eventuele kortsluitingen te isoleren. De Raspberry Pi krijgt ook stroom van deze voeding, wat ik heb bereikt door een USB-kabel door te knippen en de stroom-/aardingsdraden op de voedingsklemmen aan te sluiten. Omdat deze draden vrij klein waren, heb ik ook een paar kabelbinders toegevoegd om wat trekontlasting op deze verbindingen toe te voegen. De voeding kwam niet met een stopcontact, dus ik sneed een standaard computer/monitor stroomkabel door en bevestigde deze aan de schroefaansluitingen. Wees extra voorzichtig op het podium en controleer je werk drie keer! Ik vond dit Adafruit-project buitengewoon nuttig om te begrijpen hoe de stroom is aangesloten.

Stap 9: Stel Raspberry Pi in

Raspberry Pi instellen
Raspberry Pi instellen

Ik stel een microSD-kaart in met het Raspbian-besturingssysteem en stel een FadeCandy-server in met behulp van de instructies die hier te vinden zijn:

learn.adafruit.com/1500-neopixel-led-curta…

learn.adafruit.com/1500-neopixel-led-curta…

Ik ontdekte dat de OpenPixelControl-repository een geweldige reeks voorbeelden had voor interfacing met de FadeCandy-server. Uiteindelijk heb ik een Python-script geschreven om animaties in de boom te herhalen toen de Pi opstartte. Het laadt video's met onze doelresolutie, stapt frame voor frame door de video en stuurt een FadeCandy-besturingsarray voor elk frame. Met het FadeCandy-configuratiebestand kunnen meerdere kaarten worden gekoppeld alsof ze één enkel bord zijn en zorgt het voor een zeer schone interface. Het python-script dat de boom bestuurt, is ingesteld om bestanden uit een specifieke map te laden. Als zodanig is het aanpassen van de animaties net zo eenvoudig als het toevoegen/verwijderen van videobestanden uit die map.

Tijdens het testen van de boom slaagde ik erin een microSD-kaart te beschadigen. Ik schrijf dit toe aan het verwijderen van de stroom van de Pi zonder een goede afsluiting uit te voeren. Om toekomstige incidenten te voorkomen, heb ik een drukknop toegevoegd en deze geconfigureerd om de Pi veilig uit te schakelen. Ik heb ook verschillende back-ups gemaakt van de uiteindelijke microSD-kaart, voor het geval dat.

Voordat ik alle onderdelen voor de eigenlijke boom ontving, heb ik de OpenPixelControl git hub-repository gevorkt en een nette LED-simulator erin ontdekt. Ik heb dit programma eigenlijk gebruikt om een groot deel van het hierboven genoemde animatiescript te testen. De simulator gebruikt een configuratiebestand dat de fysieke plaatsing van elke LED in de ruimte aangeeft (denk aan X, Y, Z) en gebruikt dezelfde interface als het FadeCandy-serverprogramma.

Stap 10: Animaties maken

Het eerder gekoppelde Python-script kan elk videoformaat in de boom afspelen, zolang de resolutie maar 96x50 is. De resolutie van de boom is 48x25, maar de tool die ik gebruikte om video's naar een lagere resolutie te converteren (Handrem) had een minimale pixellimiet van 32 pixels. Om deze reden heb ik gewoon de werkelijke resolutie van de boom verdubbeld en vervolgens elke andere pixel in mijn Python-script gesampled.

Het proces dat ik voor de meeste animaties gebruikte, was om een -g.webp

Met behulp van de OpenPixelControl-interface kunt u ook programmatisch patronen genereren. Tijdens de eerste tests heb ik het python-script "raver_plaid.py" vrij veel gebruikt.

De animaties die gebruikt zijn voor onze boom zijn onder "makerTreeAnimations.zip" bijgevoegd.

Stap 11: Test elektrisch systeem

Image
Image

Met alle belangrijke elektrische/softwarecomponenten aangesloten, was het tijd om alles uit te testen. Ik bouwde een eenvoudig houten frame om de LED-strengen te spannen, wat erg handig bleek om te bepalen of er strengen niet in orde waren (wat er meerdere waren). De video's hierboven tonen een ingeblikte demo van OpenPixelControl en mijn aangepaste Python-script voor videospeler met een Mario-animatie.

Stap 12: Frame construeren

Construct frame
Construct frame
Construct frame
Construct frame
Construct frame
Construct frame
Construct frame
Construct frame

We hebben alle LED-strengen bevestigd aan een prototypeframe dat we hebben gemaakt van PVC en pex-buizen. We lieten de ritssluitingen los zodat we ze indien nodig konden verplaatsen. Dit bleek een geweldige beslissing te zijn, omdat we besloten dat het verticale PVC het LED-raster te veel opsplitste en in plaats daarvan overging op een CNC-ontwerp. Het uiteindelijke ontwerp bestaat in wezen uit een bovenste lus en een onderste lus. De onderste lus is gemonteerd aan de voet van de boom en heeft een grotere diameter dan de bovenste lus die (geen verrassing) aan de bovenkant van de boom is gemonteerd. De LED-strengen strekken zich uit tussen de bovenste en onderste lussen om de kegelvorm (of "boom" als je wilt) te vormen.

Beide lussen zijn op een CNC-router uit 3/4" multiplex gesneden, het vectorbestand voor de lussen is hieronder bijgevoegd ("TreeMountingPlates.eps"). De bovenste en onderste lussen bestaan elk uit twee halfronde stukken die een compleet lus. Het tweedelige ontwerp was zo dat we de twee helften gemakkelijk rond de boom konden bevestigen zonder de takken te beschadigen. Onze lokale CNC-goeroe voegde een mooi beetje flair toe door de bovenste en onderste framelussen in sneeuwvlokken te maken. Een vleugje witte verf en er werden ook wat glitters toegevoegd om het frame op te fleuren.

Stap 13: Construeer de onderste schijf / monteer elektronica

Construeer onderste schijf / monteer elektronica
Construeer onderste schijf / monteer elektronica

We snijden twee halve cirkels uit een ander stuk triplex met dezelfde diameter als de eerder beschreven onderste lus om de elektronica (controledoos, aansluitdozen) onder de onderste lus te monteren. Net als bij de bovenste en onderste lussen, werd het in twee stukken gemaakt en vervolgens langs de middellijn samengevoegd om een volledige cirkel te vormen. De schijf is groen geverfd om hem te laten opgaan in en af te dichten tegen regen. We hebben alle elektronicaboxen aan de onderkant van deze schijf gemonteerd, zodat de schijf een soort paraplu vormt voor de elektrische componenten. Overtollige draadlengtes werden ingepakt en met een ritssluiting aan deze schijf vastgemaakt om een schoon uiterlijk te behouden.

Stap 14: Frame aan boom bevestigen

Frame aan boom bevestigen
Frame aan boom bevestigen
Frame aan boom bevestigen
Frame aan boom bevestigen
Frame aan boom bevestigen
Frame aan boom bevestigen
Frame aan boom bevestigen
Frame aan boom bevestigen

Toen de bovenste en onderste framelussen droog waren, hebben we verschillende lange stukken hoekijzer in de pot van de boom geduwd om de stam te helpen stabiliseren. Het hoekijzer bood ook bevestigingspunten voor de bovenste en onderste framelussen, zonder de fysieke boom te belasten. Met alle LED-strengen aan de bovenste lus bevestigd, hebben we een stuk touw gebruikt om de bovenste ring aan het plafond op te hangen. We ontdekten dat het gemakkelijker was om de ring langzaam op de boom te laten zakken in plaats van te proberen hem met de hand op zijn plaats te houden. Toen de bovenste ring eenmaal op zijn plaats op het hoekijzer zat, bevestigden we de onderste ring aan de boom en bonden de LED-strengen ook stevig vast aan de onderste lus. De onderste (groene) schijf werd direct onder de onderste lus gemonteerd met alle elektronica eraan bevestigd.

Stap 15: Leveren (optioneel)

Bezorgen (optioneel)
Bezorgen (optioneel)

Leun nu achterover en geniet van de vruchten van uw (onze) arbeid! Onze boom zal de hele maand december (2018) te zien zijn in North Little Rock. Ik ben al aan het nadenken hoe we het display in het voorjaar interactief kunnen maken voor onze mini MakerFaire.

Heeft u vragen? Vraag het in de reacties!

Make it Glow wedstrijd 2018
Make it Glow wedstrijd 2018
Make it Glow wedstrijd 2018
Make it Glow wedstrijd 2018

Tweede plaats in de Make it Glow-wedstrijd 2018

Aanbevolen: