Boule magique avec Arduino (Open Fabriques 2023/2024) : Différence entre versions
(→Programme Arduino) |
(→Programme Arduino) |
||
Ligne 31 : | Ligne 31 : | ||
=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. | ||
+ | |||
+ | ==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]] | * [[Media:Code-boule-magique.ino|Code Arduino boule magique]] |
Version du 23 avril 2024 à 15:23
Tuto de préparation et de suite à l'Open Fabriques du 16 mai : crée ta boule magique avec Arduino !
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
- un bouton poussoir
- une batterie externe
- des câbles dupont
- médium ou carton de -- x -- cm
- fichier .svg pour découpeuse laser
Ce qui est préparé en amont
- ordinateurs du fablab avec Arduino IDE
- clé USB avec les fichiers ino et .svg
- ? prédécoupage de pièces ?
- de quoi customiser
Montage électronique
Simulation en ligne du montage électronique à réaliser :
Le test est réalisé avec une carte Arduino UNO mais on essaiera d'utiliser 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.
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.