Contrôler 2 moteurs pas-à-pas avec Arduino Nano et joystick – Tutoriel Visuino
Composants et fournitures
| Arduino Nano (ou compatible) | ×1 |
| Joystick analogique (module 2 axes + bouton) | ×1 |
| Moteurs pas-à-pas 28BYJ-48 5V + drivers ULN2003 | ×2 |
| Alimentation 5V externe (ex: module K2 breadboard) | ×1 |
| Fils femelle-femelle (17 minimum) | ×1 lot |
Applications et services en ligne
- Arduino IDE (≥ 1.6.7)
- Visuino (environnement graphique) – visuino.com
À propos du projet
Dans les projets CNC, traceurs, ou art animé, il est souvent nécessaire de contrôler manuellement les moteurs pas-à-pas. Un joystick analogique offre un contrôle intuitif à vitesse variable. Ce tutoriel montre comment programmer cet ensemble sans écrire de code, en utilisant Visuino (programmation par blocs/flux de données).
Étape 1 : Composants
Voir tableau ci-dessus. Le joystick provient d'un kit « 37 capteurs » bon marché. L'alimentation 5V externe est indispensable : l'Arduino ne peut pas alimenter deux moteurs 28BYJ-48.
Étape 2 : Alimentation des drivers moteurs
- Reliez GND (noir) et 5V (rouge) sur chaque driver ULN2003.
- Reliez les GND des drivers au GND de l'Arduino (masse commune).
- Reliez les 5V des drivers aux bornes +5V de l'alimentation externe (K2).
- Reliez les GND des drivers à la borne GND de l'alimentation.
- Réglez le sélecteur K2 sur 5V.
Étape 3 : Connexion moteurs → Arduino
Moteur 1 (driver 1) : IN1→D2, IN2→D3, IN3→D4, IN4→D5 (fils bleu/vert/jaune/orange).
Moteur 2 (driver 2) : IN1→D6, IN2→D7, IN3→D8, IN4→D9.
Étape 4 : Connexion joystick → Arduino
- GND (noir) → GND Arduino
- VCC (rouge) → 5V Arduino
- VRx (violet/brun) → A1 (axe X)
- VRy (gris) → A0 (axe Y)
Étape 5 : Démarrer Visuino et sélectionner la carte
- Installer Arduino IDE 1.6.7+ et Visuino.
- Lancer Visuino, cliquer « Tools » sur le composant Arduino, sélectionner « Arduino Nano ».
Étape 6 : Ajouter 2 composants « 4 Wire Stepper Motor »
- Filtre « step » → glisser 2× « 4 Wire Stepper Motor ».
- Connecter sorties Stepper1 → pins Digital[2] à Digital[5] (glisser boîte « Out » sur Digital[2]).
- Connecter sorties Stepper2 → pins Digital[6] à Digital[9] (idem sur Digital[6]).
Étape 7 : Activer le contrôle de vitesse (broche « Steps Per Second »)
- Sur chaque Stepper : propriété « Steps Per Second » = 0, puis bouton Pin → « Float SinkPin » (crée une entrée de contrôle).
Étape 8 : Ajouter 2 composants « Dead Zone Scaled Analog »
Le joystick donne 0.0–1.0 (centre ≈0.5). Il faut : convertir en ±300 pas/s, et ignorer une zone morte au centre (joystick imprécis).
- Filtre « zone » → 2× « Dead Zone Scaled Analog ».
- DeadZoneScaled1.Out → Stepper1.StepsPerSecond
- Arduino.Analog[0] (A0) → DeadZoneScaled1.In
- DeadZoneScaled2.Out → Stepper2.StepsPerSecond
- Arduino.Analog[1] (A1) → DeadZoneScaled2.In
Étape 9 : Configurer les « Dead Zone Scaled Analog »
Pour les deux composants :
- Output Range → Min = -300, Max = 300 (vitesse max ±300 pas/s).
- La zone morte centrale (par défaut ~0.45–0.55) donne sortie 0.
Étape 10 : Générer, compiler, téléverser
- Visuino : touche F9 ou bouton « Generate Code » → ouvre Arduino IDE.
- Arduino IDE : bouton « Téléverser ».
Étape 11 : Test et utilisation
- Joystick Haut/Bas → Moteur 1 avant/arrière (vitesse proportionnelle).
- Joystick Gauche/Droite → Moteur 2 avant/arrière.
- Centre → arrêt (zone morte).
Projet Visuino complet (.zip) téléchargeable pour modification directe.
Avantages de l'approche Visuino
- Pas de code C++ à écrire – logique visuelle.
- Gestion native du multiplexage, zone morte, mise à l'échelle.
- Modification rapide des paramètres (vitesse, seuils, pins).
- Idéal pour débutants et prototypage rapide.
Processus de fabrication
- Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano
- Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
- Évaluer la santé des plantes avec TinyML : guide pratique
- Compteur Geiger Portable avec Arduino Nano : Construction Pas à Pas
- ThimbleKrox : Contrôle Souris au Doigt avec Arduino Micro et MPU-6050
- Volant Joystick Arduino Personnalisé pour Jeux Vidéo
- Système de contrôle de cafard DIY avec Arduino – Construisez-le pour moins de 30 €
- Contrôle à distance d'une voiture avec Arduino Uno et Bluetooth : Guide pas à pas
- Contrôle de ventilateur PWM 4 broches 25 kHz avec Arduino Uno – Construction, code et test