#include <IRremote.h>
#include <AccelStepper.h>
#define PIN_RECEIVER 25
IRrecv receiver(PIN_RECEIVER);
AccelStepper stepper(AccelStepper::FULL4WIRE, 17, 5, 18, 19);
int pos = 0;
void setup() {
// put your setup code here, to run once:
receiver.enableIRIn();
stepper.setMaxSpeed(1000);
stepper.setAcceleration(1000);
Serial.begin(115200);
Serial.println("Tekan tombol + atau -");
}
void loop() {
// put your main code here, to run repeatedly:
if (receiver.decode()) {
translateIR();
Serial.println("Posisi " + String(pos) + " steps");
stepper.moveTo(pos);
stepper.run();
receiver.resume(); // Receive the next value
}
}
void translateIR()
{
// Takes command based on IR code received
switch (receiver.decodedIRData.command) {
case 2:
pos += 1;
break;
case 152:
pos -= 1;
break;
default:
Serial.println("Invalid!! Tekan + atau -");
}
}