Varier la vitesse d’un Moteur pas à pas (28BYJ-48 + ULN2003) avec un potentiomètre sur un Arduino
Description :
L’objectif de ce projet est de contrôler la vitesse de rotation d’un moteur pas à pas 28BYJ-48 à l’aide d’un potentiomètre, en utilisant une carte Arduino et un driver ULN2003.
Le potentiomètre permet de modifier la vitesse en temps réel : plus on tourne le potentiomètre, plus le moteur accélère ou ralentit.
Prérequis :
- 1 x Carte Arduino Uno
- 1 x 28BYJ-48
- 1 x ULN2003
- 1 x Potentiomètre 10KΩ
- 1 x Breadboard
- Fils de connexion
Version IDE :
- Arduino IDE 2.3.5
Bibliothèque :
- Stepper.h
Vidéo de démonstration :
Schéma de câblage :


Code :
#include <Stepper.h>
// modifiez ceci pour qu'il corresponde au nombre de pas par tour
// pour votre moteur
const int stepsPerRevolution = 200;
// initialiser la bibliothèque stepper sur les broches 4 à 7
Stepper myStepper(stepsPerRevolution, 4, 5, 6, 7);
void setup() {
}
void loop() {
// lire la valeur du potentiomètre
int sensorReading = analogRead(A0);
// mappez la valeur lue sur une plage de 0 à 100
int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
// régler la vitesse du moteur
// si la vitesse est supérieure à 0
if (motorSpeed > 0) {
myStepper.setSpeed(motorSpeed);
// pas 1/100 de tour :
myStepper.step(stepsPerRevolution/100);
}
}
