#include <IRremote.h>
#include <Stepper.h>

const int stepsPerRevolution = 200;
int Receiver = 2;

IRrecv irrecv(Receiver);
decode_results results;

Stepper stepper(stepsPerRevolution, 8, 9, 10, 11);
int previous = 0;
int stepperSteps =0;


void setup() {
  stepper.setSpeed(200);
  irrecv.enableIRIn();
}

void loop(){
  if (irrecv.decode()) {
    switch (irrecv.decodedIRData.command) {
      case 2:
        stepperSteps += 1;
        if (stepperSteps > stepsPerRevolution) {
          stepperSteps = stepsPerRevolution;
        }
        break;
      case 152:
        stepperSteps -= 1;
        if (stepperSteps < 0) {
          stepperSteps = 0;
        }
        break;
    }
    irrecv.resume();
    stepper.step(stepperSteps - previous);
    previous = stepperSteps;
  }
}