INHOUDSOPGAWE:

Interaktiewe LED -koepel met Fadecandy, verwerking en Kinect: 24 stappe (met foto's)
Interaktiewe LED -koepel met Fadecandy, verwerking en Kinect: 24 stappe (met foto's)

Video: Interaktiewe LED -koepel met Fadecandy, verwerking en Kinect: 24 stappe (met foto's)

Video: Interaktiewe LED -koepel met Fadecandy, verwerking en Kinect: 24 stappe (met foto's)
Video: Leap Motion SDK 2024, Julie
Anonim
Image
Image
Interaktiewe LED -koepel met Fadecandy, verwerking en Kinect
Interaktiewe LED -koepel met Fadecandy, verwerking en Kinect
Interaktiewe LED -koepel met Fadecandy, verwerking en Kinect
Interaktiewe LED -koepel met Fadecandy, verwerking en Kinect
Interaktiewe LED -koepel met Fadecandy, verwerking en Kinect
Interaktiewe LED -koepel met Fadecandy, verwerking en Kinect

Wat

In die koepel is 'n 4,2 m geodetiese koepel bedek met 4378 LED's. Die LED's is almal individueel gekarteer en aangespreek. Hulle word beheer deur Fadecandy en Processing op 'n Windows -tafelblad. 'N Kinect is aan een van die stutte van die koepel geheg, sodat beweging binne -in die koepel gevolg kan word en mense met die ligte kan omgaan.

Hoekom

Ek ondersoek groepservaring deur gedeelde interaksie. Ek hou daarvan om koppelvlakke te maak wat baie mense tegelyk kan gebruik. Die LED-oppervlak van die koepel is geskik vir 'n multi-gebruikerskoppelvlak omdat dit groot is, sodat baie mense dit kan sien. Die koepel skep ook 'n gesellige, sferiese ruimte wat mense aanmoedig om na mekaar toe te draai. Die Kinect werk uitstekend as 'n invoer vir meer gebruikers, omdat mense terselfdertyd kan rondbeweeg en die diepteveld kan beïnvloed; die enigste beperking is hoeveel mense saam in die ruimte kan pas.

Ek ontwikkel voortdurend nuwe metodes van interaksie vir When in Dome, om te sien watter effek verskillende insetmetodes het en wat goed werk vir verskillende groepe mense. Ek is veral opgewonde om te sien watter koppelvlakke die verbinding tussen vriende en vreemdelinge in die koepel aanmoedig, en wat die gedeelde ervaring sinvol en die moeite werd laat voel.

Waar

Ek het When in Dome ontwerp en gebou as die finale projek vir my meestersgraad, wat ontwerp was vir prestasie en interaksie by die Interactive Architecture Lab, The Bartlett, UCL.

Hoe

Sommige van die tegnologieë en gereedskap wat gebruik word:

  • Fadecandy
  • Verwerking
  • Kinect (ek het myne van eBay gekry)
  • Mitersaag
  • Spoorsaag
  • Naaimasjien
  • Soldeerbout
  • Hittegeweer
  • Warm gom geweer
  • Lasersnyer
  • Boor

Sommige van die toerusting wat gebruik word:

  • Bou met hub -kit
  • Behandelde gesaagde hout vir koepelsteun
  • 4 mm populier laaghout
  • Wit diffusiestof
  • Swart stof
  • Aluminium plat staaf
  • Wago verbindings
  • 12awg en 24awg kabel
  • 5v 30A kragtoevoer
  • Skuimvloer
  • JST -verbindings
  • Kapasitors

Kom ons gaan

Daar is baie komponente in hierdie projek wat ek sal bespreek, ek hoop dat u iets bruikbaar en interessant binne vind!

Stap 1: Die koepel

Die Koepel
Die Koepel
Die Koepel
Die Koepel

Hub Kit

Ek het besluit om my koepel te bou met 'n kit van buildwithhubs, en ek sal dit beslis aanbeveel.

Hulle verkoop kits verbindings en gee advies oor watter materiaal om vir die stutte te koop. Die meeste van hul koepels word in die tuine van mense gebruik, terwyl myne in die openbaar is, en ek het ook hul ekstra veilige kappies gekoop, sodat die stutte nie uitkom as iemand op die koepel leun nie.

Grootte

My koepel het 'n deursnee van 4,2 m. Ek het hierdie grootte gekies omdat dit beteken dat die langste kant van die driehoeke wat die koepel vorm, 1,2 m sou wees, en dit pas goed in laaghoutblaaie toe ek die panele kom maak om die LED's te hou.

Stap 2: Maak die stutte

Image
Image

Lengte

Ek het die stutrekenaar van buildwithhubs gebruik om die lengtes te bereken wat nodig is om 'n koepel van 4,2 m te maak. 30 "kortbroek" op 1059 mm en 35 "lengtes" by 1209 mm.

Materiaal

2 pakke van 24 19 mm x 38 mm x 2400 mm gesaagde hout van B&Q (soos aanbeveel op die bouwerk met buite) is genoeg vir een koepel. Dit werk goed genoeg, maar as ek dit weer doen, kry ek iets wat meer laterale krag het.

Proses

Die stutte is in lengte gesny met 'n versteksaag en dan het ek dit geverf deur dit plat op 'n stofvel te lê en daaroor te rol. Dit het 'n prettige tydsverloop gemaak!

Daarna het ek dit in bondels van 6 op 'n slag saamgebind en die verbindingsstukke aan die punte vasgemaak.

Stap 3: Bou die koepel

Sodra die stutte gemaak is, is die bou van die koepel baie maklik. Ek gaan nie die proses in detail bespreek nie, want daar is instruksies op die buildwithhubs -webwerf en dit bevat ook 'n boekie.

Stap 4: Verhoog dit

Beplan hoe die LED's moet lyk
Beplan hoe die LED's moet lyk

Ek wou nie hê dat die LED -panele reg langs die vloer sou wees nie, aangesien dit sou beteken dat baie daarvan deur mense in die koepel geblokkeer sou word. Ek wou ook die koepel hoër maak, sodat dit ruimer en verwelkomender voel.

Bene

Ek het 50cm hoë pote gemaak van 2x4s en dieselfde verbindings as die stutte vasgemaak.

Om die sterkte en strukturele integriteit van die basis te verhoog, het ek 'n plat staaf van aluminium gebruik om X tussen elke beenafdeling te skep.

Die deur

Ek het een van die horisontale stutte verwyder om 'n deuropening te maak, en dit vervang met 'n stuk laaghout op die vloer om die bene op die regte afstand te hou.

Stap 5: Beplan hoe die LED's moet lyk

Sagteware

Ek het SketchUp gebruik vir my 3D-beplanningswerk omdat dit gratis in 'n blaaier-app beskikbaar is. Gelukkig (aangesien ek nie 'n 3D -modelkenner is nie), het ek 'n geodesiese koepelmodel in die 3D -pakhuis gevind, waar daar baie modelle gratis is.

Hoeveel LED's?

Die uitleg moes estetika, maar ook krag- en dataverspreiding in ag neem. Ek het besluit om 11 Fadecandys (en 11 kragbronne) te gebruik om 33 van die driehoeke van die koepel te bedek. Dit sou beteken dat die Fadecandys (en kragbronne) elk drie driehoeke sou ry, en dat die een kant van die koepel oop kon wees sodat mense van buite kon sien.

Dit het my 'n maksimum van 512 LED's per 3 driehoeke gegee, aangesien elke Fadecandy 8 stroke van tot 64 elk kan dryf.

Besluit oor 'n uitleg

Nie alle driehoeke is gelyk geskep nie! My koepel is 'n 2V -styl, wat beteken dat dit twee soorte driehoeke, gelyksydige en gelykbenige het.

Ek het met vier verskillende moontlike uitlegte vir die LED's vorendag gekom en na Instagram gegaan om mense te vra waarvan hulle die beste hou. Styl 1 en styl 3 blyk bo uit te kom. Styl 3 was my gunsteling, maar die konsentriese driehoeke in styl 3 vereis eintlik meer LED -strook as die gestreepte uitleg, so ek het besluit op styl 1. Dit beteken dat daar 8 gelyksydige driehoeke met konsentriese driehoek -LED -uitleg is, en 25 gelykbenige driehoeke met gestreepte LED uitleg.

Aangesien die gelyksydige driehoeke groter is en die konsentriese uitleg bevat, gebruik hulle baie meer LED's as die gelykbenige driehoeke. Daarom moes ek die gelykvorme oor die Fadecandys verdeel.

8 van die Fadecandys beheer 1 gelyksydige en 2 gelykbenige driehoeke elk. 3 van die Fadecandys beheer 3 gelykbenige driehoeke elk.

Stap 6: Meer oor die LED -uitleg

Meer oor die LED -uitleg
Meer oor die LED -uitleg
Meer oor die LED -uitleg
Meer oor die LED -uitleg

Met die algemene uitleg besluit, moes ek presies uitvind hoeveel LED's ek op elke paneel sou sit. Ek het dit gedoen met behulp van 'n kombinasie van 'n sigblad om die beste manier uit te werk om die Fadecandy se vermoëns en tekeninge in Illustrator te maksimeer, sodat ek kon sien hoe die uitleg sou lyk.

Die maksimalisering van die vermoë van die Fadecandy: lyne en stroke

Ek het vroeër genoem dat elke Fadecandy tot 8 stroke van 64 pixels elk kan dryf. My driehoeke bevat baie lyne van verskillende pixel lengtes, sommige lyne met baie min pixels.

As ek elkeen van die reëls as 'n strook sou behandel, sou ek baie van die Fadecandy se vermoë verloor.

Omgekeerd, as ek die vermoë van die Fadecandy heeltemal wil benut en 64 LED's op elke strook wil hê, moet ek 'n paar stroke hê wat in die middel van 'n lyn begin, en dit sal verwarrend wees om later te kan karteer.

Ek moes uitvind hoe ek die lyne die beste in stroke kan verbind om die strookvermoë soveel as moontlik te benut sonder om lyne te skei.

Op die ou end…

Gelyksydige panele het vier stroke, wat bestaan uit:

  • 30, 30 (60 totaal - rooi op aangehegte prent)
  • 30, 22 (52 in totaal - oranje op aangehegte prent)
  • 22, 22, 14 (58 totaal - geel op aangehegte prent)
  • 14, 14, 6, 6, 6 (46 in totaal - groen op aangehegte prent)

Gelykbenige panele het twee stroke, wat bestaan uit:

  • 23, 28 (51 in totaal - blou op aangehegte prent)
  • 3, 7, 11, 15, 19 (55 totaal - pers op aangehegte prent)

Stap 7: Lê die Fadecandys en kragbronne uit

Lê die modelle en kragtoevoer uit
Lê die modelle en kragtoevoer uit

Hierdie beeld toon 'n afgeplatte aansig van die oppervlak van die koepel.

Die LED panele

Elke driehoekpaneel is gemerk met 'n nommer 1-11, wat verwys na die Fadecandy wat dit beheer. Elke Fadecandy het drie driehoeke, sodat die driehoeke ook 'n letter A-C het.

Ander elemente

Die groen blokkies toon die ligging van die Fadecandys. Elke Fadecandy is gemonteer op 'n klein paneel wat ook die krag versprei. Ek sal dit in 'n paar stappe in detail wys.

Die pers bokse wys die USB -hubs. Die Fadecandys is via hierdie hubs aan 'n Windows -tafelblad gekoppel.

Die blou bokse wys die ligging van die kragtoevoer, wat in drie droogkaste geleë is, op die vloer rondom die koepel.

Net om dit effens meer ingewikkeld te maak

As u die ligging van FC10 en FC11 vergelyk, sal u sien dat FC10 die naaste aan die langste lyn van sy gelykbenige panele is, terwyl FC11 die naaste aan die kortste lyn is.

As u ook na 10C kyk, sal u sien dat die Fadecandy regs daarvan is, terwyl 10A aan die linkerkant is.

Ek moes hierdie variasies in ag neem by die oorweging van hoeveel kabel elke LED -strook aan die begin nodig gehad het en by die kartering daarvan.

Stap 8: Draai lyne in stroke

Draaiende lyne in stroke
Draaiende lyne in stroke

Hierdie sigblad was om uit te vind hoeveel kabel nodig is om aan die begin van elke gedeelte van die LED -strook te gaan.

Hoeveel kabel is nodig?

Sommige lyne het die naam "jst", wat beteken dat dit die begin van die strook is en net 'n JST -aansluiting benodig.

Sommige stroke het 'jst' en 'n lengte, wat beteken dat die strook 'n entjie van die Fadecandy af begin (soos ons in die vorige stap gesien het), en die lengte van die kabel benodig om dit te bereik voordat die JST -aansluiting bygevoeg word.

Sommige stroke het net 'n lengte, wat beteken dat hulle met die lengte van die kabel aan die stuk strook voor hulle gekoppel moet word.

Stap 9: Berei die LED -strook voor

Voorbereiding van die LED -strook
Voorbereiding van die LED -strook
Voorbereiding van die LED -strook
Voorbereiding van die LED -strook

Die LED strook

Ek gebruik 'n ws2812b -styl LED -strook, wat drie insette het, 5V krag, grond en data. Deur die 3-pins vroulike JST-verbindings te gebruik, kan ek afsonderlik met elkeen van hierdie penne koppel. Die manlike eweknieë van die JST -verbindings sal die krag en data verskaf.

Soldeer

Met behulp van my sigblad van die vorige stap, sny ek al die LED -strook in die vereiste lengtes, gesoldeer op die vereiste kabellengtes en die JST -verbindings. Ek het ook 'n kondensator aan die begin van elke strook aangebring, om te voorkom dat die piek in die aanvanklike stroom die eerste pixel in die strook verwoes. (Dit het al voorheen gebeur in vorige projekte waar ek nie die kapasitor bygevoeg het nie, so dit is beslis die moeite werd.)

Verseëling

Ek het 'n bietjie RTV-silikoon by die blootgestelde deel van die strook gevoeg, dit met 'n duidelike hittekrimpie bedek en met 'n hittegeweer geblaas om die waterdigtheid weer toe te maak.

Stap 10: Maak die panele

Maak die panele
Maak die panele

Materiaal

Ek het besluit om 4 mm populier laaghout te gebruik om die panele te maak. Ek het dit dun gehou om gewig te verminder. Ek het die totale gewig van die laaghout uitgewerk en met builds in verbinding getree om te kyk of ek binne die gewigstoelae was om goed aan die koepelstruktuur te hang. Aangesien die gewig redelik eweredig oor die koepel versprei is, is dit goed. Ek sou baie graag akriel wou gebruik, maar ongelukkig was dit buite die begroting vir my vir hierdie projek.

LED strook bevestiging

Ek wou nie die LED -strook direk op die panele plak nie, aangesien ek gedeeltes van die foutiewe strook wou vervang en moontlik die strook moontlik weer kon gebruik, en ek het besluit om gate in die panele te maak om te gebruik kabel bande. Die kolletjies op die aangehegte prent toon die uitleg van die kabeldraadgate.

Knip die panele uit

Daar is in totaal 33 driehoeke, en ek pas in 9 velle 2440 x 1220 mm laaghout via die uitleg wat u in die aangehegte prentjie sien.

In 'n ideale wêreld sou ek elk van die 9 velle laag direk in 'n lasersnyer gedruk het en die driehoeke en die kabelbinders op dieselfde tyd gesny het. Ongelukkig leef ons in 'n wêreld waar 2440 x 1220 mm lasersnyers skaars is, en daarom moes die driehoeke met 'n spoorsaag uitgesny word.

Maar ongelukkig leef ons ook nie in 'n wêreld waarin selfs een van my driehoekpanele in die lasersnyer by die skool sou pas nie, so ek moes 'n sjabloon van die helfte van elk van die driehoekontwerpe lasersny en dit gebruik om die gate met die hand te boor.

Ek het ook die agterkant van die driehoeke geverf, die meeste swart en dan ses ewekansige silwer.

Stap 11: Bind die LED -strook aan die panele vas

Bind die LED -strook aan die panele vas
Bind die LED -strook aan die panele vas
Bind die LED -strook aan die panele vas
Bind die LED -strook aan die panele vas

Dit was baie kabelbinders! Gelukkig het ek 'n paar vriende om te help.

Kabel etikette

Ek het elke JST -aansluiting met 'n kleurgekodeerde kabeletiket gemerk, om dit makliker te maak as dit by die Fadecandy aansluit. Hulle is reënboog bestel, so vir elke Fadecandy is daar:

  • Strook 1- Rooi
  • Strook 2 - Oranje
  • Strook 3 - geel
  • Strook 4 - Groen
  • Strook 5 - Blou
  • Strook 6 - Pers
  • Strook 7 - Grys
  • Strook 8 - Wit

Nie 'n presiese reënboog nie, maar dit is die kleure waarop die etikette verskyn en dit werk!

(Sommige van die Fadecandys, dié wat slegs 3 gelykbenige panele aandryf, eerder as 1 gelyksydig en 2 gelykbenig, gebruik slegs 6 stroke.)

Stap 12: Hang die panele in die koepel

Hang die panele in die koepel
Hang die panele in die koepel
Hang die panele in die koepel
Hang die panele in die koepel
Hang die panele in die koepel
Hang die panele in die koepel

My driehoekige panele is effens kleiner as die gaping tussen die stutte, ek wou hê hulle moet vrylik in die ruimte hang, eerder as om dit stewig aan die stutte vas te maak.

Hang metode

Elke knoop van die koepel het 'n oogbout - dit kom nie standaard nie, maar Buildwithhubs verkoop dit wel in 'n pakkie. Hierdie oogboute is perfek om goed aan te hang (alhoewel, wees versigtig om nie te veel gewig aan een knoop te hang nie).

Ek het besluit om paracord en klein karabynhakies te gebruik. Die tou loop deur twee gate in elke hoek van die paneel. Die karabyn hou die tou vas aan die oogbout. Om die tou vas te trek en seker te maak dat die paneel korrek in die ruimte geplaas is, het ek ook 'n plastiekknoppie by elkeen gevoeg. Dit beteken dat hulle maklik vasgeknip kan word terwyl hulle los is, en daarna vasgemaak word om hulle in die middel van die ruimte te plaas.

Ek is baie tevrede met hoe die karabynmetode uitgedraai het. Dit is baie bevredigend om die panele aan die koepel vas te maak; klik klik klik. Dit is ook vinnig en maklik om dit te verwyder.

Stap 13: Maak panele vir krag- en dataverspreiding

Maak panele vir krag- en dataverspreiding
Maak panele vir krag- en dataverspreiding
Maak panele vir krag- en dataverspreiding
Maak panele vir krag- en dataverspreiding

Ons het dus baie JST -verbindings aan baie LED -strokies gesoldeer, maar wat moet hulle inskakel?

Elke strook moet aansluit by krag, grond en data van die Fadecandy. Daar is 11 aansluitpanele wat die 11 Fadecandys bevat en krag uit die 11 kragbronne versprei. Ek lasersny hierdie panele uit oorblywende 4 mm populierlaag. Aan die kant is daar gleuwe vir stukke klittenband wat die panele netjies aan die koepelsteun vasmaak.

Krag

Elke LED gebruik 'n 0.06A by volle helderheid. Dit beteken dat die totale krag wat nodig is vir 4378 pixels om op volle krag te werk ~ 1,3 kW is.

Ek het egter in wese 11 heeltemal aparte kragbane. (Hulle word slegs via -ve via die Fadecandy verbind. Moenie die +ve van afsonderlike kragtoevoer aansluit nie, aangesien dit gevaarlik is.) Elke stroombaan het slegs 'n maksimum van 428 pixels, 'n totaal van 128W, sodat die stroom op 'n baie veiliger vlak.

My kragtoevoer kan 150W elk lewer (30A by 5V).

Op die aansluitpaneel kom die krag en die grond van die kragtoevoer onderaan, dit word dan gekoppel aan wago -verbindings, wat dit versprei oor 8 manlike JST -verbindings.

Data

Die Fadecandy is aan die linkerkant van die paneel aangebring, en die USB -kabel kom dieselfde as die kragkabels van onder af in.

Die datakabel van die JST -aansluiting word aan 'n strook enkelpennetjies vasgemaak wat in die penne van die Fadecandy aansluit. Een van die grondpenne op die Fadecandy is aan die grondkring gekoppel. (Die grondpenne is almal met mekaar verbind, dus is dit nie nodig om dit almal te verbind nie)

Stap 14: Stofbedekking

Stofbedekking
Stofbedekking
Stofbedekking
Stofbedekking
Stofbedekking
Stofbedekking

Om die stofbedekking aanmekaar te maak, was onverwags een van die moeilikste en tydrowendste dele van hierdie projek. Gelukkig het ek 'n vriend om te help!

Uitleg

Op die afgeplatte diagram van die koepel kan u sien dat die omhulsel bestaan uit 5 vyfhoeke wat elk uit 5 gelykbenige driehoeke bestaan, plus 8 gelyksydige driehoeke. Ons het die omslag in hierdie volgorde gemaak - eers die 5 vyfhoeke aanmekaargewerk en dit dan met die gelyksydige driehoeke saamgevoeg.

(Die swart gedeeltes op die diagram is oop en onbedek.)

Meet

Ons het probeer om die afmetings vir die driehoeke te bereken met behulp van wiskunde soos normale mense, maar om een of ander rede het dit steeds verkeerd gekom en pas dit nie heeltemal by die koepel nie, dus het ons uiteindelik 'n stuk polycord deur die oogboute van die knope gebruik meet die grootte en gebruik dan hierdie polikoorddriehoek as sjabloon. Ek weet nie hoekom die gebruik van die bekende metings van die stutte+node gapings verkeerd bly nie, 3D -driehoeke is verwarrend.

Pentagons

Terwyl ons die gelykbenige driehoeke gemaak en aan vyfhoeke vasgemaak het, het ons dit gereeld aan die koepel gehang om te kyk of alles in lyn is. Dit word aan die koepel vasgemaak met klein stukke rekkies wat vasgewerk is tot by die punte waar die driehoeke bymekaar kom.

Saam aansluit

Nadat ons die vyf vyfhoeke laat maak het, het ons begin om die gelyksydige driehoeke met dieselfde metode uit te sny - polikoord deur die oogboute. Sodra ons twee van die vyfhoeke op hierdie manier aanmekaar vasgemaak het, het ons besef dat dit glad nie goed in lyn was nie. Daarom het ons besluit om al die vyfhoeke in die koepel op te hang en die gelyksydige driehoeke daaraan vas te maak. Toe dit eers vasgemaak is, het ons dit afgeneem en my vriend het dit in 'n soliede stuk vasgemaak.

Dit was baie werk om dit op hierdie manier vas te maak, baie met my arms reg bokant my kop terwyl ek stof aan die buitekant van die koepel probeer vassteek terwyl ek aan die binnekant staan. Pret!

Etikettering

Onderweg het ons die stukke met 'n wateroplosbare stofpen gemerk … hierdie dinge is wonderlik, aangesien u direk op die stof kan skryf en dit dan met water kan spuit en die ink sal verdwyn (soms neem dit 'n paar keer, maar dit werk nie))

Stap 15: Hang die stof op

Image
Image

Die weefsel word in die koepel gehang deur elastieklengtes wat op elke punt vasgewerk is, wat aan die oogboute by die knope van die koepel vasgemaak word.

Om die rekkies vas te maak en los te maak, is nie so vinnig soos om op die panele te knip nie, so ek wil hierdie metode op 'n stadium vervang met karabiners of 'n ander snit.

Stap 16: Bevestig die Kinect

Vloer
Vloer

Ek het in geen geval die gaping tussen die panele gemeet om seker te maak dat 'n Kinect werklik pas nie. (Moet asseblief nie vir my tutors vertel nie)

U kan my vreugde voorstel toe dit so pas.

Hierdie foto toon 'n Kinect v2, maar ek het uiteindelik 'n Kinect v1 gebruik om redes wat ek later sal bespreek.

Dit is net aan die stut vasgemaak met dubbelzijdige klittenband.

Stap 17: Vloer

Die vloer is gemaak van EVA -skuimmatte wat ek by B&Q gekry het. Ek het dit nou vir twee projekte gebruik en dit is ideaal vir binnenshuis. Dit is baie gemaklik om op te sit.

Buitelug op winderige feeste soos Burning Man moet dit oral vasgemaak word, want die wind sal reg onder hom kom en die hele ding oplig.

Stap 18: Dit is die gebou klaar … op die kode

Dankie dat u tot dusver by my bly. Dit is alles van die fisiese bou. Kom ons bespreek nou die sagteware.

Stap 19: Fadecandy Server

Fadecandy -bediener
Fadecandy -bediener
Fadecandy -bediener
Fadecandy -bediener

Laai die sagteware af

Die Fadecandy -sagteware is hier beskikbaar.

Laai die hele github af en pak dit uit.

Begin die bediener

Navigeer na die 'bin' -lêergids in die fadecandy -goed wat u pas afgelaai het.

Klik op fcserver.exe.

Dit laai 'n cmd -venster met al die gekoppelde Fadecandy -toestelle. In hierdie geval is daar 11.

Toets die LED's

Gaan na https://127.0.0.1:7890/ om die gebruikersinterface van Fadecandy -bediener te sien. Dit wys weer alle gekoppelde toestelle en gee 'n klein bietjie beheer.

Deur op die keuselys van die toetspatroon te klik, kan u alle pixels vir die Fadecandy op volle of half helderheid stel. Dit is ook moontlik om die klein groen LED op die fadecandy self te laat knip deur op "identifiseer" te klik.

Stap 20: Stel die Fadecandy -bediener op

Stel die Fadecandy -bediener op
Stel die Fadecandy -bediener op

Op die oomblik word die Fadecandys almal in 'n ewekansige volgorde gelaai. Vroeër het ek my driehoeke 1-11 benoem, maar die rekenaar kan op die oomblik nie weet watter een is nie. Om dit te kan doen, moet ons 'n config -lêer skep.

Watter Fadecandy is watter

Voordat ons die rekenaar kan vertel in watter volgorde die Fadecandys is, moet ons self uitvind watter een is. Ek het dit gedoen deur die UI van die blaaier te gebruik om elke afdeling te laat brand, en dan aan te meld watter dit was en wat die reeksnommer is.

Die config -lêer

In die konfigurasielêer lys ons al die reeksnommers, die indekspiksel waarmee hulle begin en hoeveel pixels hulle teoreties beheer. Ek sê teoreties, want ek sal die pixels in kaart bring asof daar 512 per Fadecandy is, alhoewel dit eintlik minder is. Dit maak dit net makliker, aangesien ons weet dat die eerste pixel van enige Fadecandy altyd [Fadecandy -nommer * 512] is.

Die Fadecandy gee nie om dat elkeen eintlik minder pixels as die maksimum het nie, en ons sal dit ook in die verwerkingskode hanteer.

Laai tans die konfigurasielêer

Om die Fadecandy -bediener te begin, moet ons hierdie konfigurasielêer in plaas daarvan om net op fcserver.exe te klik.

Ons doen dit deur 'n cmd -prompt in die vouer oop te maak en te tik

fcserver config.json

Dit laai nou al die Fadecandys in die regte adresse.

Stap 21: kartering van die pixels

Image
Image
Kinect -integrasie
Kinect -integrasie

Dymaxion kartering

Buckminster Fuller (wat geodesiese koepels gewild gemaak het), het ook die dymaxionkaart gemaak, wat 'n voorstelling van die aarde is asof dit op die oppervlak van 'n icosahedron was. Dit kan gevou word om 3D te wees of plat te word tot 2D.

Op dieselfde manier maak ek die oppervlak van my koepel plat van sy 3D -vorm tot 'n 2D -voorstelling, soos in die aangehegte prent getoon. Hierdie 2D -voorstelling word in 'n verwerkingsdoek in kaart gebring waar alles wat ek op die doek teken onmiddellik oor die LED's getoon word.

Verwerking

Verwerking is 'n visuele programmeertaal. Net soos jy 'n reghoek in Photoshop met die muis sou teken, kan jy 'n reghoek in Verwerking teken deur die volgende kode te skryf:

reg (100, 80, 10, 50);

Dit gee u 'n reghoek van 100 px in, 80 px af, 10 px breed en 50 px hoog.

As u nie vertroud is met verwerking nie, beveel ek die tutoriale van Daniel Shiffman op Youtube aan, wat net so vermaaklik as insiggewend is.

Trek lyne van LED's

Verwerking werk met Fadecandy uit die boks. Daar is 'n funksie om LED's in lyne op te stel deur dit te vertel:

  • die beginindeks / adres van die LED's in daardie reël
  • die werklike aantal pixels in die reël
  • die x, y ligging van die middel van die lyn
  • die afstand tussen hulle
  • die hoek van die lyn

Trek driehoeke

Ek het 'n funksie vir elk van my tipes driehoeke (gelyke en gelykbenige) geskryf. Ek vertel dit:

  • die beginindeks / adres van die LED's in hierdie hele driehoek
  • die middelpunt van die driehoek
  • die hoek waarteen die hele driehoek staan

Uit hierdie inligting skryf dit die lyne van LED's op, met behulp van trigonometrie om dit korrek op die verwerkingsdoek te plaas.

(U onthou miskien baie stappe terug, ek het daarop gewys dat as gevolg van die ligging van die Fadecandys sommige gelykbenige driehoeke by die langste strook begin en sommige by die kortste, en sommige kom van links en sommige regs in. Dit beteken dat ek het eintlik vier funksies vir gelykbenige driehoeke)

Oor adresse

As ek indeks / adres sê, verwys ek na hoe die Fadecandy die LED's aanspreek.

bv.

  • Op die eerste Fadecandy begin die eerste strook by 0
  • Op die eerste Fadecandy begin die tweede strook by 64 (maak nie saak hoeveel pixels daar werklik op die eerste strook is nie)

Op die eerste Fadecandy begin die derde strook by 128 (maak nie saak hoeveel pixels daar werklik op die eerste twee stroke is nie)

  • Op die tweede Fadecandy begin die eerste strook by 512 (maak nie saak hoeveel pixels in die eerste Fadecandy is nie
  • Op die tweede Fadecandy begin die tweede strook by 576 (… jy kry die idee)

Kode

'N' Leë 'weergawe van my koepelkode is hier op github beskikbaar.

Hierdie kode bevat die kartering hierbo beskryf, maar geen grafika behalwe 'n sirkel waar die muis is nie.

n.b Die pixels word slegs in hierdie kode weergegee as die Fadecandy -bediener aan die gang is.

Stap 22: Kinect -integrasie

Kinect 1 of 2?

Daar is twee weergawes van die Kinect. Kinect v1 het met die Xbox 360 gewerk, terwyl Kinect v2 (verwarrend) met die Xbox One gewerk het.

Ek gebruik 'n Kinect v1. 'N Deel van die rede hiervoor is dat dit baie moeilik is om die lengte van die USB -kabel op die Kinect v2 te verleng weens die hoeveelheid data wat gestuur word. Dit verg 'n duur en moeilik vindbare verlengkabel. Aangesien my Kinect aan die bokant van die koepel gemonteer is, kan ek nie 'n Kinect v2 direk aan die tafelblad op die vloer koppel nie. 'N Belaglike probleem om te hê, maar daar is ons.

Sommige van my foto's en video's wys 'n Kinect v2, dit is omdat ek aanvanklik 'n instelling gehad het waar ek die Kinect v2 aan 'n skootrekenaarkabel laat vasmaak het, halfpad in die koepel vasgemaak, wat inligting oor OSC gestuur het na die lessenaar wat die LED's beheer. Dit werk goed vir sommige toepassings, maar sodra ek die volledige dieptestroom wou gebruik, kon ek dit nie oor die hele OSC stuur nie, so ek het oorgeskakel na Kinect v1.

Installasie

Ek gaan nie praat oor die installering van die SDK en die korrekte kabels vir die Kinect nie, want daar is baie gidse oor hoe om dit te doen. Ek het die SDK v1.8 geïnstalleer en binne die verwerking gebruik ek die OpenKinect -biblioteek.

Stap 23: Kinect Diepteopsporing

Kode

My kode is hier op github beskikbaar. Dit is redelik goed kommentaar, so blaai!

Dit is 'n oorsig van wat die kode doen:

Die Kinect -dieptekameraanvoer word in kleur gekarteer (bv. Ver weg = rooi, naby = groen) en word direk oor die LED's vertoon. Maar daar is meer as dit.

Eerstens dith die kleur van elke pixel in die dieptetoevoer heen en weer rondom die werklike kleur, om 'n glinsterende effek te gee.

Tweedens, as u met die skets begin, met die muis klik, word 'n agtergrondlesing gedoen; dan sal slegs pixels wat nader is as die agtergrondlesing, vertoon word. Dit keer dat die vloer/kussings/die struktuur van die koepel verskyn.

Daar is ook 'n funksie om die agtergrond van elke x -raamwerk terug te stel, so as mense in die koepel stil lê, verskyn hulle nie. Dit beteken dat die werklike beweging opval, in plaas van om die hele massa massa diep nonsens te toon. (Ek sal dit binnekort vervang met 'n lerped weergawe, sodat die agtergrond nie so 'n "harde" reset doen nie, maar eerder mettertyd ontwikkel)

Daar is ook 'n agtergrondanimasie wat trosse kleurblaaie toon, die hoeveelheid trosse word omgekeerd gekarteer na die hoeveelheid aksie wat in die koepel plaasvind, so as niemand teenwoordig is of nog steeds is, is daar baie animasie. Dan verdwyn dit geleidelik namate meer beweging binne -in plaasvind.

Stap 24: Koepel klaar

Image
Image
Koepel klaar!
Koepel klaar!
Koepel klaar!
Koepel klaar!

Ek hoop jy het iets geleer en dit interessant gevind. Kyk na die volledige video met 'n klomp beeldmateriaal van die koepel.

Ek het ook 'n paar lang blootstellingsfoto's wat ek van When in Dome geneem het, hier ingesluit. Geniet dit!

Maak dit Glow Contest 2018
Maak dit Glow Contest 2018
Maak dit Glow Contest 2018
Maak dit Glow Contest 2018

Eerste prys in die Make it Glow Contest 2018

Aanbeveel: