realizzazione di un ascensore a 3 piani

Patrick_M:
non voglio il video, ti giuro che ci credo che non ti funzionava!!!

il problema è dello sketch che hai scritto e non del muovere ad un passo alla volta il motore

CHE E' LA STESSA COSA CHE FA LA LIBRERIA QUANDO LO FAI MUOVERE PER 68*68 PASSI

il motore si muove SEMPRE ad un passo per volta

te lo ripeto, probabilmente il delay(2) che ti avevo messo è esagerato oppure hai fatto qualche altro errore

#include <Stepper.h>
int pulsante0pin=2;
int pulsante1pin=3;
int pulsante2pin=4;
int microswitch0=5;
int microswitch1=6;
int microswitch2=7;

const int stepsPerRevolution = 32;
Stepper myStepper(stepsPerRevolution, 9, 11, 10, 12);





void setup() {
pinMode(pulsante0pin,INPUT);
pinMode(pulsante1pin,INPUT);
pinMode(pulsante2pin,INPUT);
pinMode(microswitch0,INPUT);
pinMode(microswitch1,INPUT);
pinMode(microswitch2,INPUT);



}

void loop() {

  if (digitalRead(microswitch0) == HIGH ) { //STATO SWITCH PIANO 0
      
      if (digitalRead(pulsante1pin) == LOW ) { //CHIAMATA P1
         
         while (!digitalRead(microswitch1)) {
            myStepper.step(1);
            delay(2);
         }
         
     } else if (digitalRead(pulsante2pin) == LOW) { //CHIAMATA P2
         
         while (!digitalRead(microswitch2)) {
            myStepper.step(1);
            delay(2);
         }
         
      }
  }
  
  else if (digitalRead(microswitch1) == HIGH) {

  
    if(digitalRead(pulsante0pin) == LOW )
         { //chiamata PT
         while(!digitalRead(microswitch0))  {
          myStepper.step(-1);
          delay(2);
           }
   }
    else if(digitalRead(pulsante2pin) == LOW)
    {
      while(!digitalRead(microswitch2)) 
      {
        myStepper.step(1);
        delay(2);
      }
    }
  }
  else if(digitalRead(microswitch2) == HIGH)
  {

    if(digitalRead(pulsante0pin) == LOW)
    {
      while(!digitalRead(microswitch0)) {
        myStepper.step(-1);
        delay(2);
      }
    }
    else if (digitalRead(pulsante1pin) == LOW)
    {
      while(digitalRead(microswitch1))
      {
        myStepper.step(-1);
        delay(2);
      }
    }
  }
}

tralasciando il delay(2)