Salut tout le monde, je me présente je m'appelle samuel j'ai 16 ans et je suis en première S SI. Je suis passionné de modélisme et encore plus quand il est fonctionnel. C'est pour ça que j'ai commencé l'arduino à Noël et pour l'instant c'est un peu la galère niveau code.
A ce sujet, j'ai créé avec mon kit arduino de base un montage qui permet de déclencher un cycle de 4 tours d'un moteur pas a pas en appuyant sur un bouton.
Mais, comme c'est étrange, quand je branche l'arduino le moteur se met à tourner sans s'arrêter. J'ai utilisé un moteur ref STEP MOTOR 28BYJ-48 avec 5 fils de sortie et un contrôleur associé où l'on branche le plug du moteur et après on branche les 4 int du contôleur à l'arduino.Le moteur fonctionne donc il est correctement câblé mais le bouton est inactif. Je l'ai pourtant bien relié du 5V au pin 2 mais ça change en rien les mouvements du moteur.
J'ai réussi a rassembler de quoi faire un code et c'est celui-ci qui fait tourner mon moteur mais qui se contrefiche du bouton:

Code c++ : 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
 #include <Stepper.h>
     #define STEPS 100
     const int boutonp = 2;
 
      //Le moteur (fils 1 2 3 4) est branché sur les sorties 8 9 10 11 de l'Arduino (et sur GND, +V)
      Stepper small_stepper(STEPS, 8, 10, 9, 11);     // Sens horaire
 
 
      int  Steps2Take = 0;  //Nombre de pas de rotation demandé au moteur
      long temps =4;          //Durée de rotation pour un tour
 
int buttonState = 0;
    void setup()
     {               
      Serial.begin(9600);     // 9600 bps
      Serial.println("Test de moteur pas a pas"); 
      pinMode(boutonp, INPUT);
 
      }
 
    void loop()
      {
 
     if (buttonState == HIGH)
     {
       small_stepper.setSpeed(350);
         buttonState = digitalRead(boutonp);
 
      Steps2Take  = 2048;  // Une rotation complète avec 2048 pas (1 tour environ 4.5sec)
      temps = millis();
      small_stepper.step(Steps2Take);  //Ca tourne
      delay (1);
        }                                                                                                                                                                                                                             
      else (buttonState == LOW);{
         small_stepper.setSpeed(350); 
         buttonState = digitalRead(boutonp);
 
      Steps2Take  = 0;  
 
      temps = millis();
      small_stepper.step(Steps2Take);  //Ca tourne pas
      }
 
     }
Voilà j'espère que vous pourrez aider un bidouilleur en détresse!! Merci!