Cuprins:

Dome interactiv cu LED cu Fadecandy, procesare și Kinect: 24 de pași (cu imagini)
Dome interactiv cu LED cu Fadecandy, procesare și Kinect: 24 de pași (cu imagini)

Video: Dome interactiv cu LED cu Fadecandy, procesare și Kinect: 24 de pași (cu imagini)

Video: Dome interactiv cu LED cu Fadecandy, procesare și Kinect: 24 de pași (cu imagini)
Video: When in Dome - Interactive LED Dome With Fadecandy, Processing and Kinect 2024, Iulie
Anonim
Image
Image
Dom interactiv cu LED cu Fadecandy, Processing și Kinect
Dom interactiv cu LED cu Fadecandy, Processing și Kinect
Dom interactiv cu LED cu Fadecandy, Processing și Kinect
Dom interactiv cu LED cu Fadecandy, Processing și Kinect
Dom interactiv cu LED cu Fadecandy, Processing și Kinect
Dom interactiv cu LED cu Fadecandy, Processing și Kinect

Ce

When in Dome este o cupolă geodezică de 4,2 m acoperită cu 4378 LED-uri. LED-urile sunt toate mapate individual și adresabile. Acestea sunt controlate de Fadecandy și Processing pe un desktop Windows. Un Kinect este atașat la unul dintre suporturile cupolei, astfel încât mișcarea în interiorul cupolei poate fi urmărită și oamenii pot interacționa cu luminile.

De ce

Explorez experiența de grup prin interacțiunea partajată. Îmi place să creez interfețe pe care mulți oameni să le poată folosi simultan. Suprafața LED a domului face o ieșire adecvată pentru o interfață multi-utilizator, deoarece este imensă, astfel încât o mulțime de oameni o pot vedea. Cupola creează, de asemenea, un spațiu confortabil, sferic, care încurajează oamenii să se întoarcă unul către celălalt. Kinect funcționează excelent ca o intrare multi-utilizator, deoarece oamenii se pot deplasa și pot afecta câmpul de adâncime în același timp, singura limită este numărul de oameni care se pot potrivi împreună în spațiu.

Dezvolt continuu noi metode de interacțiune pentru When in Dome, pentru a vedea ce efect au diferitele metode de intrare și ce funcționează bine pentru diferite grupuri de oameni. Sunt deosebit de dornic să văd ce interfețe încurajează conexiunea dintre prietenii și străinii din interiorul domului și ce face experiența comună să se simtă semnificativă și merită.

Unde

Am proiectat și construit When in Dome ca proiect final pentru masterul meu, care a fost Design for Performance and Interaction la Interactive Architecture Lab, The Bartlett, UCL.

Cum

Unele dintre tehnologiile și instrumentele utilizate:

  • Fadecandy
  • Prelucrare
  • Kinect (am primit-o pe a mea de pe eBay)
  • Mitre văzu
  • Ferăstrău cu șenile
  • Mașină de cusut
  • Ciocan de lipit
  • Pistol cu aer cald
  • Pistol de lipit fierbinte
  • Cutter cu laser
  • Burghiu

Unele dintre echipamentele utilizate:

  • Kit de hub Buildwithhubs
  • Cherestea tratată pentru stâlpi de cupolă
  • Placaj de plop de 4 mm
  • Țesătură albă de difuzie
  • Tesatura neagra
  • Bara plana din aluminiu
  • Conectori Wago
  • 12awg și 24awg cablu
  • 5v 30A surse de alimentare
  • Pardoseli din spumă
  • Conectori Jst
  • Condensatoare

Să mergem

Există o mulțime de componente la acest proiect prin care voi vorbi, sper că veți găsi ceva util și interesant în interior!

Pasul 1: Domul

Domul
Domul
Domul
Domul

Kit de butuc

Am decis să-mi construiesc cupola cu un kit din buildwithhubs și cu siguranță le-aș recomanda.

Vând seturi de conectori și oferă sfaturi cu privire la ce materiale să cumpere pentru suporturi. Majoritatea cupolelor lor sunt folosite în grădinile proprii ale oamenilor, în timp ce ale mele vor fi în public, așa că am cumpărat și trusa lor de capace suplimentare sigure, care împiedică apariția struturilor dacă cineva se sprijină pe cupolă.

mărimea

Domul meu are un diametru de 4,2 m. Am ales această dimensiune deoarece însemna că cea mai lungă parte a triunghiurilor care alcătuiesc cupola ar fi de 1,2 m, iar aceasta se încadrează frumos în foi de placaj când am venit să fac panourile pentru a ține LED-urile.

Pasul 2: Faceți Struts

Image
Image

Lungimi

Am folosit calculatorul de strung buildwithhubs pentru a calcula lungimile necesare pentru a face o cupolă de 4,2 m. 30 "pantaloni scurți" la 1059mm și 35 "lungi" la 1209mm.

Material

2 pachete de 24 cherestea de 19mm x 38mm x 2400mm tăiate de la B&Q (așa cum se recomandă pe site-ul buildwithhubs) sunt suficiente pentru o cupolă. Acest lucru funcționează suficient de bine, dar dacă aș face-o din nou, aș obține ceva care are mai multă rezistență laterală.

Proces

Strungurile au fost tăiate la lungime folosind un ferăstrău și apoi le-am vopsit așezându-le pe toate pe o foaie de praf și rotindu-le deasupra. Acest lucru a făcut un timelapse distractiv!

Apoi le-am grupat în loturi de câte 6 câteodată și am înșurubat piesele conectorului în capete.

Pasul 3: Construiește Domul

Odată realizate struturile, construirea cupolei este foarte ușoară. Nu voi vorbi despre acest proces în detaliu, deoarece există instrucțiuni pe site-ul buildwithhubs și oferă, de asemenea, o broșură.

Pasul 4: Ridică-l

Planificați cum ar trebui să arate LED-urile
Planificați cum ar trebui să arate LED-urile

Nu am vrut ca panourile cu LED-uri să fie chiar lângă podea, deoarece acest lucru ar însemna că o mulțime dintre ele vor fi blocate de oamenii din cupolă. De asemenea, am vrut să fac cupola mai înaltă, astfel încât să se simtă mai spațioasă și mai primitoare.

Picioare

Am realizat picioare înalte de 50cm din 2x4s și am înșurubat aceiași conectori ca strungurile.

Apoi, pentru a crește rezistența și integritatea structurală a bazei, am folosit bare plate din aluminiu pentru a crea X-uri între fiecare secțiune a piciorului.

Usa

Am îndepărtat unul dintre suporturile orizontale pentru a face o ușă și l-am înlocuit cu o bucată de placaj pe podea pentru a menține picioarele la distanța corectă.

Pasul 5: Planificați aspectul LED-urilor

Software

Am folosit SketchUp pentru lucrările mele de planificare 3D, deoarece este disponibil pentru utilizare gratuită într-o aplicație din browser. Din fericire (deoarece nu sunt un expert în modelare 3D) am găsit un model de cupolă geodezică disponibil în depozitul 3D, unde există o mulțime de modele gratuit.

Câte LED-uri?

Aspectul trebuia să țină seama de estetică, dar și de distribuirea puterii și a datelor. Am decis să folosesc 11 Fadecandys (și 11 surse de alimentare) pentru a acoperi 33 din triunghiurile cupolei. Acest lucru ar însemna că Fadecandys (și sursele de alimentare) ar conduce câte 3 triunghiuri fiecare și că o parte a cupolei ar putea fi deschisă, astfel încât oamenii să poată vedea din exterior.

Acest lucru mi-a dat maximum 512 LED-uri pe 3 triunghiuri, deoarece fiecare Fadecandy poate conduce 8 benzi de până la 64 fiecare.

Decizia asupra unui aspect

Nu toate triunghiurile sunt create egale! Domul meu este un stil 2V, ceea ce înseamnă că are două tipuri de triunghiuri, echilaterale și isoscele.

Am venit cu patru aspecte diferite pentru LED-uri și am mers pe Instagram pentru a întreba oamenii care le-au plăcut cel mai bine. Stilul 1 și stilul 3 păreau să iasă pe primul loc. Stilul 3 a fost favoritul meu, dar triunghiurile concentrice din stilul 3 necesită de fapt mult mai multe benzi LED decât aspectul dungat, așa că am decis stilul 1. Aceasta înseamnă că există 8 triunghiuri echilaterale cu aspect LED triunghi concentric și 25 triunghiuri isosceli cu LED dungi aspect.

Deoarece triunghiurile echilaterale sunt mai mari și conțin aspectul concentric, ele folosesc mult mai multe LED-uri fiecare decât triunghiurile isoscele. Prin urmare, a trebuit să împart echilateralele peste Fadecandys.

8 din controlul Fadecandys controlează câte 1 triunghi echilateral și 2 triunghiuri isoscel. 3 controlează Fadecandys câte 3 triunghiuri isoscel.

Pasul 6: Mai multe despre aspectul LED

Mai multe despre aspectul LED
Mai multe despre aspectul LED
Mai multe despre aspectul LED
Mai multe despre aspectul LED

Odată ce aspectul general a fost decis, a trebuit să aflu exact câte LED-uri aș pune pe fiecare panou. Am făcut acest lucru folosind o combinație de foaie de calcul pentru a găsi cea mai bună modalitate de a maximiza capacitățile Fadecandy și pentru a scala la scară în Illustrator, astfel încât am putut vedea cum ar arăta aspectul.

Maximizarea capacității Fadecandy: linii și benzi

Am menționat mai devreme că fiecare Fadecandy poate conduce până la 8 benzi de câte 64 de pixeli fiecare. Triunghiurile mele conțin multe linii de diferite lungimi de pixeli, unele linii cu doar foarte puțini pixeli.

Dacă aș trata fiecare dintre aceste linii ca pe o bandă, aș pierde MULȚI din capacitatea Fadecandy.

Dimpotrivă, dacă aș vrea să maximizez complet capacitatea Fadecandy și să am 64 de LED-uri pe fiecare bandă, ar trebui să am niște benzi care au început în mijlocul unei linii și care vor fi confuze să le mapezi mai târziu.

A trebuit să-mi dau seama cum să îmbin cel mai bine liniile în benzi pentru a maximiza capacitatea benzii cât mai mult posibil, fără a împărți liniile.

La sfarsit…

Panourile echilaterale au patru benzi, formate din:

  • 30, 30 (60 în total - roșu pe imaginea atașată)
  • 30, 22 (52 în total - portocaliu pe imaginea atașată)
  • 22, 22, 14 (58 în total - galben pe imaginea atașată)
  • 14, 14, 6, 6, 6 (46 în total - verde pe imaginea atașată)

Panourile isoscel au două benzi, formate din:

  • 23, 28 (51 în total - albastru pe imaginea atașată)
  • 3, 7, 11, 15, 19 (55 în total - violet pe imaginea atașată)

Pasul 7: Dispuneți Fadecandys și sursele de alimentare

Dispuneți Fadecandys și sursele de alimentare
Dispuneți Fadecandys și sursele de alimentare

Această imagine prezintă o vedere aplatizată a suprafeței cupolei.

Panourile LED

Fiecare panou triunghi a fost etichetat cu un număr 1-11, care se referă la Fadecandy care îl controlează. Fiecare Fadecandy are trei triunghiuri, deci triunghiurile au și o literă, A-C.

Alte elemente

Căsuțele verzi arată locația Fadecandys. Fiecare Fadecandy este montat pe un panou mic care distribuie, de asemenea, puterea, voi arăta acest lucru în detaliu în câțiva pași.

Căsuțele violete arată hub-urile USB. Fadecandys sunt conectate la un desktop Windows, prin intermediul acestor hub-uri.

Cutiile albastre arată locația surselor de alimentare, care stau în 3 cutii uscate, pe podeaua din jurul cupolei.

Doar pentru a face ceva mai complicat

Dacă comparați locația FC10 și FC11, veți observa că FC10 este cel mai apropiat de cea mai lungă linie a panourilor sale isoscel, în timp ce FC11 este cel mai apropiat de cea mai scurtă linie.

De asemenea, dacă vă uitați la 10C, veți vedea că Fadecandy este în dreapta acestuia, în timp ce 10A este în stânga.

A trebuit să țin cont de aceste variații atunci când mă gândeam la cât de mult cablu avea nevoie fiecare bandă de leduri la început și la maparea lor.

Pasul 8: Transformarea liniilor în benzi

Transformarea liniilor în benzi
Transformarea liniilor în benzi

Această foaie de calcul trebuia să-și dea seama cât de mult cablu trebuie să treacă la începutul fiecărei secțiuni a benzii LED.

Cât de mult cablu este necesar?

Unele linii sunt etichetate „jst” ceea ce înseamnă că sunt începutul benzii și au nevoie doar de un conector JST.

Unele benzi au „jst” și o lungime, ceea ce înseamnă că banda începe la o anumită distanță de Fadecandy (așa cum am văzut în aspectul din pasul anterior) și are nevoie de acea lungime de cablu pentru a ajunge la acesta înainte de a adăuga conectorul JST.

Unele benzi au doar o lungime, ceea ce înseamnă că trebuie să fie îmbinate cu secțiunea benzii din fața lor prin acea lungime a cablului.

Pasul 9: Pregătirea benzii LED

Pregătirea benzii LED
Pregătirea benzii LED
Pregătirea benzii LED
Pregătirea benzii LED

Banda LED

Folosesc bandă LED în stil ws2812b, care are trei intrări, putere 5V, masă și date. Utilizarea conectorilor feminini JST cu 3 pini îmi permite să mă conectez la fiecare dintre acești pini individual. Omologii masculi ai conectorilor JST vor furniza energie și date.

Lipire

Folosind foaia mea de calcul din pasul anterior, am tăiat toată banda LED în lungimile necesare, lipite pe lungimile necesare ale cablului și conectorilor JST. Am pus și un condensator la începutul fiecărei benzi, pentru a evita orice vârfuri de curent inițial să distrugă primul pixel din bandă. (Am mai avut acest lucru în proiecte anterioare în care nu am adăugat condensatorul, deci merită cu siguranță să fac asta.)

Sigila

Am adăugat niște silicon RTV în partea expusă a benzii, am acoperit-o cu termocontractare și am aruncat-o cu un pistol de căldură pentru a reface impermeabilitatea.

Pasul 10: Faceți panourile

Faceți panourile
Faceți panourile

Material

Am decis să folosesc placaj de plop de 4 mm pentru a face panourile. Am păstrat-o subțire pentru a reduce greutatea. Am calculat greutatea totală a placajului și am contactat clădirile pentru a verifica dacă mă încadrau în limitele de greutate pentru a agăța lucrurile de pe structura cupolei. Deoarece greutatea este distribuită destul de uniform pe cupolă, este bine. Mi-ar fi plăcut să folosesc acrilul, dar, din păcate, pentru acest proiect mi-a ieșit din buget.

Fixare cu bandă LED

Nu am vrut să lipesc banda LED direct pe panouri, deoarece aș dori să pot înlocui secțiunile benzii defecte și, eventual, să refolosesc toată banda la un moment dat, așa că am decis să fac găuri în panouri pentru a le folosi legaturi de cablu. Punctele de pe imaginea atașată arată aspectul orificiilor de fixare a cablurilor.

Decuparea panourilor

Există 33 de triunghiuri în total, iar eu se încadrează în 9 foi de placaj de 2440 x 1220 mm prin aspectul pe care îl vedeți în imaginea atașată.

Într-o lume ideală aș fi introdus fiecare dintre cele 9 foi de strat direct într-un tăietor cu laser și aș fi tăiat triunghiurile și orificiile de legare a cablurilor în același timp. Din păcate, trăim într-o lume în care tăietoarele laser de 2440 x 1220 mm sunt rare, așa că triunghiurile trebuiau tăiate cu ajutorul unui ferăstrău cu șenile.

Mai trist, totuși, nu trăim într-o lume în care chiar și unul dintre panourile mele triunghiulare ar încapea în tăietorul laser de la școală, așa că a trebuit să tai cu laser un șablon de jumătate din fiecare dintre modelele triunghiului și să îl folosesc să găuriți găurile cu mâna.

Am pictat și partea din spate a triunghiurilor, majoritatea negre și apoi șase argintii întâmplătoare.

Pasul 11: Legați cablul benzii LED de panouri

Cablu Legați banda LED de panouri
Cablu Legați banda LED de panouri
Cablu Legați banda LED de panouri
Cablu Legați banda LED de panouri

A fost o mulțime de legături de cablu! Din fericire am avut niște prieteni de ajutat.

Etichete de cablu

Am etichetat fiecare conector JST cu o etichetă de cablu cu cod color, pentru a ușura conectarea la Fadecandy. Acestea sunt comandate curcubeu, deci pentru fiecare Fadecandy există:

  • Fâșie 1- Roșu
  • Banda 2 - Portocaliu
  • Banda 3 - Galben
  • Banda 4 - Verde
  • Banda 5 - Albastru
  • Banda 6 - Violet
  • Banda 7 - Gri
  • Banda 8 - Alb

Nu este un curcubeu exact, dar acestea sunt culorile pe care au intrat etichetele și funcționează!

(Unele dintre Fadecandys, cele care conduc doar 3 panouri isoscel, mai degrabă decât 1 echilateral și 2 isoscel, folosesc doar 6 benzi.)

Pasul 12: Agățați panourile în cupolă

Agățați panourile în dom
Agățați panourile în dom
Agățați panourile în dom
Agățați panourile în dom
Agățați panourile în dom
Agățați panourile în dom

Panourile mele triunghiulare sunt puțin mai mici decât decalajul dintre tije, am vrut ca acestea să atârne liber în spațiu, mai degrabă decât să le atașăm solid la tije.

Metoda de suspendare

Fiecare nod al cupolei are un bolț ocular - acestea nu vin ca standard, dar Buildwithhubs le vinde într-un pachet. Aceste șuruburi sunt perfecte pentru a agăța lucruri (deși aveți grijă să nu atârnați prea multă greutate de pe un nod).

Am decis să folosesc paracord și cleme mici pentru carabină. Cablul este buclat prin două găuri în fiecare colț al panoului. Carabina fixează cablul pe șurubul ocular. Pentru a strânge cablul și a vă asigura că panoul este poziționat corect în spațiu, am adăugat și câte un comutator de plastic la fiecare. Acest lucru înseamnă că pot fi fixate cu ușurință în timp ce sunt slăbite, apoi strânse ulterior pentru a le poziționa în centrul spațiului.

Sunt foarte mulțumit de modul în care s-a dovedit metoda carabinerului. Este foarte satisfăcător să fixați panourile pe cupolă, faceți clic pe clic pe clic. Este ușor și rapid să le eliminați.

Pasul 13: Realizați panouri de distribuție a energiei și a datelor

Realizați panouri de distribuție a energiei și a datelor
Realizați panouri de distribuție a energiei și a datelor
Realizați panouri de distribuție a energiei și a datelor
Realizați panouri de distribuție a energiei și a datelor

Deci, am lipit o mulțime de conectori JST cu o mulțime de benzi LED, dar la ce se conectează?

Fiecare bandă trebuie să se conecteze la alimentare, la sol și la date de la Fadecandy. Există 11 panouri de conectare care dețin cele 11 Fadecandys și distribuie energia din cele 11 surse de alimentare. Am tăiat cu laser aceste panouri din restul stratului de plop de 4 mm. Pe lateral, există sloturi pentru bucăți de velcro, care atașează panourile cu grijă la suporturile cupolei.

Putere

Fiecare LED folosește un 0.06A la luminozitate maximă. Aceasta înseamnă că puterea totală necesară pentru ca 4378 pixeli să ruleze la putere maximă este de ~ 1,3kW.

Cu toate acestea, am în esență 11 circuite de alimentare complet separate. (Sunt conectate numai prin intermediul -ve prin intermediul Fadecandy. Nu conectați + ve a unor surse de alimentare separate, deoarece acest lucru este periculos.) Fiecare circuit alimentează doar maximum 428 pixeli, în total 128W, deci curentul este la nivel mult mai sigur.

Sursele mele de alimentare pot furniza 150W fiecare (30A la 5V).

Pe panoul de conectare, alimentarea și masa intră de la sursa de alimentare din partea de jos, apoi sunt conectate la conectorii wago, care îl distribuie pe 8 conectori JST masculi.

Date

Fadecandy este atașat în partea stângă a panoului, iar cablul USB intră de jos la fel ca și cablurile de alimentare.

Cablul de date al conectorului JST este lipit pe o bandă de pini feminini cu un singur antet care se conectează la pinii Fadecandy. Unul dintre pinii de masă de pe Fadecandy este conectat la circuitul de masă. (Știfturile de masă sunt conectate între ele, deci nu este necesar să le conectați pe toate)

Pasul 14: Acoperirea materialelor

Acoperire cu țesături
Acoperire cu țesături
Acoperire cu țesături
Acoperire cu țesături
Acoperire cu țesături
Acoperire cu țesături

Cusutul împreună a acoperirii din țesătură a fost în mod neașteptat una dintre cele mai dificile și consumatoare de timp ale acestui proiect. Din fericire am avut un prieten de ajutor!

Aspect

Pe diagrama turtită a cupolei puteți vedea că capacul este format din 5 pentagone care sunt formate din câte 5 triunghiuri isoscele, plus 8 triunghiuri echilaterale. Am făcut capacul în această ordine - am cusut mai întâi cele cinci pentagone, apoi le-am unit împreună cu triunghiurile echilaterale.

(Secțiunile negre de pe acea diagramă sunt deschise și neacoperite.)

Măsurare

Am încercat să ne dăm seama măsurătorile pentru triunghiuri folosind matematica ca oamenii normali, dar, dintr-un anumit motiv, a apărut greșit și nu s-a potrivit cu cupola, așa că la final am folosit o bucată de policord prin șuruburile de ochi ale nodurilor pentru a măsurați dimensiunea și apoi utilizați acest triunghi policord ca șablon. Nu știu de ce folosirea măsurătorilor cunoscute ale golurilor de strung + nod a continuat să meargă greșit, triunghiurile 3D sunt confuze.

Pentagonele

În timp ce făceam triunghiurile isoscele și le cuseam împreună în pentagone, îl agățam frecvent pe cupolă pentru a verifica dacă totul se aliniază. Este atașat la cupolă folosind mici bucăți de elastic care sunt cusute în punctele în care se întâlnesc triunghiurile.

Alăturându-l împreună

Odată ce am făcut cei cinci pentagoni, am început să tăiem triunghiurile echilaterale folosind aceeași metodă - policord prin șuruburile ochiului. Odată ce am cusut doi dintre pentagoni în acest fel, ne-am dat seama că nu se aliniază deloc bine. Deci, în schimb, am decis să închidem toate pentagonele din cupolă și să fixăm triunghiurile echilaterale la ele în loc. Apoi, odată ce a fost fixat, l-am dat jos și prietenul meu l-a cusut împreună într-o singură bucată solidă.

Fixarea în acest fel a fost o mulțime de muncă, o mare parte din asta cu brațele direct deasupra capului meu, în timp ce încercam să fixez țesături din exteriorul domului, în timp ce stăteam în interior. Distracţie!

Etichetare

Pe parcurs, am etichetat piesele cu un stilou de țesătură solubil în apă … aceste lucruri sunt grozave, deoarece poți scrie direct pe țesătură și apoi stropi-o cu apă și cerneala va dispărea (uneori durează câteva, dar funcționează)

Pasul 15: Închideți materialul

Image
Image

Țesătura este agățată în cupolă de lungimi de elastic care sunt cusute pe fiecare punct, acestea se leagă de șuruburile ochiului de la nodurile cupolei.

Legarea și dezlegarea elasticelor nu este la fel de rapidă ca decuparea panourilor, așa că aș dori să înlocuiesc la un moment dat această metodă cu carabinere sau alte clipuri.

Pasul 16: Atașarea Kinect

Podea
Podea

Într-o afișare îndrăzneață de încredere în univers, în niciun moment nu am măsurat decalajul dintre panouri pentru a mă asigura că un Kinect se va potrivi efectiv. (Vă rog să nu le spuneți tutorilor mei)

Îți poți imagina bucuria când s-a potrivit astfel.

Această imagine arată un Kinect v2, dar am ajuns să folosesc un Kinect v1 din motive pe care le voi trece mai târziu.

Este atașat doar la strut folosind bandă de velcro pe două fețe.

Pasul 17: Etaj

Pardoseala este realizată din covorașe din spumă EVA interconectate pe care le-am obținut de la B&Q. Le-am folosit pentru două proiecte acum și este minunat pentru interior. Este foarte confortabil să stai.

În aer liber, la festivaluri cu vânt, cum ar fi Burning Man, trebuie să fie asigurat peste tot, deoarece vântul va ajunge chiar sub el și va ridica totul în sus.

Pasul 18: Aceasta este construcția realizată … În cod

Mulțumesc că ai rămas cu mine până acum. Aceasta este toată construcția fizică GĂSITĂ. Acum, să discutăm despre software.

Pasul 19: Server Fadecandy

Server Fadecandy
Server Fadecandy
Server Fadecandy
Server Fadecandy

Descărcați software-ul

Software-ul Fadecandy este disponibil aici.

Descărcați întregul github și dezarhivați-l.

Rulați serverul

Navigați la folderul „bin” din obiectele fadecandy pe care tocmai le-ați descărcat.

Faceți clic pe fcserver.exe.

Aceasta va încărca o fereastră cmd care afișează toate dispozitivele Fadecandy conectate. În acest caz, sunt 11.

Testați LED-urile

Navigați la https://127.0.0.1:7890/ pentru a vedea interfața de utilizare a serverului Fadecandy. Aceasta arată din nou toate dispozitivele conectate și permite un control mic.

Dacă faceți clic pe meniul derulant al modelului de testare, puteți seta toți pixelii pentru Fadecandy la luminozitate maximă sau la jumătate. De asemenea, este posibil să faceți LED-ul verde mic de pe fadecandy să clipească făcând clic pe „identificați”.

Pasul 20: Configurați serverul Fadecandy

Configurați serverul Fadecandy
Configurați serverul Fadecandy

În acest moment Fadecandys sunt încărcați într-o ordine aleatorie. Anterior am etichetat triunghiurile mele 1-11, dar nu există nicio modalitate pentru computer să știe care este care în acest moment. Pentru a face acest lucru, trebuie să creăm un fișier de configurare.

Care Fadecandy este care

Înainte de a putea spune computerului în ce ordine sunt Fadecandys, trebuie să ne dăm seama care este noi înșine. Am făcut acest lucru folosind interfața de utilizare a browserului pentru a face ca fiecare secțiune să se lumineze, apoi notând care a fost și care este numărul său de serie.

Fișierul de configurare

În fișierul de configurare enumerăm toate numerele de serie, pixelul index de la care pornesc și câți pixeli controlează teoretic. Spun teoretic pentru că voi hărți pixelii ca și cum ar fi 512 pe Fadecandy, chiar dacă de fapt sunt mai puțini. Acest lucru simplifică, deoarece știm că primul pixel al oricărui Fadecandy este întotdeauna [numărul Fadecandy * 512].

Fadecandy nu-i pasă că, de fapt, fiecare are mai puțini pixeli decât maximul și vom avea grijă de el și în codul de procesare.

Se încarcă fișierul de configurare

Acum, pentru a porni serverul Fadecandy, în loc să faceți clic pe fcserver.exe, trebuie să-i transmitem acest fișier de configurare.

Facem acest lucru deschizând un prompt cmd în folderul bin și tastând

fcserver config.json

Acest lucru va încărca acum toate Fadecandys la adresele corecte.

Pasul 21: Cartografierea pixelilor

Image
Image
Integrare Kinect
Integrare Kinect

Cartografiere Dymaxion

Buckminster Fuller (care a popularizat domurile geodezice), a creat, de asemenea, harta dymaxion, care este o reprezentare a pământului ca și cum ar fi pe suprafața unui icosaedru. Poate fi pliat pentru a fi 3D sau aplatizat pentru a fi 2D.

În același mod, aplatizez suprafața domului meu de la forma sa 3D la o reprezentare 2D, așa cum se arată în imaginea atașată. Această reprezentare 2D va fi mapată într-o pânză de procesare în care tot ceea ce desenez pe pânză este afișat imediat pe LED-uri.

Prelucrare

Procesarea este un limbaj de programare vizual. La fel cum ați desena un dreptunghi în Photoshop folosind mouse-ul, puteți desena un dreptunghi în Procesare scriind codul astfel:

rect (100, 80, 10, 50);

Acest lucru vă va oferi un dreptunghi care începe de la 100 px, 80 px jos, 10 px lățime și 50 px înălțime.

Dacă nu sunteți familiarizați cu Procesarea, vă recomand cu tărie tutorialele lui Daniel Shiffman pe Youtube, care sunt la fel de distractive pe cât de informative.

Desenarea liniilor de LED-uri

Procesarea funcționează cu Fadecandy din cutie. Există o funcție pentru a seta LED-urile în linii, spunându-i:

  • indicele / adresa de pornire a LED-urilor din acea linie
  • numărul real de pixeli din linie
  • locația x, y a centrului liniei
  • distanța dintre ele
  • unghiul liniei

Desenarea triunghiurilor

Am scris o funcție pentru fiecare dintre tipurile mele de triunghiuri (echilaterale și isoscele). Îi spun:

  • indicele / adresa de pornire a LED-urilor din tot acest triunghi
  • centrul triunghiului
  • unghiul la care se află întregul triunghi

Din aceste informații, scrie liniile LED-urilor, folosind trigonometria pentru a le plasa corect pe pânza de procesare.

(S-ar putea să vă amintiți mulți pași înapoi, am subliniat că datorită locației Fadecandys, unele triunghiuri isoscele încep de la cea mai lungă bandă și altele la cea mai scurtă, iar unele intră din stânga și altele din dreapta. Aceasta înseamnă că eu au de fapt patru funcții pentru triunghiurile isoscel)

Despre adrese

Când spun index / adresă, mă refer la modul în care Fadecandy se adresează LED-urilor.

de exemplu.

  • Pe primul Fadecandy, prima bandă începe de la 0
  • Pe primul Fadecandy, a doua bandă începe de la 64 (indiferent câți pixeli sunt de fapt pe prima bandă)

Pe primul Fadecandy, a treia bandă începe de la 128 (indiferent câți pixeli sunt de fapt pe primele două benzi)

  • Pe al doilea Fadecandy, prima bandă începe de la 512 (indiferent de câți pixeli sunt de fapt în primul Fadecandy
  • Pe al doilea Fadecandy, a doua bandă începe de la 576 (… îți vine ideea)

Cod

O versiune „necompletată” a codului domului meu este disponibilă pe github aici.

Acest cod conține maparea descrisă mai sus, dar nu are grafică în afară de un cerc desenat unde se află mouse-ul.

n.b Pixelii se vor reda în acest cod numai dacă aveți rulat serverul Fadecandy.

Pasul 22: Integrarea Kinect

Kinect 1 sau 2?

Există două versiuni ale Kinect. Kinect v1 a funcționat cu Xbox 360, în timp ce Kinect v2 a funcționat cu Xbox One (confuz).

Folosesc un Kinect v1. O parte a motivului este că este foarte dificil să extindeți lungimea cablului USB de pe Kinect v2 din cauza cantității de date care este trimisă. Necesită un cablu prelungitor scump și greu de găsit. Deoarece Kinect-ul meu este montat în partea de sus a cupolei, nu pot conecta un Kinect v2 direct la desktopul de pe podea. O problemă ridicolă, dar, iată-ne.

Unele dintre fotografiile și videoclipurile mele prezintă un Kinect v2, acest lucru se datorează faptului că inițial aveam un set în care aveam Kinect v2 conectat la un cablu de laptop legat la jumătatea cupolei, care trimitea informații prin OSC pe desktopul care controlează LED-urile. Acest lucru a funcționat bine pentru unele aplicații, dar odată ce am vrut să folosesc întregul flux de adâncime, nu am putut să-l trimit pe tot OSC, așa că am trecut la Kinect v1.

Instalare

Nu voi vorbi prin instalarea SDK și obținerea cablurilor corecte pentru Kinect, deoarece există o mulțime de ghiduri despre cum să faci asta. Am instalat SDK v1.8 și, în procesare, folosesc biblioteca OpenKinect.

Pasul 23: Urmărirea adâncimii Kinect

Cod

Codul meu este disponibil pe github aici. Este destul de bine comentat, așa că răsfoiți!

Aceasta este o prezentare generală a ceea ce face codul:

Alimentarea camerei cu adâncime Kinect este mapată la culoare (de exemplu, departe = roșu, închis = verde) și afișată direct peste LED-uri. Dar este mai mult decât atât.

În primul rând, culoarea fiecărui pixel din adâncimea de alimentare trece înainte și înapoi în jurul nuanței sale reale, pentru a adăuga un efect sclipitor.

În al doilea rând, când începeți schița, făcând clic cu mouse-ul, veți avea o citire de fundal, apoi vor fi afișați numai pixeli mai apropiați decât acea citire de fundal. Aceasta oprește podeaua / orice perne / structura cupolei să nu apară.

Există, de asemenea, o funcție de resetare a fundalului care citește fiecare cadru x, deci dacă oamenii din interiorul cupolei stau nemișcați, nu vor apărea. Aceasta înseamnă că mișcarea reală iese în evidență, în loc să arate întreaga masă globală de prostii adânci. (În curând voi înlocui acest lucru cu o versiune lerped, așa că fundalul nu face o resetare atât de „dură”, ci, mai degrabă, evoluează în timp)

Există, de asemenea, o animație de fundal care arată grupuri de pete de culoare, cantitatea de clustere este invers mapată cu cantitatea de acțiune care se întâmplă în cupolă, deci dacă nimeni nu este prezent sau sunt încă, există o mulțime de animație. Apoi dispare treptat pe măsură ce se întâmplă mai multă mișcare în interior.

Pasul 24: Dome Done

Image
Image
Dome Gata!
Dome Gata!
Dome Gata!
Dome Gata!

Sper că ați învățat ceva și ați găsit acest lucru interesant. Verificați videoclipul complet, care are o grămadă de imagini ale domului funcționând.

De asemenea, am inclus aici pentru distracție câteva fotografii cu expunere îndelungată pe care le-am făcut la When in Dome. Bucurați-vă!

Faceți-l Glow Contest 2018
Faceți-l Glow Contest 2018
Faceți-l Glow Contest 2018
Faceți-l Glow Contest 2018

Premiul I la Concursul Make it Glow 2018

Recomandat: