Arduino Step Motor Driver Library. For more information about that library usage, go to my blog page mertwhocodes-step-driver
This is the library for drive step motor for Arduino. It supports DC motors & Stepper motors with microstepping. A4988, DRV8825, DRV8834, DRV8880,TB6600... and generic two-pin stepper motor driver library. Features:
- Constant speed mode(RPM)
 - Microstepping
 
- VCC 9-42 – VDC
 - GND - Power supply ground
 - ENA- - Arduino GND
 - ENA+ - Arduino Pin 5
 - DIR- - Arduino GND
 - DIR+ - Arduino Pin 4
 - PUL- - Arduino GND
 - PUL+ - Arduino Pin 3
 - A-, A+ - Coil 1 stepper motor
 - B-, B+ - Coil 2 stepper motor
 
void init(); //makes pin configuration 
void active(bool _active); //makes enable pin LOW(active)or HIGH(deactive)
void run(uint64_t _rpmt);//motor rotation start with RPM value 
void set(bool _dir, uint8_t _rpm, uint16_t _pulse);//sets direction ,RPM value and steppping value
void run();//motor rotation start with last setted RPM valueBefore use run(); function set(); function have to configure.
See basic two direction stepping 1:8 1 tour for each direction example.
/*
 Name:		step_drive.ino
 
 Author:	mertwhocodes
*/
#include<mwc_stepper.h>
#define EN_PIN 3
#define DIR_PIN 2
#define STEP_PIN 5
#define RPM 50
#define RPM1 50
#define PULSE 1600
#define ClOCKWISE 1
#define OTHERWISE 0
MWCSTEPPER nema23(EN_PIN, DIR_PIN, STEP_PIN);
void setup() {
	nema23.init();
	
}
void loop() {
	nema23.set(ClOCKWISE, RPM, PULSE);
	for (size_t i = 0; i < 1600; i++)
	{
		nema23.run();
	}
	delay(1000);
	nema23.set(OTHERWISE, RPM1, PULSE);
	for (size_t i = 0; i < 1600; i++)
	{
		nema23.run();
	}
}