Innholdsfortegnelse:

Interaktiv LED -kuppel med Fadecandy, prosessering og Kinect: 24 trinn (med bilder)
Interaktiv LED -kuppel med Fadecandy, prosessering og Kinect: 24 trinn (med bilder)

Video: Interaktiv LED -kuppel med Fadecandy, prosessering og Kinect: 24 trinn (med bilder)

Video: Interaktiv LED -kuppel med Fadecandy, prosessering og Kinect: 24 trinn (med bilder)
Video: LEDs using FadeCandy and Processing 2024, Juli
Anonim
Image
Image
Interaktiv LED -kuppel med Fadecandy, prosessering og Kinect
Interaktiv LED -kuppel med Fadecandy, prosessering og Kinect
Interaktiv LED -kuppel med Fadecandy, prosessering og Kinect
Interaktiv LED -kuppel med Fadecandy, prosessering og Kinect
Interaktiv LED -kuppel med Fadecandy, prosessering og Kinect
Interaktiv LED -kuppel med Fadecandy, prosessering og Kinect

Hva

Når du er i Dome er en 4,2 m geodesisk kuppel dekket med 4378 lysdioder. Lysdiodene er alle individuelt kartlagte og adresserbare. De kontrolleres av Fadecandy og Processing på et Windows -skrivebord. En Kinect er festet til en av kuppelens stiver, slik at bevegelse inne i kuppelen kan spores og folk kan samhandle med lysene.

Hvorfor

Jeg utforsker gruppeopplevelse gjennom delt interaksjon. Jeg liker å lage grensesnitt som mange mennesker kan bruke samtidig. LED-overflaten på kuppelen gir en passende utgang for et flerbrukergrensesnitt fordi den er enorm, så mange mennesker kan se den. Kuppelen skaper også et koselig, sfærisk rom, som oppfordrer folk til å snu seg mot hverandre. Kinect fungerer utmerket som en flerbrukerinngang fordi folk kan bevege seg rundt og påvirke dybdefeltet samtidig. Den eneste grensen er hvor mange mennesker som kan passe inn i rommet sammen.

Jeg utvikler kontinuerlig nye interaksjonsmetoder for When in Dome, for å se hvilken effekt forskjellige inputmetoder har, og hva som fungerer bra for forskjellige grupper mennesker. Jeg er spesielt opptatt av å se hvilke grensesnitt som oppmuntrer til kontakt mellom venner og fremmede inne i kuppelen, og hva som får den delte opplevelsen til å føles meningsfull og verdig.

Hvor

Jeg designet og bygde When in Dome som det siste prosjektet for min master, som var Design for Performance and Interaction ved Interactive Architecture Lab, The Bartlett, UCL.

Hvordan

Noen av teknologiene og verktøyene som brukes:

  • Fadecandy
  • Behandling
  • Kinect (jeg har min fra eBay)
  • Gjærsag
  • Spor sag
  • Symaskin
  • Loddejern
  • Varmepistol
  • Varm limpistol
  • Laserskjærer
  • Bore

Noe av utstyret som brukes:

  • Bygg med hub -sett
  • Behandlet saget tømmer for kuppelstiver
  • 4 mm poppelfiner
  • Hvitt diffusjonsstoff
  • Svart stoff
  • Aluminium flat bar
  • Wago -kontakter
  • 12awg og 24awg kabel
  • 5v 30A strømforsyninger
  • Skumgulv
  • JST -kontakter
  • Kondensatorer

La oss gå

Det er mange komponenter i dette prosjektet som jeg vil snakke gjennom, jeg håper du finner noe nyttig og interessant inne!

Trinn 1: Domen

Domen
Domen
Domen
Domen

Navsett

Jeg bestemte meg for å bygge kuppelen min med et sett fra buildwithhubs, og jeg vil definitivt anbefale dem.

De selger sett med kontakter og gir råd om hvilke materialer de skal kjøpe til stiverne. De fleste av kuplene deres brukes i folks egne hager, mens min vil være offentlig, så jeg kjøpte også settet med ekstra sikre hetter, som forhindrer at stagene dukker opp hvis noen lener seg mot kuppelen.

Størrelse

Kuppelen min er 4,2 m i diameter. Jeg valgte denne størrelsen fordi det betydde at den lengste siden av trekanter som utgjør kuppelen ville være 1,2 m, og dette passet fint inn i kryssfinerplater da jeg kom for å lage panelene for å holde lysdiodene.

Trinn 2: Lag strutsene

Image
Image

Lengder

Jeg brukte buildwithhubs fjærbehandler for å regne ut lengdene som trengs for å lage en kuppel på 4,2 meter. 30 "shorts" på 1059mm og 35 "lengder" på 1209mm.

Materiale

2 pakker med 24 19 mm x 38 mm x 2400 mm saget tømmer fra B&Q (som anbefalt på byggekroppen) er nok for en kuppel. Dette fungerer bra nok, men hvis jeg gjorde det igjen, ville jeg få noe som har mer sidestyrke.

Prosess

Stiverne ble kuttet i lengden med en gjæringssag, og deretter malte jeg dem ved å legge dem flate ut på et støvark og rulle over dem. Dette gjorde en morsom timelapse!

Deretter samlet jeg dem sammen i grupper på 6 om gangen og skrudde kontaktdelene inn i endene.

Trinn 3: Bygg kuppelen

Når stagene er laget, er det veldig enkelt å bygge kuppelen. Jeg kommer ikke til å snakke gjennom prosessen i detalj, da det er instruksjoner på buildwithhubs -nettstedet, og de gir også et hefte.

Trinn 4: Hev det opp

Planlegg hvordan lysdiodene skal se ut
Planlegg hvordan lysdiodene skal se ut

Jeg ville ikke at LED -panelene skulle ligge rett ved gulvet, da dette ville bety at mange av dem ville bli blokkert av folk i kuppelen. Jeg ønsket også å gjøre kuppelen høyere, slik at den føles mer romslig og imøtekommende.

Ben

Jeg laget 50 cm høye ben av 2x4s, og skrudde de samme kontaktene inn i dem som stiverne.

For å øke styrken og den strukturelle integriteten til basen brukte jeg en flat bar i aluminium for å lage X mellom hver benseksjon.

Døren

Jeg fjernet en av de horisontale stiverne for å lage en døråpning, og erstattet den med et stykke kryssfiner på gulvet for å holde beina på riktig avstand.

Trinn 5: Planlegg hvordan lysdiodene skal se ut

Programvare

Jeg brukte SketchUp for 3D-planleggingsarbeidet mitt fordi det er gratis å bruke i en nettleser-app. Heldigvis (ettersom jeg ikke er ekspert på 3D -modellering) fant jeg en geodesisk kuppelmodell tilgjengelig på 3D -lageret, hvor det er mange modeller gratis.

Hvor mange lysdioder?

Oppsettet måtte ta hensyn til estetikk, men også kraft og datadistribusjon. Jeg bestemte meg for å bruke 11 Fadecandys (og 11 strømforsyninger) for å dekke 33 av trekantene i kuppelen. Dette ville bety at Fadecandys (og strømforsyninger) ville kjøre 3 trekanter hver, og at den ene siden av kuppelen kunne være åpen slik at folk kunne se inn utenfra.

Dette ga meg maksimalt 512 lysdioder per 3 trekanter, da hver Fadecandy kan kjøre 8 strimler med opptil 64 hver.

Å bestemme et oppsett

Ikke alle trekanter er skapt like! Min kuppel er en 2V -stil, noe som betyr at den har to typer trekanter, likesidet og likbenet.

Jeg kom med fire forskjellige potensielle oppsett for lysdiodene og tok til Instagram for å spørre folk om hva de likte best. Stil 1 og stil 3 så ut til å komme på topp. Stil 3 var min favoritt, men de konsentriske trekanter i stil 3 krever faktisk mye mer LED -stripe enn det stripete oppsettet, så jeg bestemte meg for stil 1. Dette betyr at det er 8 likesidede trekanter med konsentrisk trekant LED -layout, og 25 likebenede trekanter med stripet LED oppsett.

Siden de likesidede trekanter er større og inneholder det konsentriske oppsettet, bruker de mye flere lysdioder hver enn de likbenede trekanter. Derfor måtte jeg dele likevektene på tvers av Fadecandys.

8 av Fadecandys kontroller 1 likesidet og 2 likebenede trekanter hver. 3 av Fadecandys kontroller 3 likebenede trekanter hver.

Trinn 6: Mer om LED -oppsettet

Mer om LED -oppsettet
Mer om LED -oppsettet
Mer om LED -oppsettet
Mer om LED -oppsettet

Da det generelle oppsettet var bestemt, trengte jeg å finne ut nøyaktig hvor mange lysdioder jeg ville sette på hvert panel. Jeg gjorde dette ved å bruke en kombinasjon av et regneark for å finne ut den beste måten å maksimere Fadecandys evner og skaleringstegninger i Illustrator, slik at jeg kunne se hvordan oppsettet ville se ut.

Maksimere Fadecandys evne: Linjer og striper

Jeg nevnte tidligere at hver Fadecandy kan kjøre opptil 8 strimler med 64 piksler hver. Mine trekanter inneholder mange linjer med forskjellige pikslelengder, noen linjer med bare få piksler.

Hvis jeg skulle behandle hver av disse linjene som en stripe, ville jeg miste mye av Fadecandys evne.

Motsatt hvis jeg ønsket å maksimere Fadecandys evne og ha 64 lysdioder på hver stripe, ville jeg ha noen striper som startet midt på en linje, og det vil være forvirrende å kartlegge senere.

Jeg måtte finne ut hvordan jeg best kunne kombinere linjene til strimler for å maksimere stripeevnen så mye som mulig, uten å dele linjer.

Til slutt…

Likestilte paneler har fire strimler, som består av:

  • 30, 30 (totalt 60 - rødt på vedlagt bilde)
  • 30, 22 (52 totalt - oransje på vedlagte bilde)
  • 22, 22, 14 (58 totalt - gult på vedlagte bilde)
  • 14, 14, 6, 6, 6 (46 totalt - grønt på vedlagt bilde)

Ensartede paneler har to strimler, som består av:

  • 23, 28 (51 totalt - blått på vedlagt bilde)
  • 3, 7, 11, 15, 19 (totalt 55 - lilla på vedlagt bilde)

Trinn 7: Legg ut Fadecandys og strømforsyninger

Legg ut fadecandys og strømforsyninger
Legg ut fadecandys og strømforsyninger

Dette bildet viser et flatt utsyn over kuppelens overflate.

LED -panelene

Hvert trekantpanel er merket med et nummer 1-11, som refererer til Fadecandy som styrer det. Hver Fadecandy har tre trekanter, så trekanter har også en bokstav, A-C.

Andre elementer

De grønne boksene viser plasseringen av Fadecandys. Hver Fadecandy er montert på et lite panel som også fordeler strømmen. Jeg skal vise dette i detalj om noen få trinn.

De lilla boksene viser USB -hubber. Fadecandys er koblet til et Windows -skrivebord via disse hubene.

De blå boksene viser plasseringen av strømforsyningene, som sitter i 3 tørrbokser, på gulvet rundt kuppelen.

Bare for å gjøre det litt mer komplisert

Hvis du sammenligner plasseringen til FC10 og FC11, vil du legge merke til at FC10 er nærmest den lengste linjen på dens likebenede paneler, mens FC11 er nærmest den korteste linjen.

Hvis du ser på 10C, ser du også at Fadecandy er til høyre for den, mens 10A er til venstre.

Jeg måtte ta hensyn til disse variasjonene når jeg vurderte hvor mye kabel hver led -stripe trengte i starten, og når jeg kartla dem.

Trinn 8: Slå linjer inn i strimler

Snu linjer til strimler
Snu linjer til strimler

Dette regnearket skulle finne ut hvor mye kabel som trengs for å gå i begynnelsen av hver del av LED -stripen.

Hvor mye kabel trengs?

Noen linjer er merket med "jst", noe som betyr at de er starten på stripen og bare trenger en JST -kontakt.

Noen strimler har "jst" og en lengde, noe som betyr at stripen starter et stykke unna Fadecandy (som vi så i oppsettet i forrige trinn), og trenger den lengden på kabelen for å nå den før du legger til JST -kontakten.

Noen strimler har bare en lengde, noe som betyr at de må kobles til delen av stripen foran dem med den lengden på kabelen.

Trinn 9: Klargjøring av LED -stripen

Forbereder LED -stripen
Forbereder LED -stripen
Forbereder LED -stripen
Forbereder LED -stripen

LED -stripen

Jeg bruker LED -stripe i ws2812b -stil, som har tre innganger, 5V strøm, jord og data. Ved å bruke 3-pinners kvinnelige JST-kontakter kan jeg koble til hver av disse pinnene individuelt. De mannlige kolleger til JST -kontaktene vil levere strøm og data.

Lodding

Ved å bruke regnearket mitt fra forrige trinn, kuttet jeg alle LED -stripene i de nødvendige lengdene, loddet på de nødvendige kabellengdene og JST -kontaktene. Jeg satte også en kondensator i begynnelsen av hver stripe, dette er for å unngå at toppene i startstrømmen ødelegger den første pikslen i stripen. (Jeg har hatt dette skje før i tidligere prosjekter der jeg ikke la til kondensatoren, så det er definitivt verdt å gjøre.)

Forsegling

Jeg la til litt RTV-silikon på den eksponerte delen av stripen, dekket den med klar varmekrymping og sprengte den med en varmepistol for å forsegle vanntettheten igjen.

Trinn 10: Lag panelene

Lag panelene
Lag panelene

Materiale

Jeg bestemte meg for å bruke 4 mm poppelfiner for å lage panelene. Jeg holdt den tynn for å redusere vekten. Jeg regnet ut den totale vekten av kryssfiner og kontaktet buildwithhubs for å sjekke om jeg var innenfor vektmengdene for å henge ting av kuppelstrukturen. Siden vekten fordeles ganske jevnt over kuppelen, er det greit. Jeg ville gjerne brukt akryl, men dessverre var det utenfor budsjettet for meg for dette prosjektet.

LED -stripefeste

Jeg ønsket ikke å lime LED -stripen direkte til panelene, ettersom jeg vil kunne bytte ut deler av den defekte stripen og potensielt gjenbruke hele stripen på et tidspunkt, så jeg bestemte meg for å lage hull i panelene for å bruke kabelbindere. Prikkene på det vedlagte bildet viser utformingen av kabelbinderhullene.

Klipper ut panelene

Det er totalt 33 trekanter, og jeg de passer inn i 9 ark med 2440 x 1220 mm kryssfiner via oppsettet du ser på det vedlagte bildet.

I en ideell verden ville jeg ha stappet hvert av de 9 arkene direkte i en laserskærer og kuttet trekanter og kabelbinderhullene samtidig. Dessverre lever vi i en verden der 2440 x 1220 mm laserskjærere er sjeldne, så trianglene måtte kuttes ut ved hjelp av en sporsag.

Dessverre lever vi heller ikke i en verden hvor enda et av trekantspanelene mine ville passe inn i laserskjæreren på skolen, så jeg måtte laserskjære en mal med halvparten av hver av trekantsdesignene og bruke den å bore hullene for hånd.

Jeg malte også baksiden av trekantene, de fleste av dem svarte og deretter seks tilfeldige sølv.

Trinn 11: Kabelbind LED -stripen til panelene

Kabelbind LED -stripen til panelene
Kabelbind LED -stripen til panelene
Kabelbind LED -stripen til panelene
Kabelbind LED -stripen til panelene

Dette var mye kabelbinding! Heldigvis hadde jeg noen venner å hjelpe.

Kabeletiketter

Jeg merket hver JST -kontakt med en fargekodet kabeletikett, for å gjøre det lettere når det gjelder å koble den til Fadecandy. De er regnbueordnet, så for hver Fadecandy er det:

  • Strip 1- Rød
  • Strip 2 - Oransje
  • Strip 3 - gul
  • Strip 4 - Grønn
  • Strip 5 - Blå
  • Strip 6 - Lilla
  • Strip 7 - Grå
  • Strip 8 - hvit

Ikke en eksakt regnbue, men det er fargene etikettene kom i og det fungerer!

(Noen av Fadecandys, de som bare driver 3 likebenede paneler, i stedet for 1 likesidet og 2 likebenede, bruker bare 6 strimler.)

Trinn 12: Heng panelene i kuppelen

Heng panelene i kuppelen
Heng panelene i kuppelen
Heng panelene i kuppelen
Heng panelene i kuppelen
Heng panelene i kuppelen
Heng panelene i kuppelen

Mine trekantede paneler er litt mindre enn gapet mellom stiverne, jeg ville at de skulle henge fritt i rommet i stedet for å feste dem solid til stagene.

Hengemetode

Hver node i kuppelen har en øyebolt - disse kommer ikke som standard, men Buildwithhubs selger dem i en pakke. Disse øyeboltene er perfekte for å henge ting på (men vær forsiktig så du ikke henger for mye vekt fra en node).

Jeg bestemte meg for å bruke paracord og små karabinklemmer. Ledningen sløyfes gjennom to hull i hvert hjørne av panelet. Karabinkroken fester snoren til øyebolten. For å stramme opp ledningen og sørge for at panelet er riktig plassert i rommet, la jeg også til en plastbryter til hver enkelt. Dette betyr at de enkelt kan klippes på mens de er løse, og deretter strammes opp etterpå for å plassere dem i midten av rommet.

Jeg er veldig fornøyd med hvordan karabinhagemetoden ble. Det er veldig tilfredsstillende å feste panelene på kuppelen, klikk klikk klikk. Det er raskt og enkelt å fjerne dem også.

Trinn 13: Lag strøm- og datadistribusjonspaneler

Lag strøm- og datadistribusjonspaneler
Lag strøm- og datadistribusjonspaneler
Lag strøm- og datadistribusjonspaneler
Lag strøm- og datadistribusjonspaneler

Så vi har loddet masse JST -kontakter til masse LED -stripe, men hva kobler de til?

Hver stripe må koble til strøm, bakken og data fra Fadecandy. Det er 11 tilkoblingspaneler som holder de 11 Fadecandys og distribuerer strøm fra de 11 strømforsyningene. Jeg laserskjærte disse panelene ut av det resterende 4 mm poppellaget. På siden er det spor for borrelåsstykker, som fester panelene pent til kuppelstiverne.

Makt

Hver LED bruker en 0,06A ved full lysstyrke. Dette betyr at den totale effekten som trengs for 4378 piksler for å kjøre på full effekt er ~ 1,3 kW.

Imidlertid har jeg i hovedsak 11 helt separate strømkretser. (De er bare tilkoblet via -ve via Fadecandy. Ikke koble til +ve for separate strømforsyninger, da dette er farlig.) Hver krets gir bare maksimalt 428 piksler, totalt 128W, så strømmen er på en mye tryggere nivå.

Strømforsyningene mine kan levere 150W hver (30A ved 5V).

På tilkoblingspanelet kommer strøm og jord inn fra strømforsyningen nederst, den er deretter koblet til wago -kontakter, som fordeler den over 8 mannlige JST -kontakter.

Data

Fadecandy er festet til venstre på panelet, og USB -kabelen kommer inn fra bunnen på samme måte som strømkablene.

Datakabelen til JST -kontakten er loddet til en stripe med kvinnelige tapper med en overskrift som kobles til pinnene på Fadecandy. En av jordpinnene på Fadecandy er koblet til jordkretsen. (Jordpinnene er alle koblet til hverandre, så det er ikke nødvendig å koble dem alle sammen)

Trinn 14: Stoffbelegg

Stoffbelegg
Stoffbelegg
Stoffbelegg
Stoffbelegg
Stoffbelegg
Stoffbelegg

Å sy sammen stoffbelegget var uventet en av de vanskeligste og tidkrevende delene av dette prosjektet. Heldigvis hadde jeg en venn til å hjelpe!

Oppsett

På det flate diagrammet av kuppelen kan du se at omslaget består av 5 femkanter som består av 5 likebenede trekanter hver, pluss 8 likesidede trekanter. Vi lagde omslaget i denne rekkefølgen - sydde sammen de fem femkantene først, deretter sammen med dem sammen med de likesidede trekanter.

(De svarte delene på diagrammet er åpne og avdekket.)

Måling

Vi prøvde å finne målingene for trekanter ved hjelp av matematikk som vanlige mennesker, men av en eller annen grunn fortsatte det å komme feil og passet ikke helt til kuppelen, så til slutt brukte vi et stykke polycord gjennom øyeboltene til nodene for å mål størrelsen, og bruk deretter denne polykordtrekanten som en mal. Jeg vet ikke hvorfor bruk av de kjente målingene av stiverne+nodehullene fortsatte å gå galt, 3D -trekanter er forvirrende.

Pentagoner

Da vi lagde de likebenede trekanter og sydde dem sammen til femkanter, hengte vi den ofte opp på kuppelen for å kontrollere at alt var i kø. Den er festet til kuppelen ved hjelp av små elastikkstykker som er sydd til punktene der trekantene møtes.

Koble det sammen

Når vi hadde laget de fem femkantene, begynte vi å kutte ut de likesidede trekanter ved hjelp av samme metode - polykord gjennom øyeboltene. Når vi sydde to av femkantene sammen på denne måten, innså vi at det ikke stilte godt i det hele tatt. Så i stedet bestemte vi oss for å henge opp alle femkantene i kuppelen og feste de likesidet trekanter på plass. Så, når alt var festet, tok vi det ned og vennen min sydde det sammen til et solid stykke.

Å feste det på denne måten var mye arbeid, mye av det med armene rett over hodet mitt ofte mens jeg prøvde å feste stoff fra utsiden av kuppelen, mens jeg stod på innsiden. Moro!

Merking

Underveis merket vi brikkene med en vannløselig stoffpenn … disse tingene er flotte, da du kan skrive direkte på stoffet og deretter sprite det med vann og blekket vil forsvinne (noen ganger tar det noen få ganger, men det fungerer)

Trinn 15: Heng opp stoffet

Image
Image

Stoffet henger i kuppelen med elastikklengder som er sydd på hvert punkt, disse fester seg til øyeboltene ved kuppelens noder.

Å knytte og løsne elastikkene er ikke like raskt som å klippe på panelene, så jeg vil gjerne bytte ut denne metoden med karabinkroker eller et annet klipp på et tidspunkt.

Trinn 16: Fest Kinect

Gulv
Gulv

I en dristig visning av tillit til universet, målte jeg ikke på noe tidspunkt gapet mellom panelene for å sikre at en Kinect faktisk ville passe. (Ikke si det til lærerne mine)

Du kan forestille deg min glede da det passet slik.

Dette bildet viser en Kinect v2, men jeg endte opp med å bruke en Kinect v1 av grunner som jeg skal komme nærmere inn på senere.

Den er bare festet til fjærbeina ved hjelp av dobbeltsidig borrelåsbånd.

Trinn 17: Gulv

Gulvet er laget av sammenlåsende EVA -skummatter som jeg fikk fra B&Q. Jeg har brukt disse til to prosjekter nå, og det er flott for innendørs. Det er veldig behagelig å sitte på.

Utendørs på vindfulle festivaler som Burning Man må den sikres overalt fordi vinden kommer rett under den og løfter det hele.

Trinn 18: Det er Build Done … On the Code

Takk for at du holder med meg så langt. Det er alt av den fysiske bygningen som er gjort. La oss nå diskutere programvaren.

Trinn 19: Fadecandy Server

Fadecandy Server
Fadecandy Server
Fadecandy Server
Fadecandy Server

Last ned programvaren

Fadecandy -programvaren er tilgjengelig her.

Last ned hele githuben og pakk den ut.

Kjør serveren

Naviger til "bin" -mappen inne i fadecandy -tingene du nettopp lastet ned.

Klikk på fcserver.exe.

Dette vil laste inn et cmd -vindu som viser alle de tilkoblede Fadecandy -enhetene. I dette tilfellet er det 11.

Test lysdiodene

Naviger til https://127.0.0.1:7890/ for å se brukergrensesnittet til Fadecandy -serveren. Dette viser alle de tilkoblede enhetene igjen, og gir en liten kontroll.

Hvis du klikker på rullegardinmenyen for testmønster, kan du sette alle pikslene for Fadecandy til full eller halv lysstyrke. Det er også mulig å få den lille grønne LED -lampen på selve fadecandy til å blinke ved å klikke "identifiser".

Trinn 20: Konfigurer Fadecandy -serveren

Konfigurer Fadecandy -serveren
Konfigurer Fadecandy -serveren

Akkurat nå er Fadecandys alle lastet inn i en tilfeldig rekkefølge. Tidligere merket jeg trekantene mine 1-11, men det er ingen måte for datamaskinen å vite hvilken som er hvilken for øyeblikket. For å gjøre det må vi lage en konfigurasjonsfil.

Hvilken Fadecandy er hvilken

Før vi kan fortelle datamaskinen hvilken rekkefølge Fadecandys er i, må vi finne ut hvilken som er hvilken selv. Jeg gjorde dette ved å bruke nettleserens brukergrensesnitt for å få hver seksjon til å lyse, og deretter notere hvilken den var og hva serienummeret er.

Konfigurasjonsfilen

I konfigurasjonsfilen viser vi alle serienumrene, indekspikselene de starter på og hvor mange piksler de teoretisk kontrollerer. Jeg sier teoretisk fordi jeg vil kartlegge pikslene som om det er 512 per Fadecandy, selv om det faktisk er færre. Dette gjør det bare enklere ettersom vi vet at den første pikslen i en hvilken som helst Fadecandy alltid er [Fadecandy -nummer * 512].

Fadecandy bryr seg ikke om at hver enkelt har færre piksler enn maksimum, og vi tar oss av det også i behandlingskoden.

Laster inn konfigurasjonsfilen

Nå, for å starte Fadecandy -serveren, i stedet for bare å klikke fcserver.exe, må vi sende denne konfigurasjonsfilen til den.

Vi gjør dette ved å åpne en cmd -melding inne i mappen og skrive

fcserver config.json

Dette vil nå laste alle Fadecandys i de riktige adressene.

Trinn 21: Kartlegging av pikslene

Image
Image
Kinect -integrasjon
Kinect -integrasjon

Dymaxion -kartlegging

Buckminster Fuller (som populariserte geodesiske kupler), opprettet også dymaxion -kartet, som er en representasjon av jorden som om den var på overflaten av en icosahedron. Den kan brettes for å være 3D eller flat ut til å være 2D.

Mye på samme måte flater jeg ut overflaten på kuppelen min fra 3D -formen til en 2D -representasjon, som vist på det vedlagte bildet. Denne 2D -representasjonen vil bli kartlagt til et behandlingslærred der alt jeg tegner på lerretet umiddelbart vises over lysdiodene.

Behandling

Prosessering er et visuelt programmeringsspråk. Akkurat som hvordan du tegner et rektangel i Photoshop ved hjelp av musen, kan du tegne et rektangel i Processing ved å skrive kode slik:

rett (100, 80, 10, 50);

Det vil gi deg et rektangel som starter 100 px inn, 80 px ned, 10 px bredt og 50 px høyt.

Hvis du ikke er kjent med Processing, anbefaler jeg Daniel Shiffmans veiledninger på Youtube som er like underholdende som informative.

Tegne linjer av lysdioder

Behandlingen fungerer med Fadecandy ut av esken. Det er en funksjon for å sette ut lysdioder i linjer, ved å fortelle det:

  • startindeksen / adressen til lysdiodene i den linjen
  • det faktiske antallet piksler på linjen
  • x, y plasseringen av midten av linjen
  • avstanden mellom dem
  • linjens vinkel

Tegning av trekanter

Jeg skrev en funksjon for hver av mine trekanter (like- og likebent). Jeg forteller det:

  • startindeksen / adressen til lysdiodene i hele denne trekanten
  • midten av trekanten
  • vinkelen hele trekanten er på

Fra denne informasjonen skriver den ut linjene til lysdioder, ved hjelp av trigonometri for å plassere dem riktig på behandlingslerretet.

(Du husker kanskje mange skritt tilbake, jeg påpekte at på grunn av Fadecandys beliggenhet, starter noen like -ens trekanter ved den lengste stripen og noen på den korteste, og noen kommer inn fra venstre og noen til høyre. Dette betyr at jeg har faktisk fire funksjoner for likebenede trekanter)

Om adresser

Når jeg sier indeks / adresse, refererer jeg til hvordan Fadecandy adresserer lysdiodene.

f.eks.

  • På den første Fadecandy starter den første stripen på 0
  • På den første Fadecandy starter den andre stripen på 64 (uansett hvor mange piksler som faktisk er på den første stripen)

På den første Fadecandy starter den tredje stripen på 128 (uansett hvor mange piksler som faktisk er på de to første stripene)

  • På den andre Fadecandy starter den første stripen på 512 (uansett hvor mange piksler som faktisk er i den første Fadecandy
  • På den andre Fadecandy starter den andre stripen på 576 (… du får ideen)

Kode

En "blank" versjon av min kuppelkode er tilgjengelig på github her.

Denne koden inneholder kartleggingen beskrevet ovenfor, men ingen grafikk bortsett fra en sirkel tegnet der musen er.

n.b Pikslene gjengis bare i denne koden hvis du har Fadecandy -serveren i gang.

Trinn 22: Kinect -integrasjon

Kinect 1 eller 2?

Det er to versjoner av Kinect. Kinect v1 jobbet med Xbox 360, mens Kinect v2 jobbet med Xbox One (forvirrende).

Jeg bruker en Kinect v1. En del av grunnen til dette er at det er veldig vanskelig å forlenge lengden på USB -kabelen på Kinect v2 på grunn av mengden data som sendes. Det krever en dyr og vanskelig å finne skjøteledning. Siden min Kinect er montert på toppen av kuppelen, kan jeg ikke koble en Kinect v2 direkte til skrivebordet på gulvet. Et latterlig problem å ha, men der er vi.

Noen av fotografiene og videoene mine viser en Kinect v2, dette er fordi jeg i utgangspunktet hadde et oppsett hvor jeg hadde Kinect v2 koblet til en bærbar kabel knyttet halvveis opp i kuppelen, som sendte informasjon over OSC til skrivebordet som kontrollerer lysdiodene. Dette fungerte bra for noen applikasjoner, men når jeg ønsket å bruke hele dybdestrømmen, kunne jeg ikke sende det over hele OSC, så jeg byttet til Kinect v1.

Installasjon

Jeg kommer ikke til å snakke gjennom installering av SDK og få de riktige kablene for Kinect, da det er mange guider for hvordan du gjør det. Jeg har SDK v1.8 installert, og inne i prosessering bruker jeg OpenKinect -biblioteket.

Trinn 23: Kinect dybdesporing

Kode

Koden min er tilgjengelig på github her. Det er ganske godt kommentert, så ta en titt!

Dette er en oversikt over hva koden gjør:

Kinect -dybdekamerainnmating er kartlagt til farge (f.eks. Langt borte = rødt, nært = grønt), og vises direkte over lysdiodene. Men det er mer enn det.

For det første dithes fargen på hver piksel i dybdemating frem og tilbake rundt den faktiske fargen, for å gi en glitrende effekt.

For det andre, når du starter skissen, klikker du med musen for å ta en bakgrunnslesning, da vises bare piksler som er nærmere enn bakgrunnslesningen. Dette forhindrer at gulvet/eventuelle puter/strukturen i kuppelen dukker opp.

Det er også en funksjon for å tilbakestille bakgrunnen for å lese hver x -ramme, så hvis folk inne i kuppelen ligger stille, vil de ikke dukke opp. Dette betyr at faktisk bevegelse skiller seg ut, i stedet for å vise hele klumpete masse dyp tull. (Jeg vil snart erstatte dette med en lerped versjon, så bakgrunnen gjør ikke en så "hard" tilbakestilling, men utvikler seg heller over tid)

Det er også en bakgrunnsanimasjon som viser klynger av fargeklatter, mengden klynger er omvendt kartlagt til mengden handling som skjer i kuppelen, så hvis ingen er tilstede eller de er fremdeles, er det mye animasjon. Så forsvinner det gradvis etter hvert som det skjer mer bevegelse inni.

Trinn 24: Dome Done

Image
Image
Dome Done!
Dome Done!
Dome Done!
Dome Done!

Jeg håper du lærte noe og fant dette interessant. Sjekk ut hele videoen som har en haug med opptak av kuppelen som fungerer.

Jeg har også inkludert her for moro skyld noen lange eksponeringsfotografier jeg tok av When in Dome. Nyt!

Make it Glow Contest 2018
Make it Glow Contest 2018
Make it Glow Contest 2018
Make it Glow Contest 2018

Førstepremie i Make it Glow Contest 2018

Anbefalt: