#define MAX_STEP 400
#define DEBUG 1
/*
Direction
*/
void dir(int k)
{
if(k == 0)
{
digitalWrite(2, LOW);
}
else if(k == 1)
{
digitalWrite(2, HIGH);
}
}
/*
Step
*/
void step(void)
{
digitalWrite(3, HIGH);
delay(1);
digitalWrite(3, LOW);
delay(1);
}
/*
Setup
*/
void setup(void)
{
if(DEBUG == 1)
{
Serial.begin(115200);
}
else
{
Serial.end();
}
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
dir(0);
}
/*
Nema-17 200step 360°
Half tour 60x1000mS
A4988 setup 1/4 => EN = 0, MS1 = 0, MS2 = 1, MS3 = 0, VMOT = PSU +12V, VDD = +5V, GND1 + GND2 + Arduino GND = PSU GND
if you wanna, PSU +5V and Arduino +5V can merge.
All GND should be merged.
400 step half tour
(60 x 1000) / 400 = 150mS
*/
void loop(void)
{
dir(0);
for(int i = 0; i < MAX_STEP; i++)
{
if(DEBUG == 1)
{
Serial.print(i);
Serial.println(" step Left");
}
step();
delay(150);
}
dir(1);
for(int i = 0; i < MAX_STEP; i++)
{
if(DEBUG == 1)
{
Serial.print(i);
Serial.println(" step Right");
}
step();
delay(150);
}
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
drv1:ENABLE
drv1:MS1
drv1:MS2
drv1:MS3
drv1:RESET
drv1:SLEEP
drv1:STEP
drv1:DIR
drv1:GND.1
drv1:VDD
drv1:1B
drv1:1A
drv1:2A
drv1:2B
drv1:GND.2
drv1:VMOT
stepper1:A-
stepper1:A+
stepper1:B+
stepper1:B-
vcc1:VCC