Boule magique avec Arduino (Open Fabriques 2023/2024) : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Ce qui est préparé en amont)
(Programme Arduino)
 
(Une révision intermédiaire par le même utilisateur non affichée)
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]]
 +
 +
[[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.

Version actuelle datée du 23 avril 2024 à 16:23

Tuto de préparation et de suite à l'Open Fabriques du 16 mai : crée ta boule magique avec Arduino !

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 :

Fritzing-boule-magique.png

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.

Capture-code-boule-magique.png

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.