Boule magique avec Arduino (Open Fabriques 2023/2024) : Différence entre versions
(→Programme Arduino) |
(→Matériel nécessaire) |
||
(21 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
Tuto de préparation et de suite à l'Open Fabriques du 16 mai : crée ta boule magique avec Arduino ! | Tuto de préparation et de suite à l'Open Fabriques du 16 mai : crée ta boule magique avec Arduino ! | ||
+ | |||
+ | Note : projet un peu trop ambitieux, pourrait faire l'objet d'une journée complète d'animation, voire d'un mini stage pour en saisir tout les détails ! | ||
+ | Pour l'Open Fabriques l'enjeux est de découvrir la programmation, donc Arduino et faire quelques branchements dans le but de réussir à faire fonctionner le bouton et le servo moteur. En fonction des personnes présentes et motivées, conduire la poursuite de la conception de cette boule magique au dernier Open Fabriques qui a lieu le jeudi 6 juin de 18h à 20h. | ||
+ | Sachant que ce projet de boule magique réunit différentes machines et usages du fablab (laser, programmation, on peut ajouter à cela de la vinyle pour de la custom!) donc c'est sympa pour conclure l'année ! | ||
=Introduction= | =Introduction= | ||
Ligne 6 : | Ligne 10 : | ||
=Matériel nécessaire= | =Matériel nécessaire= | ||
Par participant·e : | Par participant·e : | ||
− | * une carte de programmation | + | * une carte de programmation D1 mini et son câble d'alimentation |
* une breadboard | * une breadboard | ||
− | * un servo moteur | + | * un servo moteur 360 / à rotation continue |
* un bouton poussoir | * un bouton poussoir | ||
* une batterie externe | * une batterie externe | ||
− | * des câbles dupont | + | * des câbles dupont (MM, MF, FF) |
− | * médium ou carton de | + | * médium ou carton de 35 x 25 cm |
− | * fichier .svg pour découpeuse laser | + | * [[Media:FINALE-roue-magique.svg|fichier .svg pour découpeuse laser]] prévu pour un matériau de 3mm d'épaisseur |
+ | * impression de la roue sur papier, [[Media:Roue à imprimer.pdf|fichier ici]] | ||
=Ce qui est préparé en amont= | =Ce qui est préparé en amont= | ||
− | + | * ordinateurs du fablab avec Arduino IDE | |
+ | * clé USB avec les fichiers .ino et .svg | ||
+ | * récupérer du carton | ||
=Montage électronique= | =Montage électronique= | ||
Ligne 25 : | Ligne 32 : | ||
[[Fichier:Fritzing-boule-magique.png|600px]] | [[Fichier:Fritzing-boule-magique.png|600px]] | ||
− | Le test est réalisé avec une carte Arduino UNO mais on | + | Le test est réalisé avec une carte Arduino UNO mais on utilisera une carte D1 mini pour la réalisation finale (carte moins coûteuse et plus discrète). |
=Programme Arduino= | =Programme Arduino= | ||
+ | ==Test n°2== | ||
+ | |||
+ | Avec la contrainte de servos à rotation CONTINUE, j'adapte mon programme en demandant d'appuyer sur le bouton pour "lancer la roue", puis : attendre x temps (au hasard) pour s'arrêter. | ||
+ | |||
+ | * [[Media:Code-boule-2.ino|Code Arduino boule magique V2]] | ||
− | * [[Media:Code-boule-magique.ino|Code Arduino boule magique]] | + | J'ai choisi de faire appuyer deux fois sur l'interrupteur : une première fois pour lancer la roue, et une seconde pour l'arrêter. |
+ | Lorsqu'on appuie la seconde fois, j'ai demandé dans le code d'ajouter un délai d'attente aléatoire pour faire arrêter le servo (lignes 28 à 30 du code). Ainsi, le servomoteur s'arrêter quelques secondes après avoir appuyé sur l'interrupteur. | ||
+ | |||
+ | [[Image:Capture-code-boule-magique-v2.png|600px]] | ||
+ | |||
+ | ==Test n°1== | ||
+ | |||
+ | Après test EN RÉEL du montage, je me rends compte que les 2 types de servomoteurs qui existent ne permettent pas d'aller aux angles voulus : | ||
+ | |||
+ | * MICRO SERVO SG90 9G : vont à des angles souhaités UNIQUEMENT entre 0 et 180° | ||
+ | * MICRO SERVO DM-S0090D : sont à rotation CONTINUE | ||
+ | |||
+ | Je dois revoir mon programme pour prendre en compte ces contraintes. | ||
+ | |||
+ | * [[Media:Code-boule-magique.ino|Code Arduino boule magique V1]] | ||
+ | |||
+ | [[Image:Capture-code-boule-magique.png]] | ||
En principe, la bibliothèque permettant de contrôler un servo moteur est déjà comprise dans Arduino. | En principe, la bibliothèque permettant de contrôler un servo moteur est déjà comprise dans Arduino. | ||
Ligne 39 : | Ligne 67 : | ||
Les lignes du code sont commentées afin d'être plus compréhensible. | Les lignes du code sont commentées afin d'être plus compréhensible. | ||
+ | |||
+ | =Fabrication de la "boule magique"= | ||
+ | |||
+ | La boule magique originale ressemble à cela : | ||
+ | |||
+ | [[Fichier:Mystic-8-ball.jpeg|400px]] | ||
+ | |||
+ | Ce qu'on va créer aura plutôt l'air d'une "roue magique". | ||
+ | ==Circuit électronique== | ||
+ | |||
+ | On réalise le circuit simulé plus haut grâce à Tinkercad. On remplace la carte électronique par une carte D1 mini. | ||
+ | |||
+ | [[Fichier:Photos-montage-boule-magique.png|800px]] | ||
+ | |||
+ | ==Boîte et roue== | ||
+ | On a besoin de créer un boîtier où cacher notre circuit électronique, et une roue avec une flèche qui pointera la réponse donnée ! | ||
+ | |||
+ | Voici une modélisation faite sur Tinkercad de la roue que l'on va fabriquer : | ||
+ | |||
+ | [[Fichier:Capture-tinkercad.png|800px]] | ||
+ | |||
+ | On réalise le boîtier grâce au site festi.info, et on le retravaille pour adapter à nos besoins. | ||
+ | |||
+ | [[Media:Roue-magique-v2.svg|Ici, le fichier .svg]] pour découper à la laser le boîtier, ainsi que la roue et la flèche. | ||
+ | |||
+ | Pour une roue à moindre coûts, on la réalisera en carton, et on imprimera sur papier les réponses, qu'on collera proprement sur la roue. | ||
+ | |||
+ | Il est aussi possible, si on a davantage de temps, de la réaliser "en dur" (médium ou contreplaqué), et de graver à la laser les réponses, voire même de les réaliser à la découpeuse vinyle ! | ||
+ | |||
+ | =Déroulé de l'animation du 6 juin= | ||
+ | |||
+ | * ce qu'on a vu la fois dernière (décryptage d'un fichier .ino) | ||
+ | * réaliser le '''montage électronique''' | ||
+ | * aller découper le boîtier '''à la laser''' | ||
+ | * (en fonction du temps) couper à la vinyle les "réponses" (sinon roues faites à l'avance à l'imprimante classique) ou faire un petit truc rapide à la '''vinyle''' juste pour personnaliser sa roue ! | ||
+ | * assemblage final |
Version actuelle datée du 6 juin 2024 à 17:53
Tuto de préparation et de suite à l'Open Fabriques du 16 mai : crée ta boule magique avec Arduino !
Note : projet un peu trop ambitieux, pourrait faire l'objet d'une journée complète d'animation, voire d'un mini stage pour en saisir tout les détails ! Pour l'Open Fabriques l'enjeux est de découvrir la programmation, donc Arduino et faire quelques branchements dans le but de réussir à faire fonctionner le bouton et le servo moteur. En fonction des personnes présentes et motivées, conduire la poursuite de la conception de cette boule magique au dernier Open Fabriques qui a lieu le jeudi 6 juin de 18h à 20h. Sachant que ce projet de boule magique réunit différentes machines et usages du fablab (laser, programmation, on peut ajouter à cela de la vinyle pour de la custom!) donc c'est sympa pour conclure l'année !
Sommaire
Introduction
Cette séance permet de découvrir la programmation et la réalisation d'un montage électronique. L'objet final s'inspire des "boules magiques", qui lorsqu'on pose une question, nous propose une réponse aléatoire.
Matériel nécessaire
Par participant·e :
- une carte de programmation D1 mini et son câble d'alimentation
- une breadboard
- un servo moteur 360 / à rotation continue
- un bouton poussoir
- une batterie externe
- des câbles dupont (MM, MF, FF)
- médium ou carton de 35 x 25 cm
- fichier .svg pour découpeuse laser prévu pour un matériau de 3mm d'épaisseur
- impression de la roue sur papier, fichier ici
Ce qui est préparé en amont
- ordinateurs du fablab avec Arduino IDE
- clé USB avec les fichiers .ino et .svg
- récupérer du carton
Montage électronique
Simulation en ligne du montage électronique à réaliser :
Le test est réalisé avec une carte Arduino UNO mais on utilisera une carte D1 mini pour la réalisation finale (carte moins coûteuse et plus discrète).
Programme Arduino
Test n°2
Avec la contrainte de servos à rotation CONTINUE, j'adapte mon programme en demandant d'appuyer sur le bouton pour "lancer la roue", puis : attendre x temps (au hasard) pour s'arrêter.
J'ai choisi de faire appuyer deux fois sur l'interrupteur : une première fois pour lancer la roue, et une seconde pour l'arrêter. Lorsqu'on appuie la seconde fois, j'ai demandé dans le code d'ajouter un délai d'attente aléatoire pour faire arrêter le servo (lignes 28 à 30 du code). Ainsi, le servomoteur s'arrêter quelques secondes après avoir appuyé sur l'interrupteur.
Test n°1
Après test EN RÉEL du montage, je me rends compte que les 2 types de servomoteurs qui existent ne permettent pas d'aller aux angles voulus :
- MICRO SERVO SG90 9G : vont à des angles souhaités UNIQUEMENT entre 0 et 180°
- MICRO SERVO DM-S0090D : sont à rotation CONTINUE
Je dois revoir mon programme pour prendre en compte ces contraintes.
En principe, la bibliothèque permettant de contrôler un servo moteur est déjà comprise dans Arduino. Si elle n'y est pas, voilà un tutoriel pour installer une bibliothèque sur Arduino.
Ce programme permet de modifier l'angle du servomoteur de façon "aléatoire" lorsqu'on appuie sur le bouton. "Aléatoire", entre guillemets, car on a déterminé 6 positions dans le code, et qu'on lui demande de choisir parmi ces 6 options à chaque fois. Un léger délai est donné au cycle du code afin d'éviter les tressautements du servo.
Les lignes du code sont commentées afin d'être plus compréhensible.
Fabrication de la "boule magique"
La boule magique originale ressemble à cela :
Ce qu'on va créer aura plutôt l'air d'une "roue magique".
Circuit électronique
On réalise le circuit simulé plus haut grâce à Tinkercad. On remplace la carte électronique par une carte D1 mini.
Boîte et roue
On a besoin de créer un boîtier où cacher notre circuit électronique, et une roue avec une flèche qui pointera la réponse donnée !
Voici une modélisation faite sur Tinkercad de la roue que l'on va fabriquer :
On réalise le boîtier grâce au site festi.info, et on le retravaille pour adapter à nos besoins.
Ici, le fichier .svg pour découper à la laser le boîtier, ainsi que la roue et la flèche.
Pour une roue à moindre coûts, on la réalisera en carton, et on imprimera sur papier les réponses, qu'on collera proprement sur la roue.
Il est aussi possible, si on a davantage de temps, de la réaliser "en dur" (médium ou contreplaqué), et de graver à la laser les réponses, voire même de les réaliser à la découpeuse vinyle !
Déroulé de l'animation du 6 juin
- ce qu'on a vu la fois dernière (décryptage d'un fichier .ino)
- réaliser le montage électronique
- aller découper le boîtier à la laser
- (en fonction du temps) couper à la vinyle les "réponses" (sinon roues faites à l'avance à l'imprimante classique) ou faire un petit truc rapide à la vinyle juste pour personnaliser sa roue !
- assemblage final