Table des matières:

Dôme LED interactif avec Fadecandy, traitement et Kinect : 24 étapes (avec images)
Dôme LED interactif avec Fadecandy, traitement et Kinect : 24 étapes (avec images)

Vidéo: Dôme LED interactif avec Fadecandy, traitement et Kinect : 24 étapes (avec images)

Vidéo: Dôme LED interactif avec Fadecandy, traitement et Kinect : 24 étapes (avec images)
Vidéo: Maker Update: When in Dome 2024, Novembre
Anonim
Image
Image
Dôme LED interactif avec Fadecandy, Processing et Kinect
Dôme LED interactif avec Fadecandy, Processing et Kinect
Dôme LED interactif avec Fadecandy, Processing et Kinect
Dôme LED interactif avec Fadecandy, Processing et Kinect
Dôme LED interactif avec Fadecandy, Processing et Kinect
Dôme LED interactif avec Fadecandy, Processing et Kinect

Quoi

When in Dome est un dôme géodésique de 4,2 m recouvert de 4378 LED. Les LED sont toutes mappées individuellement et adressables. Ils sont contrôlés par Fadecandy et Processing sur un bureau Windows. Un Kinect est attaché à l'une des entretoises du dôme, ainsi le mouvement à l'intérieur du dôme peut être suivi et les gens peuvent interagir avec les lumières.

Pourquoi

J'explore l'expérience de groupe à travers l'interaction partagée. J'aime créer des interfaces que beaucoup de gens peuvent utiliser en même temps. La surface LED du dôme constitue une sortie appropriée pour une interface multi-utilisateurs car elle est énorme, de sorte que beaucoup de gens peuvent la voir. Le dôme crée également un espace sphérique confortable, qui encourage les gens à se tourner les uns vers les autres. Le Kinect fonctionne très bien en tant qu'entrée multi-utilisateurs car les personnes peuvent se déplacer et affecter le champ de profondeur en même temps, la seule limite est le nombre de personnes pouvant s'intégrer dans l'espace ensemble.

Je développe continuellement de nouvelles méthodes d'interaction pour When in Dome, pour voir quel effet ont différentes méthodes de saisie et ce qui fonctionne bien pour différents groupes de personnes. Je suis particulièrement désireux de voir quelles interfaces encouragent la connexion entre les amis et les étrangers à l'intérieur du dôme, et ce qui rend l'expérience partagée significative et utile.

J'ai conçu et construit When in Dome comme projet final de ma maîtrise, qui était Design for Performance and Interaction au Interactive Architecture Lab, The Bartlett, UCL.

Comment

Quelques technologies et outils utilisés:

  • Fadecandy
  • Traitement
  • Kinect (j'ai eu le mien sur eBay)
  • Scie à onglet
  • Scie à chenilles
  • Machine à coudre
  • Fer à souder
  • Pistolet thermique
  • Pistolet à colle chaude
  • Découpeur laser
  • Percer

Quelques équipements utilisés:

  • Kit de moyeu Buildwithhubs
  • Sciages traités pour montants de dôme
  • contreplaqué de peuplier 4 mm
  • Tissu diffusant blanc
  • Tissu noir
  • Barre plate en aluminium
  • Connecteurs Wago
  • Câble 12awg et 24awg
  • Alimentations 5v 30A
  • Revêtement de sol en mousse
  • Connecteurs JST
  • Condensateurs

Allons-y

Il y a beaucoup de composants à ce projet dont je vais parler, j'espère que vous trouverez quelque chose d'utile et d'intéressant à l'intérieur !

Étape 1: Le Dôme

Le dôme
Le dôme
Le dôme
Le dôme

Kit de moyeu

J'ai décidé de construire mon dôme avec un kit de buildwithhubs et je les recommanderais sans hésiter.

Ils vendent des kits de connecteurs et donnent des conseils sur les matériaux à acheter pour les jambes de force. La plupart de leurs dômes sont utilisés dans les jardins des gens, tandis que le mien sera en public, j'ai donc également acheté leur kit de capuchons supplémentaires sécurisés, qui empêchent les entretoises de sortir si quelqu'un s'appuie sur le dôme.

Taille

Mon dôme fait 4,2 m de diamètre. J'ai choisi cette taille car cela signifiait que le côté le plus long des triangles composant le dôme serait de 1,2 m, et cela s'intègre bien dans les feuilles de contreplaqué lorsque je suis venu pour fabriquer les panneaux pour contenir les LED.

Étape 2: Fabriquez les jambes de force

Image
Image

Longueurs

J'ai utilisé le calculateur de jambe de force de buildwithhubs pour déterminer les longueurs nécessaires pour faire un dôme de 4,2 m. 30 "courts" à 1059 mm et 35 "longs" à 1209 mm.

Matériel

2 paquets de 24 bois sciés de 19 mm x 38 mm x 2400 mm de B&Q (comme recommandé sur le site buildwithhubs) suffisent pour un dôme. Cela fonctionne assez bien, mais si je le faisais à nouveau, j'obtiendrais quelque chose qui a plus de force latérale.

Traiter

Les entretoises ont été coupées à longueur à l'aide d'une scie à onglets, puis je les ai peintes en les posant toutes à plat sur une feuille de poussière et en les roulant dessus. Cela a fait un timelapse amusant!

Ensuite, je les ai regroupés par lots de 6 à la fois et j'ai vissé les pièces du connecteur dans les extrémités.

Étape 3: Construisez le dôme

Une fois les entretoises faites, la construction du dôme est super facile. Je ne vais pas parler du processus en détail car il y a des instructions sur le site buildwithhubs et ils fournissent également un livret.

Étape 4: Relevez-le

Planifiez l'apparence des LED
Planifiez l'apparence des LED

Je ne voulais pas que les panneaux LED soient juste à côté du sol, car cela signifierait que beaucoup d'entre eux seraient bloqués par des personnes dans le dôme. Je voulais aussi élever le dôme pour qu'il soit plus spacieux et accueillant.

Jambes

J'ai fabriqué des pieds de 50 cm de haut avec des 2x4 et j'y ai vissé les mêmes connecteurs que les jambes de force.

Ensuite, pour augmenter la résistance et l'intégrité structurelle de la base, j'ai utilisé une barre plate en aluminium pour créer des X entre chaque section de jambe.

La porte

J'ai retiré l'une des entretoises horizontales pour faire une porte et l'ai remplacée par un morceau de contreplaqué sur le sol pour maintenir les pieds au bon espacement.

Étape 5: Planifiez l'apparence des LED

Logiciel

J'ai utilisé SketchUp pour mon travail de planification 3D car il est disponible gratuitement dans une application intégrée au navigateur. Heureusement (comme je ne suis pas un expert en modélisation 3D), j'ai trouvé un modèle de dôme géodésique disponible dans l'entrepôt 3D, où il y a plein de modèles gratuitement.

Combien de LED ?

La mise en page devait tenir compte de l'esthétique mais aussi de la puissance et de la distribution des données. J'ai décidé d'utiliser 11 Fadecandys (et 11 alimentations) pour couvrir 33 des triangles du dôme. Cela signifierait que les Fadecandys (et les alimentations) entraîneraient 3 triangles chacun, et qu'un côté du dôme pourrait être ouvert afin que les gens puissent voir de l'extérieur.

Cela m'a donné un maximum de 512 LED pour 3 triangles, car chaque Fadecandy peut piloter 8 bandes jusqu'à 64 chacune.

Décider d'une mise en page

Tous les triangles ne sont pas égaux ! Mon dôme est de style 2V, ce qui signifie qu'il a deux types de triangles, équilatéraux et isocèles.

J'ai proposé quatre configurations potentielles différentes pour les LED et je suis allé sur Instagram pour demander aux gens ce qu'ils préféraient. Le style 1 et le style 3 semblaient sortir vainqueurs. Le style 3 était mon préféré, mais les triangles concentriques du style 3 nécessitent en fait beaucoup plus de bandes LED que la disposition rayée, j'ai donc opté pour le style 1. Cela signifie qu'il y a 8 triangles équilatéraux avec une disposition LED triangulaire concentrique et 25 triangles isocèles avec LED rayé disposition.

Étant donné que les triangles équilatéraux sont plus gros et contiennent la disposition concentrique, ils utilisent chacun beaucoup plus de LED que les triangles isocèles. Par conséquent, j'ai dû diviser les équilatéraux à travers les Fadecandys.

8 des Fadecandys contrôlent 1 triangles équilatéraux et 2 isocèles chacun. 3 des Fadecandys contrôlent 3 triangles isocèles chacun.

Étape 6: En savoir plus sur la disposition des LED

En savoir plus sur la disposition LED
En savoir plus sur la disposition LED
En savoir plus sur la disposition LED
En savoir plus sur la disposition LED

Une fois la disposition générale décidée, je devais déterminer exactement combien de LED je mettrais sur chaque panneau. Je l'ai fait en utilisant une combinaison d'une feuille de calcul pour trouver le meilleur moyen de maximiser les capacités de Fadecandy et des dessins à l'échelle dans Illustrator, afin que je puisse voir à quoi ressemblerait la mise en page.

Maximiser la capacité du Fadecandy: lignes et bandes

J'ai mentionné plus tôt que chaque Fadecandy peut piloter jusqu'à 8 bandes de 64 pixels chacune. Mes triangles contiennent de nombreuses lignes de différentes longueurs de pixels, certaines lignes avec seulement très peu de pixels.

Si je devais traiter chacune de ces lignes comme une bande, je perdrais BEAUCOUP de la capacité du Fadecandy.

Inversement, si je voulais maximiser complètement la capacité du Fadecandy et avoir 64 LED sur chaque bande, j'aurais besoin d'avoir des bandes qui commencent au milieu d'une ligne, et ce sera déroutant à cartographier plus tard.

Je devais trouver la meilleure façon de joindre les lignes en bandes pour maximiser la capacité de bande autant que possible, sans diviser les lignes.

À la fin…

Les panneaux équilatéraux ont quatre bandes, composées de:

  • 30, 30 (60 au total - rouge sur l'image jointe)
  • 30, 22 (52 au total - orange sur l'image jointe)
  • 22, 22, 14 (58 au total - jaune sur l'image jointe)
  • 14, 14, 6, 6, 6 (46 au total - vert sur l'image jointe)

Les panneaux isocèles ont deux bandes, composées de:

  • 23, 28 (51 au total - bleu sur l'image jointe)
  • 3, 7, 11, 15, 19 (55 au total - violet sur l'image jointe)

Étape 7: Disposez les Fadecandys et les alimentations

Disposez les Fadecandys et les alimentations
Disposez les Fadecandys et les alimentations

Cette image montre une vue aplatie de la surface du dôme.

Les panneaux LED

Chaque panneau triangulaire a été étiqueté avec un numéro 1-11, qui fait référence au Fadecandy qui le contrôle. Chaque Fadecandy a trois triangles, donc les triangles ont aussi une lettre, A-C.

Autres éléments

Les cases vertes indiquent l'emplacement des Fadecandys. Chaque Fadecandy est monté sur un petit panneau qui distribue également la puissance, je vais vous montrer cela en détail dans quelques étapes de temps.

Les cases violettes indiquent les concentrateurs USB. Les Fadecandys sont connectés à un bureau Windows, via ces hubs.

Les cases bleues indiquent l'emplacement des alimentations, qui se trouvent dans 3 boîtes sèches, sur le sol autour du dôme.

Juste pour compliquer un peu les choses

Si vous comparez l'emplacement de FC10 et FC11, vous remarquerez que FC10 est le plus proche de la ligne la plus longue de ses panneaux isocèles, tandis que FC11 est le plus proche de la ligne la plus courte.

De plus, si vous regardez 10C, vous verrez que le Fadecandy est à droite de celui-ci, alors que 10A est à gauche.

J'ai dû tenir compte de ces variations lorsque j'ai examiné la quantité de câble dont chaque bande de LED avait besoin au début et lors de leur mappage.

Étape 8: Transformer les lignes en bandes

Transformer les lignes en bandes
Transformer les lignes en bandes

Cette feuille de calcul visait à déterminer la quantité de câble nécessaire au début de chaque section de bande LED.

Combien de câble faut-il ?

Certaines lignes sont étiquetées "jst", ce qui signifie qu'elles sont le début de la bande et qu'elles ont juste besoin d'un connecteur JST.

Certaines bandes ont "jst" et une longueur, ce qui signifie que la bande commence à une certaine distance du Fadecandy (comme nous l'avons vu dans la disposition à l'étape précédente), et a besoin de cette longueur de câble pour l'atteindre avant d'ajouter le connecteur JST.

Certaines bandes ont juste une longueur, ce qui signifie qu'elles doivent être jointes à la section de bande avant elles par cette longueur de câble.

Étape 9: Préparation de la bande LED

Préparation de la bande LED
Préparation de la bande LED
Préparation de la bande LED
Préparation de la bande LED

La bande LED

J'utilise une bande LED de style ws2812b, qui a trois entrées, une alimentation 5V, une masse et des données. L'utilisation de connecteurs JST femelles à 3 broches me permet de me connecter à chacune de ces broches individuellement. Les homologues mâles des connecteurs JST fourniront l'alimentation et les données.

Soudure

À l'aide de ma feuille de calcul de l'étape précédente, j'ai coupé toute la bande LED aux longueurs requises, soudées sur les longueurs de câble requises et les connecteurs JST. J'ai également mis un condensateur au début de chaque bande, ceci afin d'éviter que des pics de courant initial ne ruinent le premier pixel de la bande. (J'ai déjà eu cela dans des projets précédents où je n'ai pas ajouté de condensateur, donc ça vaut vraiment la peine de le faire.)

Scellage

J'ai ajouté du silicone RTV sur la partie exposée de la bande, je l'ai recouverte de thermorétractable transparent et je l'ai soufflée avec un pistolet thermique pour sceller l'étanchéité.

Étape 10: Faire les panneaux

Faire les panneaux
Faire les panneaux

Matériel

J'ai décidé d'utiliser du contreplaqué de peuplier de 4 mm pour fabriquer les panneaux. Je l'ai gardé mince pour réduire le poids. J'ai calculé le poids total du contreplaqué et contacté buildwithhubs pour vérifier si j'étais dans les limites de poids autorisées pour suspendre des objets à la structure du dôme. Comme le poids est réparti assez uniformément sur le dôme, tout va bien. J'aurais adoré utiliser de l'acrylique mais malheureusement c'était hors de budget pour moi pour ce projet.

Fixation de bande LED

Je ne voulais pas coller la bande LED directement sur les panneaux car j'aimerais pouvoir remplacer des sections de bande défectueuse et potentiellement réutiliser toute la bande à un moment donné, j'ai donc décidé de faire des trous dans les panneaux à utiliser attaches de câble. Les points sur l'image ci-jointe montrent la disposition des trous des attaches de câble.

Découper les panneaux

Il y a 33 triangles au total, et ils s'intègrent dans 9 feuilles de contreplaqué de 2440 x 1220 mm via la disposition que vous voyez dans l'image ci-jointe.

Dans un monde idéal, j'aurais fait sauter chacune des 9 feuilles de pli directement dans un cutter laser et coupé les triangles et les trous des attaches de câble en même temps. Malheureusement, nous vivons dans un monde où les découpeurs laser 2440 x 1220 mm sont rares, les triangles devaient donc être découpés à l'aide d'une scie à chaîne.

Plus triste encore, nous ne vivons pas non plus dans un monde où même un seul de mes panneaux triangulaires s'intégrerait dans le découpeur laser à l'école, j'ai donc dû découper au laser un modèle de la moitié de chacun des motifs triangulaires et l'utiliser pour percer les trous à la main.

J'ai également peint le dos des triangles, la plupart en noir, puis six en argent au hasard.

Étape 11: Attachez le câble de la bande LED aux panneaux

Attachez le câble de la bande LED aux panneaux
Attachez le câble de la bande LED aux panneaux
Attachez le câble de la bande LED aux panneaux
Attachez le câble de la bande LED aux panneaux

C'était beaucoup de câbles ! Heureusement, j'avais des amis pour m'aider.

Etiquettes de câbles

J'ai étiqueté chaque connecteur JST avec une étiquette de câble à code couleur, pour faciliter le branchement sur son Fadecandy. Ils sont ordonnés arc-en-ciel, donc pour chaque Fadecandy il y a:

  • Bande 1- Rouge
  • Bande 2 - Orange
  • Bande 3 - Jaune
  • Bande 4 - Vert
  • Bande 5 - Bleu
  • Bande 6 - Violet
  • Bande 7 - Gris
  • Bande 8 - Blanc

Pas un arc-en-ciel exact, mais ce sont les couleurs des étiquettes et ça marche !

(Certains des Fadecandy, ceux qui n'entraînent que 3 panneaux isocèles, plutôt qu'1 équilatéral et 2 isocèles, n'utilisent que 6 bandes.)

Étape 12: accrochez les panneaux dans le dôme

Accrochez les panneaux dans le dôme
Accrochez les panneaux dans le dôme
Accrochez les panneaux dans le dôme
Accrochez les panneaux dans le dôme
Accrochez les panneaux dans le dôme
Accrochez les panneaux dans le dôme

Mes panneaux triangulaires sont légèrement plus petits que l'écart entre les entretoises, je voulais qu'ils pendent librement dans l'espace plutôt que de les attacher solidement aux entretoises.

Méthode d'accrochage

Chaque nœud du dôme a un boulon à œil - ceux-ci ne sont pas fournis en standard, mais Buildwithhubs les vend dans un pack. Ces boulons à œil sont parfaits pour accrocher des objets (tout en faisant attention à ne pas accrocher trop de poids sur un nœud).

J'ai décidé d'utiliser de la paracorde et des petits mousquetons. Le cordon est passé à travers deux trous dans chaque coin du panneau. Le mousqueton clipse le cordon sur le boulon à œil. Pour serrer le cordon et m'assurer que le panneau est correctement positionné dans l'espace, j'ai également ajouté une bascule en plastique à chacun. Cela signifie qu'ils peuvent être facilement clipsés lorsqu'ils sont lâches, puis resserrés par la suite pour les positionner au centre de l'espace.

Je suis très content du résultat de la méthode du mousqueton. C'est très satisfaisant de clipser les panneaux sur le dôme, clic clic clic. Il est également simple et rapide de les retirer.

Étape 13: Créer des panneaux de distribution d'alimentation et de données

Faire des panneaux de distribution d'alimentation et de données
Faire des panneaux de distribution d'alimentation et de données
Faire des panneaux de distribution d'alimentation et de données
Faire des panneaux de distribution d'alimentation et de données

Donc, nous avons soudé des charges de connecteurs JST à des charges de bandes LED, mais à quoi se branchent-ils ?

Chaque bande doit être connectée à l'alimentation, à la terre et aux données du Fadecandy. Il y a 11 panneaux de connexion qui contiennent les 11 Fadecandys et distribuent l'énergie des 11 alimentations. J'ai découpé au laser ces panneaux dans des restes de plis de peuplier de 4 mm. Sur le côté, il y a des fentes pour des morceaux de velcro, qui fixent soigneusement les panneaux aux entretoises du dôme.

Puissance

Chaque LED utilise un 0,06A à pleine luminosité. Cela signifie que la puissance totale nécessaire pour que 4378 pixels fonctionnent à pleine puissance est d'environ 1,3 kW.

Cependant, j'ai essentiellement 11 circuits d'alimentation complètement séparés. (Ils ne sont connectés que via -ve via le Fadecandy. Ne connectez pas le +ve d'alimentations séparées car cela est dangereux.) Chaque circuit n'alimente qu'un maximum de 428 pixels, soit un total de 128W, donc le courant est à un niveau beaucoup plus sûr.

Mes alimentations sont capables de fournir 150W chacune (30A à 5V).

Sur le panneau de connexion, l'alimentation et la masse proviennent de l'alimentation en bas, elle est ensuite connectée aux connecteurs wago, qui la répartit sur 8 connecteurs JST mâles.

Données

Le Fadecandy est fixé à gauche du panneau et le câble USB vient du bas de la même manière que les câbles d'alimentation.

Le câble de données du connecteur JST est soudé à une bande de broches femelles à en-tête unique qui se branche sur les broches du Fadecandy. L'une des broches de masse du Fadecandy est connectée au circuit de masse. (Les broches de masse sont toutes connectées les unes aux autres, il n'est donc pas nécessaire de toutes les connecter)

Étape 14: Revêtement en tissu

Revêtement en tissu
Revêtement en tissu
Revêtement en tissu
Revêtement en tissu
Revêtement en tissu
Revêtement en tissu

Coudre ensemble le revêtement en tissu était, de manière inattendue, l'une des parties les plus difficiles et les plus longues de ce projet. Heureusement que j'avais un ami pour m'aider !

Disposition

Sur le schéma aplati du dôme, vous pouvez voir que le couvercle se compose de 5 pentagones qui sont constitués de 5 triangles isocèles chacun, plus 8 triangles équilatéraux. Nous avons fait la couverture dans cet ordre - cousu ensemble les 5 pentagones d'abord, puis les a joints avec les triangles équilatéraux.

(Les sections noires sur ce diagramme sont ouvertes et découvertes.)

Mesure

Nous avons essayé de calculer les mesures des triangles en utilisant les mathématiques comme les gens normaux, mais pour une raison quelconque, cela ne cessait de se tromper et de ne pas s'adapter tout à fait au dôme. mesurer la taille, puis utilisé ce triangle polycord comme modèle. Je ne sais pas pourquoi l'utilisation des mesures connues des écarts entre les entretoises et les nœuds a continué à mal tourner, les triangles 3D sont déroutants.

Pentagones

Pendant que nous fabriquions les triangles isocèles et que nous les cousions ensemble en pentagones, nous l'accrochions fréquemment au dôme pour vérifier que tout s'alignait. Il se fixe au dôme à l'aide de petits élastiques cousus aux points de rencontre des triangles.

Le joindre ensemble

Une fois que nous avons fait les cinq pentagones, nous avons commencé à découper les triangles équilatéraux en utilisant la même méthode - polycord à travers les boulons à œil. Une fois que nous avons cousu deux des pentagones ensemble de cette façon, nous avons réalisé qu'il ne s'alignait pas bien du tout. Au lieu de cela, nous avons décidé d'accrocher tous les pentagones dans le dôme et d'y épingler les triangles équilatéraux. Ensuite, une fois que tout a été épinglé, nous l'avons retiré et mon ami l'a cousu ensemble en un seul morceau solide.

L'épingler de cette façon a été beaucoup de travail, une grande partie avec mes bras directement au-dessus de ma tête souvent tout en essayant d'épingler le tissu de l'extérieur du dôme, tout en se tenant à l'intérieur. Amusant!

Étiquetage

En cours de route, nous avons étiqueté les pièces avec un stylo pour tissu soluble à l'eau… ces choses sont géniales car vous pouvez écrire directement sur le tissu, puis le vaporiser avec de l'eau et l'encre disparaîtra (parfois cela prend quelques fois, mais ça marche)

Étape 15: accrocher le tissu

Image
Image

Le tissu est accroché dans le dôme par des longueurs d'élastiques qui sont cousues à chaque point, celles-ci s'attachent aux boulons à œil aux nœuds du dôme.

Attacher et dénouer les élastiques n'est pas aussi rapide que de clipser les panneaux, j'aimerais donc remplacer cette méthode par des mousquetons ou un autre clip à un moment donné.

Étape 16: Fixation du Kinect

Sol
Sol

Dans un affichage audacieux de confiance dans l'univers, à aucun moment je n'ai mesuré l'écart entre les panneaux pour m'assurer qu'un Kinect conviendrait réellement. (S'il vous plaît, ne le dites pas à mes tuteurs)

Vous pouvez imaginer ma joie quand il s'est ajusté comme ça.

Cette image montre un Kinect v2 mais j'ai fini par utiliser un Kinect v1 pour des raisons que j'aborderai plus tard.

Il est juste attaché à la jambe de force à l'aide de ruban velcro double face.

Étape 17: Plancher

Le sol est fait de tapis en mousse EVA imbriqués que j'ai obtenus de B&Q. Je les ai utilisés pour deux projets maintenant et c'est parfait pour l'intérieur. C'est très confortable pour s'asseoir.

À l'extérieur, lors de festivals venteux comme Burning Man, il doit être sécurisé partout car le vent passera juste en dessous et soulèvera le tout.

Étape 18: C'est la construction terminée… sur le code

Merci d'être resté avec moi jusqu'à présent. C'est toute la construction physique FAIT. Parlons maintenant du logiciel.

Étape 19: Serveur Fadecandy

Serveur Fadecandy
Serveur Fadecandy
Serveur Fadecandy
Serveur Fadecandy

Téléchargez le logiciel

Le logiciel Fadecandy est disponible ici.

Téléchargez l'intégralité du github et décompressez-le.

Exécuter le serveur

Accédez au dossier 'bin' à l'intérieur du contenu de fadecandy que vous venez de télécharger.

Cliquez sur fcserver.exe.

Cela chargera une fenêtre cmd qui affiche tous les appareils Fadecandy connectés. Dans ce cas, il y en a 11.

Tester les LED

Accédez à https://127.0.0.1:7890/ pour voir l'interface utilisateur du serveur Fadecandy. Cela montre à nouveau tous les appareils connectés et permet un petit contrôle.

En cliquant sur la liste déroulante du motif de test, vous pouvez régler tous les pixels de ce Fadecandy sur une luminosité complète ou égale. Il est également possible de faire clignoter la petite LED verte sur le fadecandy lui-même en cliquant sur "identifier".

Étape 20: Configurer le serveur Fadecandy

Configurer le serveur Fadecandy
Configurer le serveur Fadecandy

À l'heure actuelle, les Fadecandys sont tous chargés dans un ordre aléatoire. Plus tôt, j'ai étiqueté mes triangles 1-11 mais il n'y a aucun moyen pour l'ordinateur de savoir lequel est lequel pour le moment. Pour ce faire, nous devons créer un fichier de configuration.

Quel Fadecandy est lequel

Avant de pouvoir dire à l'ordinateur dans quel ordre se trouvent les Fadecandy, nous devons déterminer nous-mêmes lequel est lequel. J'ai fait cela en utilisant l'interface utilisateur du navigateur pour allumer chaque section, puis en notant laquelle il s'agissait et quel est son numéro de série.

Le fichier de configuration

Dans le fichier de configuration, nous répertorions tous les numéros de série, le pixel d'index auquel ils commencent et le nombre de pixels qu'ils contrôlent théoriquement. Je dis théorique car je vais cartographier les pixels comme s'il y en avait 512 par Fadecandy, même si en fait il y en a moins. Cela facilite simplement les choses car nous savons que le premier pixel de tout Fadecandy est toujours [numéro de Fadecandy * 512].

Le Fadecandy ne se soucie pas du fait que chacun a moins de pixels que le maximum, et nous nous en occuperons également dans le code de traitement.

Chargement du fichier de configuration

Maintenant, pour démarrer le serveur Fadecandy, au lieu de simplement cliquer sur fcserver.exe, nous devons lui transmettre ce fichier de configuration.

Nous le faisons en ouvrant une invite cmd dans le dossier bin et en tapant

fcserver config.json

Cela va maintenant charger tous les Fadecandys dans les bonnes adresses.

Étape 21: Mapper les pixels

Image
Image
Intégration Kinect
Intégration Kinect

Cartographie Dymaxion

Buckminster Fuller (qui a popularisé les dômes géodésiques) a également créé la carte dymaxion, qui est une représentation de la terre comme si elle était à la surface d'un icosaèdre. Il peut être plié pour être 3D ou aplati pour être 2D.

De la même manière, j'aplatis la surface de mon dôme de sa forme 3D à une représentation 2D, comme le montre l'image ci-jointe. Cette représentation 2D sera mappée dans un canevas de traitement où tout ce que je dessine sur le canevas est immédiatement affiché à travers les LED.

Traitement

Processing est un langage de programmation visuel. Tout comme vous dessineriez un rectangle dans Photoshop à l'aide de la souris, vous pouvez dessiner un rectangle dans Processing en écrivant du code comme celui-ci:

rect(100, 80, 10, 50);

Cela vous donnerait un rectangle commençant à 100 px, 80 px vers le bas, 10 px de large et 50 px de haut.

Si vous n'êtes pas familier avec Processing, je vous recommande vivement les tutoriels de Daniel Shiffman sur Youtube qui sont aussi divertissants qu'instructifs.

Dessiner des lignes de LED

Le traitement fonctionne avec Fadecandy prêt à l'emploi. Il y a une fonction pour disposer les LED en lignes, en lui disant:

  • l'index de départ / l'adresse des LED dans cette ligne
  • le nombre réel de pixels dans la ligne
  • l'emplacement x, y du centre de la ligne
  • l'espacement entre eux
  • l'angle de la ligne

Dessiner des triangles

J'ai écrit une fonction pour chacun de mes types de triangles (équilatéraux et isocèles). je le dis:

  • l'index/l'adresse de départ des LED dans tout ce triangle
  • le centre du triangle
  • l'angle auquel fait tout le triangle

À partir de ces informations, il écrit les lignes de LED, en utilisant la trigonométrie pour les placer correctement sur le canevas de traitement.

(Vous vous souvenez peut-être de nombreux pas en arrière, j'ai souligné qu'en raison de l'emplacement des Fadecandys, certains triangles isocèles commencent à la bande la plus longue et d'autres à la plus courte, et certains viennent de la gauche et d'autres de la droite. Cela signifie que je ont en fait quatre fonctions pour les triangles isocèles)

À propos des adresses

Quand je dis index / adresse, je fais référence à la façon dont le Fadecandy adresse les LED.

par exemple.

  • Sur le premier Fadecandy, la première bande commence à 0
  • Sur le premier Fadecandy, la deuxième bande commence à 64 (peu importe le nombre de pixels réellement présents sur la première bande)

Sur le premier Fadecandy, la troisième bande commence à 128 (peu importe le nombre de pixels réellement présents sur les deux premières bandes)

  • Sur le deuxième Fadecandy, la première bande commence à 512 (peu importe le nombre de pixels réellement présents dans le premier Fadecandy
  • Sur le deuxième Fadecandy, la deuxième bande commence à 576 (… vous voyez l'idée)

Code

Une version "vierge" de mon code dôme est disponible sur github ici.

Ce code contient le mappage décrit ci-dessus mais aucun graphique à part un cercle dessiné à l'endroit où se trouve la souris.

n.b Les pixels ne seront rendus dans ce code que si vous avez le serveur Fadecandy en cours d'exécution.

Étape 22: Intégration Kinect

Kinect 1 ou 2 ?

Il existe deux versions du Kinect. Kinect v1 fonctionnait avec la Xbox 360, tandis que Kinect v2 fonctionnait avec la Xbox One (ce qui prête à confusion).

J'utilise un Kinect v1. Cela s'explique en partie par le fait qu'il est très difficile d'allonger la longueur du câble USB sur le Kinect v2 en raison de la quantité de données envoyées. Il nécessite une rallonge coûteuse et difficile à trouver. Étant donné que mon Kinect est monté en haut du dôme, je ne peux pas connecter un Kinect v2 directement au bureau au sol. Un problème ridicule à avoir mais, nous y sommes.

Certaines de mes photographies et vidéos montrent un Kinect v2, c'est parce que j'avais initialement une configuration où j'avais le Kinect v2 connecté à un câble d'ordinateur portable attaché à mi-hauteur du dôme, qui envoyait des informations via OSC au bureau qui contrôle les LED. Cela a bien fonctionné pour certaines applications, mais une fois que j'ai voulu utiliser toute l'alimentation en profondeur, je ne pouvais pas l'envoyer partout sur OSC, j'ai donc basculé sur Kinect v1.

Installation

Je ne vais pas parler de l'installation du SDK et de l'obtention des câbles appropriés pour le Kinect, car il existe de nombreux guides sur la façon de le faire. J'ai installé le SDK v1.8 et, dans Processing, j'utilise la bibliothèque OpenKinect.

Étape 23: Suivi de la profondeur Kinect

Code

Mon code est disponible sur github ici. C'est plutôt bien commenté alors bonne navigation !

Voici un aperçu de ce que fait le code:

Le flux de la caméra de profondeur Kinect est mappé en couleur (par exemple, loin = rouge, proche = vert) et affiché directement sur les LED. Mais il y a plus que cela.

Premièrement, la couleur de chaque pixel dans l'alimentation en profondeur oscille d'avant en arrière autour de sa teinte réelle, pour ajouter un effet chatoyant.

Deuxièmement, lors du démarrage de l'esquisse, un clic de souris effectuera une lecture en arrière-plan, puis seuls les pixels qui sont plus proches que cette lecture en arrière-plan s'afficheront. Cela empêche le sol/les coussins/la structure du dôme d'apparaître.

Il existe également une fonction pour réinitialiser l'arrière-plan en lisant toutes les x images, donc si les personnes à l'intérieur du dôme sont immobiles, elles ne s'afficheront pas. Cela signifie que le mouvement réel se démarque, au lieu de montrer toute la masse globale d'absurdités profondes. (Je remplacerai bientôt cela par une version lerped, donc l'arrière-plan ne fait pas une réinitialisation aussi "dure" mais évolue plutôt avec le temps)

Il y a aussi une animation d'arrière-plan qui montre des grappes de gouttes de couleur, la quantité de grappes est inversement proportionnelle à la quantité d'action qui se passe dans le dôme, donc si personne n'est présent ou s'ils le sont toujours, il y a beaucoup d'animation. Ensuite, il disparaît progressivement au fur et à mesure que plus de mouvement se produit à l'intérieur.

Étape 24: Dôme terminé

Image
Image
Dôme terminé !
Dôme terminé !
Dôme terminé !
Dôme terminé !

J'espère que vous avez appris quelque chose et trouvé cela intéressant. Regardez la vidéo complète qui contient un tas de séquences du dôme en fonctionnement.

J'ai également inclus ici pour le plaisir quelques photographies à longue exposition que j'ai prises de When in Dome. Prendre plaisir!

Concours Fais briller 2018
Concours Fais briller 2018
Concours Fais briller 2018
Concours Fais briller 2018

Premier prix du concours Make it Glow 2018

Conseillé: