Auteur FuzzyBot | Dernière modification 9/12/2019 par Clementflipo
Découpe laser, Impression 3D, Programmation Arduino, Juke box, Météo, Arduino, ledring, moteur pas-à-pas, LCD Mood_Box,_Sons_et_Lumières_DSC_0064.JPG fr none Creation 1
Vous trouverez dans ce paragraphe le projet décrit un peu plus en détail.
Ce projet est un projet de groupe (FaB team) réalisé dans le cadre de la formation hybride "Fabrication Numérique", promotion juillet 2018.
Ce projet de fin de parcours met en œuvre une partie des savoir-faire acquis au cours de celle-ci et scelle la formation. Il vient donc en complément du projet "bentolux" qui sera bientôt documenté et référencé sur wikifab.org .
Les instructions de base étaient les suivantes :
Après réflexion, notre groupe a décidé de créer l'étage musical "Mood Box" qui viendrait compléter la station météo déjà prévue avec l'étage socle et l'étage écran LCD.
Le comportement prévu est décrit dans les paragraphes ci-dessous.
Une fois le bloc d'alimentation correctement branché, le démarrage de la boîte est réalisé par le biais de l'interrupteur en façade.
Ce démarrage déclenche les événements suivants :
S'il n'y a aucune autre action dans la foulée, la boîte passe en mode "veille".
Dans ce mode, l'écran LCD affiche la température et le taux d'humidité accompagnés d'un message.
Ces messages comme la couleur appliquée à l'anneau de Leds et au fond de l'écran LCD dépendent de la température détectée, à savoir :
La Mood Box est activée lorsque l'utilisateur appuie sur la barre de laiton située au sommet de la boîte (cette barre est une extension de la touche capacitive installée à l'intérieur de la boîte).
Cette activation est accompagnée d'une animation conjointe de la figurine, de l'anneau de LEDs et de l'écran LCD.
La première fois, la lecture de la musique démarre au tout début de la liste de lecture.
Le bouton du potentiomètre est alors actif et permet de régler le volume de la musique jouée.
La barre reste quant à elle disponible pour agir sur la musique jouée.
Pendant la lecture, si la barre est touchée :
Remarque : chacune des actions pause/play/next/previous génère un changement de rotation de la figurine.
Pendant la lecture, l'anneau de LEDs est en mode "arc-en-ciel" et la figurine tourne sur elle-même.
Après activation de la Mood Box ou après l'arrêt volontaire de la musique, si aucun appui n'est effectué dans les 5 secondes, le mode veille reprend et la Mood Box est désactivée.
Il est à noter que si l'on relance la lecture depuis le mode "veille", celle-ci va reprendre exactement là où on l'avait interrompue.
Les matériaux nécessaires ont été regroupés par catégorie.
Les outils utilisés sont répartis ci-dessous suivant leur nature.
Le but était d'avoir un nouvel étage différent faisant la part belle à la découpe laser mais aussi à la gravure.
Un motif de gravure a donc été choisi sous forme d'image.
Il a ensuite été reproduit sous Inkscape au moyen de courbes de Béziers.
Pour finir, ce motif de gravure a été intégré au schéma de découpe du nouvel étage de la boîte.
Les éléments destinés à être imprimés en 3D sont les suivants :
Pour cette étape, le travail a été réalisé à l'aide des logiciels Inkscape, TinkerCAD et Blender.
La découpe laser (avec la gravure) a été faite au sein du EdFab à Saint-Denis sous la houlette bienveillante de Lola et Arthur : un grand merci à eux deux !
Toutes les impressions nécessaires au projet ont été réalisées sur une imprimante Prusa i3 MK3.
Ces éléments sont tous visibles sur les photos ci-contre :
Les différents capteurs et éléments sont branchés sur le shield implanté sur la carte Arduino sur les ports comme décrit ci-dessous.
Il est à noter que l'ensemble des éléments sont assez gourmands en énergie, l'alimentation délivrée par un USB est ainsi trop faible (~5V), idem pour une pile 9V embarquée, elle se décharge relativement vite.
Nous avons donc opté pour une alimentation avec un transformateur réglable.
La programmation a posé quelques difficultés du fait du fonctionnement séquentiel natif de l'Arduino.
Des contournements ont dus être trouvés afin d'animer plusieurs des composants de façon simultanée et non plus seulement séquentielle.
Les 3 premières images ci-contre montrent les déclarations pour chacun des éléments constituant la boîte et son étage Mood Box.
Le programme principal consiste en une boucle exécutant la séquence demandée en fonction des interactions avec l'utilisateur. Chaque séquence est identifiée par un chiffre :
La gestion des temps d'attente, notamment pour la surveillance du nombre d'appuis sur la barre, a été faite en utilisant la fonction millis() afin d'éviter la fonction delay() qui met en pause tout le programme.
Pour contourner le fonctionnement séquentiel, l'utilisation de la bibliothèque AccelStepper.h et l'implantation des commandes, associées au cœur même des routines appelées séquentiellement par la boucle principale, permet d'avoir la simultanéité des actions principales, à savoir : les animations de l'anneau de LEDs et la rotation du moteur pas-à-pas.
Le programme s'articule autour de bibliothèques spécifiques aux composants utilisés, en voici la liste :
La carte Arduino, le potentiomètre ainsi que l'interrupteur relié au bloc d'alimentation sont installés dans et sur l'étage de base de la boîte (étage inférieur).
L'écran LCD est installé dans l'étage éponyme (étage intermédiaire).
L'étage Mood Box, quant à lui, comprend les composants et éléments suivants.
Sur les parois de la boîte sont fixés :
Dans le couvercle de cet étage sont fixés :
Sur le couvercle de l'étage sont fixés :
L'étage Mood Box est désormais terminé et fonctionnel.
Se référer aux spécifications générales explicitées en introduction pour son bon usage !
Merci pour votre intérêt :)
La figurine utilisée pour la présentation finale est issue de Thingiverse (https://www.thingiverse.com/thing:570654).
Elle a été utilisée faute d'avoir eu le temps suffisant pour recréer en 3D le couple formé par l'hippopotame Hyacinth et son cavalier Ben Ali Gator dans Fantasia.
Projet "bentolux" accessible sur le site (à partir de juillet 2018).
Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #