Bonjour cher amis, je suis débutant en programmation et je travail sur une petite maquette qui m'impose a programmée un moteur pas a pas uni polaire (28BYJ-48).
J'aimerai commandé mon moteur pas a pas avec 2 boutons poussoir(BP1 & BP2).
Quand on appuis sur BP1 le moteur vas dans le sens horaire d'une montre et quand on relâche BP1 le moteur s'arrête.
Quand on appuis sur BP2 le moteur vas dans le sens antihoraire d'une montre et quand on relâche BP2 le moteur s'arrête.
J'ai appris à allumé une LED quant on appuis avec un bouton poussoir et l'éteindre quant on le relâche. Pour programmer mon moteur j'ai essayé de remplacer la LED par le moteur mais mon programme ne fonction pas.
Voilà pourquoi je viens vers vous à fin que résoudre se problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 #include <Stepper.h> // change this to the number of steps on your motor #define STEPS 100 Stepper Mon_moteur(STEPS, 8, 10, 9, 11); int nb_pas = 0; const int BP1=2; const int BP2=3; const int led=4; int buttonState1 = 0; int buttonState2 = 0; void setup() { pinMode(led,OUTPUT); pinMode(BP1,INPUT); pinMode(BP2,INPUT); } void loop() { buttonState1=digitalRead(BP1); buttonState2=digitalRead(BP2); Mon_moteur.setSpeed(300); nb_pas = 2048; if(buttonState1==HIGH){ digitalWrite(led,HIGH); Mon_moteur.step(nb_pas); }else { digitalWrite(led,LOW); } if(buttonState2==HIGH){ digitalWrite(led,HIGH); Mon_moteur.step(-nb_pas); }else { digitalWrite(led,LOW); } }
Partager