Kali ini kita akan membuat rangkaian arduino dengan menggunakan stepper motor dan drive ULN2003. Rangkaian yang kita buat adalah membuat pengaturan posisi putaran motor dengan menggunakan keypad.
Dengan mengatur posisi putaran sesuai dengan yang kita inginkan. Dalam hal ini kita menggunakan keypad sebagai tombol dan putaran yang sudah kita atur pada coding.
Misal: Tombol 1 kita atur menjadi 1 putaran, tombol 2 menjadi 2 putaran dan seterusnya. Untuk jumlah dan arah putaran dapat kita atur sesuai dengan yang kita inginkan. Untuk lebih lengkapnya rangkaian dan cara pembuatan dapat dilihat pada video berikut ini. Mudah-mudahan video ini bermanfaat dan dapat dikembangkan menjadi lebih baik lagi.Silahkan copy code dibawah ini:
#include <Keypad.h>
#include <AccelStepper.h>
#define motorPin1 10
#define motorPin2 11
#define motorPin3 12
#define motorPin4 13
#define MotorInterfaceType 8
AccelStepper stepper = AccelStepper(MotorInterfaceType,
motorPin1, motorPin3, motorPin2, motorPin4);
const byte ROWS = 4; //four rows
const byte COLS = 4; //three columns
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8,9}; //connect to the column pinouts of the keypad
Keypad customKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
String v_pass="";
void setup()
{
stepper.setMaxSpeed(1000);
stepper.setAcceleration(1000);
Serial.begin(9600);
}
void loop(){
char customKey = customKeypad.getKey();
// just print the pressed key
if (customKey != NO_KEY){
Serial.println(customKey);
v_pass = v_pass + customKey;
switch(customKey){
case '0':
stepper.runToNewPosition(0);
break;
case '1':
stepper.runToNewPosition(4000);
break;
case '2':
stepper.runToNewPosition(8000);
break;
case '3':
stepper.runToNewPosition(12000);
break;
case '4':
stepper.runToNewPosition(16000);
break;
}
}
}
Comments
Post a Comment