Шаговы двигатель

столкнулса с проблемои при написаний кода.по отдельности коды длэ кручения в одну и другую стороны работает.а вот колда попыталса крутить 10 раз в одну а потом в другую сторону очериодность высоких и низких сигналов рушитса.

int k1=8;
int k2=9;
int k3=10;
int k4=11;
int a=0;
const int W=1;
void setup()
{
pinMode(k1,OUTPUT);  //  assignment of connections
pinMode(k2,OUTPUT);
pinMode(k3,OUTPUT);
pinMode(k4,OUTPUT);
}
void loop()

                  

{
if (a<10)   //Rotate forward 10 times
           

{ 
  
            
  a=a++;     //variable increment
  
  // 1 zingsnis
  
  
  digitalWrite(k1,HIGH); //contact level and queue
  digitalWrite(k2,LOW);
  digitalWrite(k3,LOW);
  digitalWrite(k4,LOW);
  delay(W);
  // 2 zingsnis
  digitalWrite(k1,HIGH);
  digitalWrite(k2,HIGH);
  digitalWrite(k3,LOW);
  digitalWrite(k4,LOW);
  delay(W);
  // 3 zingsnis
  digitalWrite(k1,LOW);
  digitalWrite(k2,HIGH);
  digitalWrite(k3,LOW);
  digitalWrite(k4,LOW);
  delay(W);
  // 4 zingsnis
  digitalWrite(k1,LOW);
  digitalWrite(k2,HIGH);
  digitalWrite(k3,HIGH);
  digitalWrite(k4,LOW);
  delay(W);
  // 5 zingsnis
  digitalWrite(k1,LOW);
  digitalWrite(k2,LOW);
  digitalWrite(k3,HIGH);
  digitalWrite(k4,LOW);
  delay(W);
  // 6 zingsnis
  digitalWrite(k1,LOW);
  digitalWrite(k2,LOW);
  digitalWrite(k3,HIGH);
  digitalWrite(k4,HIGH);
  delay(W);
  // 7 zingsnis
  digitalWrite(k1,LOW);
  digitalWrite(k2,LOW);
  digitalWrite(k3,LOW);
  digitalWrite(k4,HIGH);
  delay(W);
  // 8 zingsnis
  digitalWrite(k1,HIGH);
  digitalWrite(k2,LOW);
  digitalWrite(k3,LOW);
  digitalWrite(k4,HIGH);
  delay(W);

  
}


  

else ;


a=a++;   //variable increment





     {
      if(a==20)
         {
             a=0;
         }  
     }        

{
  
 // 8 zingsnis
 
 digitalWrite(k1,HIGH);    //contact level and queue
  digitalWrite(k2,LOW);
  digitalWrite(k3,LOW);
  digitalWrite(k4,HIGH);
  delay(W);
  
  // 7 zingsnis
  
  digitalWrite(k1,LOW);
  digitalWrite(k2,LOW);
  digitalWrite(k3,LOW);
  digitalWrite(k4,HIGH);
  delay(W);
  
  // 6 zingsnis
  
  digitalWrite(k1,LOW);
  digitalWrite(k2,LOW);
  digitalWrite(k3,HIGH);
  digitalWrite(k4,HIGH);
  delay(W);
 
  // 5 zingsnis
  
  digitalWrite(k1,LOW);
  digitalWrite(k2,LOW);
  digitalWrite(k3,HIGH);
  digitalWrite(k4,LOW);
  delay(W);
  
  // 4 zingsnis
  
  digitalWrite(k1,LOW);
  digitalWrite(k2,HIGH);
  digitalWrite(k3,HIGH);
  digitalWrite(k4,LOW);
  delay(W);
 
  // 3 zingsnis
  
  digitalWrite(k1,LOW);
  digitalWrite(k2,HIGH);
  digitalWrite(k3,LOW);
  digitalWrite(k4,LOW);
  delay(W);
  
  // 2 zingsnis
  
  digitalWrite(k1,HIGH);
  digitalWrite(k2,HIGH);
  digitalWrite(k3,LOW);
  digitalWrite(k4,LOW);
  delay(W);
  
  // 1 zingsnis
  
  digitalWrite(k1,HIGH);
  digitalWrite(k2,LOW);
  digitalWrite(k3,LOW);
  digitalWrite(k4,LOW);
  delay(W);
  
}
}