#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);
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode()) {
IRremote();
irrecv.resume();
stepper.step(stepperSteps - previous);
previous = stepperSteps;
}
}
void IRremote() {
int IRinput = irrecv.decodedIRData.command;
if (IRinput == 152) {
stepperSteps -= 1;
if (stepperSteps < 0) {
stepperSteps = 0;
}
}
if (IRinput == 2) {
stepperSteps += 1;
if (stepperSteps > 200) {
stepperSteps = 200;
}
}
}