Maintien d'une variable bouton poussoir

bonjour , j'ai un petit projet pour mon école mais je n'arrive pas à le finaliser,

je dois mettre un maintien sur mes bouton poussoir pour que le moteur tourne en auto maintien quand j'appuis une fois sur le bouton mais je n'arrive pas à le faire

voici mon code :

#define LED_ROUGE_STOP   13 //indique que le moteur et a l'arret 
 #define LED_VERTE_SENS_1 12 //indique que le le moteur tourne dans le sens horlogique 
 #define LED_BLEU_SENS_2  11 //indique que le le moteur tourne dans le sens anti horlogique 
 
 #include <AccelStepper.h>
 AccelStepper Mon_moteur(9, 8, 7, 6);     
                                               
 int monMotVitesse = 0;
 
 const int BP1=4; // bouton qui vas faire tourner mon moteur dans sens horlogique
 const int BP2=3;// bouton qui vas faire tourner mon moteur dans sens anti horlogique
 const int BP3=2;// bouton qui vas stoper mon moteur 

 const int POUSSOIR = 2; 
int out = 0;
boolean verrouillage = 0;
unsigned long int t1;


 void setup() 
 {
  pinMode(LED_ROUGE_STOP,OUTPUT);
  pinMode(LED_VERTE_SENS_1,OUTPUT);
  pinMode(LED_BLEU_SENS_2,OUTPUT);
  pinMode(BP1,INPUT_PULLUP);
  pinMode(BP2,INPUT_PULLUP);
  pinMode(BP3,INPUT_PULLUP);
  etatLed = false;
  Mon_moteur.setMaxSpeed(600);
 }
 
 void loop() 
 {
   if (digitalRead(BP3) == HIGH)
   {
    monMotVitesse = 0;
   digitalWrite(LED_ROUGE_STOP,HIGH);
   digitalWrite(LED_VERTE_SENS_1,LOW);
   digitalWrite(LED_BLEU_SENS_2,LOW);
   }
   
   else if (digitalRead(BP1) == HIGH)
   {
     monMotVitesse = 600;          // Marche CW (sens des aiguilles d'une montre)
   digitalWrite(LED_VERTE_SENS_1,HIGH);
   digitalWrite(LED_ROUGE_STOP,LOW);
   digitalWrite(LED_BLEU_SENS_2,LOW);
   } 
   else if (digitalRead(BP2) == HIGH)
   {
     monMotVitesse = -600;          // Marche CCW (sens contraire des aiguilles d'une montre)
   digitalWrite(LED_BLEU_SENS_2,HIGH);
   digitalWrite(LED_VERTE_SENS_1,LOW);
   digitalWrite(LED_ROUGE_STOP,LOW);
   }

   
   else
   {
     monMotVitesse = 0;             // Arrêt
   }
 
  if (monMotVitesse != 0)             // Si un bouton est pressé
  {
    
    Mon_moteur.setSpeed(monMotVitesse);
    Mon_moteur.runSpeed();    
  }
  
  
 }

si quelqun peut m'aider sa serai super

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

post clos - car dupliqué