#include <Keypad.h>
#include <Stepper.h>
int stepsPerRevolution = 200;
// initialize the steper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 10, 11, 12, 13);
const uint8_t ROWS = 4;
const uint8_t COLS = 4;
char keys [ROWS] [COLS] = {
{'1', '2', '3', 'A' },
{'4', '5', '6', 'B' },
{'7', '8', '9', 'C' },
{'*', '0', '#', 'D' },
};
uint8_t colPins [COLS] = {5, 4, 3, 2 };
uint8_t rowPins [ROWS] = {9, 8, 7, 6 };
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup() {
// put your setup code here, to run once:
myStepper.setSpeed(10);
Serial.begin(9600);
}
String result = "";
int langkah_step;
int A=0;
void loop() {
char key = keypad.getKey();
if (key >= '0' && key <= '9') {
result += key;
Serial.println(key);
}
if (key == '#') {
langkah_step= result.toInt();
stepsPerRevolution=langkah_step;
result="";
A=1;
}
if (key == '*') {
langkah_step= result.toInt();
stepsPerRevolution=langkah_step;
result="";
A=2;
}
if (A==1){
Serial.print(langkah_step);
Serial.println(": clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
A=0;
langkah_step=0;
}
if (A==2){
Serial.print(langkah_step);
Serial.println(": counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
A=0;
langkah_step=0;
}
}