FizViz : Visualisations Physiques à Fort Impact pour Vos Données
Composants et fournitures
| Composant | Quantité | Remarque |
|---|---|---|
| Arduino MKR1000 | 1 | Utilisé avec Windows Remote Arduino pour transmettre l'état au widget FizViz |
| Pilote moteur DC/Pas-à-pas Adafruit TB6612 1.2A | 1 | |
| Bandeau LED NeoPixel RGBW Adafruit 144 LED/m - 1m | 1 | D'autres densités fonctionnent, mais 144 LED/m offre l'effet le plus lumineux et localisé |
| Moteur pas-à-pas Sanyo Pancake : Bipolaire, 200 pas/tr, 50×11mm, 4.5V, 1 A/phase | 1 | Presque n'importe quel moteur pas-à-pas convient ; le Sanyo Pancake se cache facilement dans le cadre du RotoMoto |
| Alimentation à découpage Adafruit 5V 10A | 1 | |
| Contact à lame (Reed Switch) Coto Technology CT10-1540-G1 | 1 |
Outils et machines nécessaires
| Outil | Remarque |
|---|---|
| ShopBot Buddy CNC | Utilisé pour découper le support et l'acrylique du RotoMoto. D'autres méthodes possibles : découpe laser, outils manuels. |
| LulzBot TAZ5 (imprimante 3D) | Pour imprimer les pièces plastiques et composants d'assemblage. Une imprimante 3D est très utile pour construire les widgets FizViz. |
| Form Labs Form1+ (imprimante 3D résine) | Non obligatoire, mais sa résolution et précision incroyables ont permis d'imprimer des pièces qu'il aurait fallu usiner ou acheter. |
| Autodesk Inventor | Conception CAO |
| Rhino3D | Conception CAO |
À propos de ce projet
Qu'est-ce qu'un « FizViz » ?
Nous créons des visualisations physiques de données qui présentent l'information en grand format, de façon spectaculaire et instantanément lisible. Le concept : accrocher un ensemble de widgets FizViz dans votre bureau, atelier, ou tout lieu où vous souhaitez surveiller et partager les données qui comptent :
- Combien de produits ai-je vendus aujourd'hui ? Comment cela se compare-t-il à ma moyenne ?
- Combien de visiteurs sur mon site web ? Combien de pages vues ?
- Est-ce que mon trafic augmente grâce à ma récente vidéo de chat, ou les gens rebondissent-ils car sans lien avec mon produit ?
Ou connectez-le à d'autres sources de données :
- Combien de temps reste-t-il à mon impression 3D ?
- Combien de personnes sont présentes ?
- Combien de candidatures ont déjà été soumises pour le Hackster World's Largest Arduino Challenge ?
Pourquoi avons-nous créé FizViz ?
L'an dernier, notre équipe a créé et lancé notre premier « vrai » produit. Nous avons conçu, ajusté, financé par crowdfunding, construit, re-conçu, certifié, ri, pleuré, juré... et finalement expédié. Bien plus difficile que prévu (mais c'est ce que tout le monde dit).
Puis... a commencé l'observation obsessionnelle des métriques. Combien de visiteurs sur notre page produit ? Notre boutique ? Combien de temps restaient-ils ? D'où venaient-ils ? Que se passe-t-il quand nous twittons, bloguons, partageons ? Pourquoi avons-nous soudain vendu 10 unités sans aucune action marketing ?
Les esprits curieux voulaient savoir.
Même dans une équipe dédiée, tout le monde n'avait pas accès ou l'intérêt de passer au peigne fin Google Analytics pour répondre à ces questions. Ceux qui le faisaient constataient qu'ils consultaient les mêmes indicateurs clés plusieurs fois par jour. Souvent, ils n'avaient pas bougé quand on les regardait, ou avaient beaucoup changé quand on ne les regardait pas.
Il ne manque pas d'outils en ligne pour filtrer, résumer et mixer les données sous toutes les formes. Mais ils vous sortent de votre flux de travail et exigent une connaissance (parfois ésotérique) du processus pour accéder aux informations qui vous intéressent.
Et franchement, ils ne sont pas très excitants.
Ils ne font pas crier de joie les gens au bureau. Ils ne diffusent pas les succès de l'équipe, ni l'adrénaline de voir les résultats affluer. Ce sont des expériences stériles, numériques et généralement solitaires.
Comment fonctionne FizViz ?
Un widget FizViz se compose de 3 éléments :
- Un PC ou tablette Windows (nous adorons la Surface) qui récupère vos données et utilise Windows Remote Arduino pour envoyer l'état actuel au widget FizViz.
- Un Arduino MKR1000 qui reçoit les données du PC via WiFi et pilote les commandes physiques du widget.
- Les composants physiques d'affichage. Actuellement pris en charge :
- Bandeaux LED NeoPixel pour effets lumineux colorés
- Moteurs pas-à-pas pour créer des cadrans et jauges
- Interrupteurs pour le zéro ou l'étalonnage des jauges (nous utilisons un contact à lame pour trouver le zéro sur notre widget RotoMoto)
En résumé, le PC fait le travail lourd : récupération des données depuis votre source (nous avons inclus le code pour Google Analytics) et envoi des états et commandes à l'Arduino qui pilote l'installation physique.
Nous fournissons tous les schémas et informations pour mettre en route un widget NeoPixel de base avec un moteur pas-à-pas. Ensuite, laissez libre cours à votre créativité.
Notre vision : continuer à développer différents widgets pour différents types de données. Nous avons commencé avec un exemple, mais FizViz vise à créer la bonne visualisation pour le type de données que vous voulez afficher. Il n'y a pas de règles !
Vue d'ensemble électrique
Le câblage d'un FizViz est assez simple. Nos derniers schémas sont toujours dans le dépôt GitHub FizViz-Electrical. Quelques notes sur les composants :
- Arduino MKR1000 : Le cerveau de l'opération. Compact et performant !
- Bandeaux NeoPixel : Connexion simple - nous utilisons une résistance de 460 Ω (R1) entre la broche de données et l'Arduino. L'alimentation du bandeau est généralement branchée directement sur l'alimentation 5V principale. Le NeoPixel Uberguide d'Adafruit est la référence pour l'intégration NeoPixel, avec une bibliothèque Arduino pour simplifier le contrôle. Les bandeaux peuvent avoir deux fils de masse (noirs) : les deux se connectent à une broche GND.
- Carte Adafruit TB6612 : Pilotage de tout moteur pas-à-pas standard. Idéal pour créer des mouvements précis : cadrans, jauges, curseurs. Nous l'avons utilisée pour l'aiguille de notre RotoMoto. Nous avons suivi les instructions d'Adafruit pour la compatibilité avec la bibliothèque Stepper intégrée d'Arduino.
- Contact à lame (Reed Switch) : Notre RotoMoto utilise un aimant dans l'aiguille et un contact à lame pour détecter la position zéro. Un micro-contacteur ou un contacteur de pression pourrait aussi convenir selon la mécanique de votre widget.
Nous avons condensé l'électronique sur une plaque Adafruit Perma-Proto demi-format pour l'intégrer dans le widget, mais selon votre format, d'autres formes peuvent convenir. Voici notre montage :
Firmware / Aperçu du code Arduino
Notre dépôt GitHub FizViz-Arduino contient la dernière version du sketch Arduino qui alimente les widgets FizViz. Vous y trouverez tous les détails pour démarrer, mais voici quelques points importants :
- Configuration WiFi : Attention aux notes sur la config WiFi. Si votre réseau est exotique, vous devrez creuser un peu.
- Dépendances externes : Nous sommes légers en dépendances, mais référençons quelques bibliothèques à installer. Les dernières versions sont toujours indiquées en bas de page.
Vue d'ensemble Windows / Remote Arduino
Notre dépôt GitHub FizViz-Windows héberge le code Windows pour FizViz. Nous vous recommandons de lire les instructions détaillées sur GitHub.
Notre stratégie : partir du code Remote Arduino Wiring de ms-iot. Au lieu de contrôler les broches directement depuis l'application Windows, nous avons mis en place plusieurs messages de contrôle Firmata personnalisés. Nous avons légèrement modifié le code remote-wiring pour permettre le passage de messages personnalisés vers la couche Firmata. Puis nous avons implémenté des gestionnaires de messages personnalisés dans le projet Arduino qui mettent à jour l'état FizViz selon les commandes de l'application Windows.
Nous avons aussi ajouté la prise en charge de la récupération des données d'analyse depuis Google Analytics, notre cas d'usage principal pour nos propres widgets FizViz. Espérons que cela servira de référence, même si vous vous connectez à une autre source de données. Plusieurs étapes sont nécessaires pour configurer un compte Google Analytics pour l'accès API, consultez les notes du dépôt.
Widget #1 - Le « RotoMoto »
Nous avons construit le RotoMoto pour démontrer toutes les fonctionnalités de FizViz. Il exploite la plateforme en combinant éclairage et contrôle pas-à-pas dans un widget dont on serait fier d'orner n'importe quel bureau. Notre rêve : une suite de 4 ou 5 de ces merveilles côte à côte, mais il nous faudra plus de MKR1000 !
La construction de votre propre RotoMoto est assez simple. Même sans les mêmes outils, il existe de multiples façons d'obtenir les mêmes effets avec ce que vous avez sous la main. La suite de l'article explique la fabrication et les adaptations possibles.
Dépôt CAO
Nos fichiers CAO sont sur GitHub dans le dépôt FizViz-CAD. Vous y trouverez les versions STEP et STL des différentes pièces fabriquées pour le widget RotoMoto.
Pièces supplémentaires
Au-delà de notre conception CAO, voici la liste des pièces utilisées dans notre assemblage :
Description Fournisseur Référence Notes
Poulie moteur McMaster-Carr 1375K15 15 dents
Poulie aiguille McMaster-Carr 1375K28 30 dents
Roulements McMaster-Carr 60355K701 2 utilisés
Courroie McMaster-Carr 7887K28
Vis moteur De Mode Elec. 54-410-100 2.6mm x 8mm
Contact à lame Digikey 306-1124-1-ND
Aimant Digikey 469-1002-ND 0.5"D x 0.125"H
La platine de montage
La colonne vertébrale du RotoMoto est la platine de montage. Elle loge les composants mécaniques et électriques, tout en les gardant proprement cachés derrière le biseau lumineux de l'affichage.
Nous avons utilisé un ShopBot CNC pour fraiser notre platine dans du MDF de 1" d'épaisseur. Il existe d'autres méthodes (découpe laser, scie sauteuse, etc.), mais le CNC étant disponible, nous l'avons utilisé.
Le biseau (Bezel)
La grande caractéristique de notre construction est le biseau illuminé. Nous l'avons découpé dans une plaque d'acrylique de 1/2" d'épaisseur, toujours sur le ShopBot. La clé de la technique d'illumination : toute zone « givrée » (surface usinée) sera illuminée. Vous pouvez créer des marquages avec une Dremel ou d'autres outils manuels.
Nous avons fourni nos modèles CAO coupés en deux pour optimiser l'utilisation du matériau. Assemblez les deux parties avec du ciment acrylique, ou fusionnez le modèle si vous prévoyez une découpe en une seule passe (c'est ainsi que notre démo a été construite).
Anneau intérieur
L'anneau intérieur est une pièce clé : c'est là que le bandeau NeoPixel est fixé et caché derrière le biseau acrylique. Notre fabrication : impression 3D en gros morceaux sur notre TAZ5 en PLA, puis collage. Après pas mal de mastic, de primaire, nous avons obtenu un anneau solide.
Moteur et mécanique
Le dépôt CAO contient les fichiers pour un support moteur pour notre Sanyo Pancake Stepper, ainsi que des tendeurs de courroie et un arbre. L'installation est simple : les courroies et poulies sont montées comme indiqué. L'utilisation de deux roulements dans le support augmente la rigidité et maintient l'arbre droit.
Câblage
Faire tenir le tout est un peu délicat. D'abord, collez ou scotchez votre bandeau NeoPixel à l'anneau intérieur pour le maintenir fermement. Ensuite, les fils du contact à lame et des NeoPixels passent par le trou dans le corps du support. L'anneau intérieur glisse alors à travers le biseau et dans le support.
Une image vaut mille mots...
Étapes de finition
Dernière étape : ranger les fils et tout sécuriser. C'est un ajustement serré, mais tout rentre. Finalisez le câblage, et vous devriez avoir votre propre RotoMoto !
Code
FizViz-Windows
Notre dépôt GitHub contenant le code source Windows pour FizViz :
https://github.com/iotdesignshop/FizViz-Windows
FizViz-Arduino
Notre dépôt GitHub contenant le code source Arduino pour la plateforme FizViz :
https://github.com/iotdesignshop/FizViz-Arduino
Pièces personnalisées et boîtiers
FizViz-CAD
Dépôt GitHub contenant les derniers fichiers CAO pour les widgets FizViz :
https://github.com/iotdesignshop/FizViz-CAD
Schémas
Dépôt FizViz-Electrical
Schéma EAGLE et versions bitmap des derniers designs électroniques FizViz :
https://github.com/iotdesignshop/FizViz-Electrical.git
Processus de fabrication
- Les meilleurs accessoires pour exploiter pleinement le potentiel de votre Raspberry Pi
- Conception d'un système de récupération par parachute balistique pour UAV
- Votre usine est-elle prête pour l'IoT ? Guide pratique
- 3 conseils essentiels pour stocker en toute sécurité votre boroscope d'aviation
- Assurer la sécurité au travail face à l'usage croissant du cannabis
- Bilan de santé trimestriel de la supply chain : garantir des opérations fluides
- Comment l'Usinage CNC Stimule l'Efficacité et la Qualité dans la Production à Grande Échelle
- Stratégies éprouvées pour prolonger la durée de vie de vos outils de poinçonnage
- Guide Essentiel de Maintenance pour Machines de Découpe : Maintenez Votre Équipement en Parfait État