Progetto servo motore giro a 45° alla volta

ho installato la libreria di accelerstep ,ora sembra tutto ok
inoltre ho simulato tutto su proteus quel codice che mi hai postato
però non capisco come devo rispettare il 2 3 4 5 ,
cmq va in senso antiorario per alcuni giri e poi si ferma a 45 gradi antiorario
ho impostato rpm a 800

inoltre ho provato ad inserire un pulsante sul pin 7 e scrivere questo codice,che al premere del pulsante parte il motore ma non si ferma

#include <AccelStepper.h>
int bottone = 7;
int val = 0;
// Define a stepper and the pins it will use
AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5

unsigned long int previousMillis = 0;
void setup()
{  
  // Change these to suit your stepper if you want
  stepper.setMaxSpeed(100);
  stepper.setAcceleration(20);
 pinMode(bottone, INPUT);
}

void loop()
{
 val = digitalRead(bottone);  //Lettura del bottone
if (val == 1){  //Se il valore del bottone è 1  
    stepper.move(25);    
    
  }
   stepper.run();
}