Поворот шаговым двигателем

Добрый день, первый раз с ардуино работаю, помогите придумать поворот шаговым двигателем nemo 17 по нажатию на кнопку.
Устройство следующее: при нажатии на кнопку ротор поворачивается на 90 градусов вправо, после 4ого нажатия ротор должен поворачиваться на 90 градусов влево, еще 4 нажатия - опять вправо и так далее.

const int pinStep = 2;
const int pinDir = 3;
const int pinSens = 6;
const int move_delay = 3;
const int steps_rotate_360 = 50;

void setup()
{
  pinMode(pinSens, INPUT_PULLUP);
  pinMode(pinStep, OUTPUT);
  pinMode(pinDir, OUTPUT);
  digitalWrite(pinStep, HIGH);
  digitalWrite(pinDir, LOW);
}
void loop()
{
  if (!digitalRead(pinSens)) {
    delay(move_delay*1000);
      for (int i = 0; i < steps_rotate_360; i++)
      { 
        digitalWrite(pinStep, HIGH);
        delay(move_delay);
        digitalWrite(pinStep, LOW);
        delay(move_delay); 
      }
}
} 

попробуйте для начала сделать хотя бы это:

А то в представленном коде происходит совсем другое

Все работает в представленном коде, но суть не в этом, мне нужен алгоритм, который менял бы направленрие после каждого четвертого нажатия

Ещё один, у которого " всё работает".
Уважаемый, если вы не готовы слушать советы, нафик вы сюда пришли? Решайте проблемы сами

Какой такой алгоритм? Отсчитываешь 4 нажатия, меняешь направление, что не понятно?.