Попробуйте вот с этим скетчем, я выкинул из него все лишнее.
Главное правильно подключить драйверы шаговых двигателей к выводам DIR и STEP.
В скетче я расписал все в комментариях
- Код: выделить все
//---CNC Laser engraver version 3.0--------------
//---23.05.2015----------------------------------
unsigned long inByte = 0;
int dirpin1 = 2; // dir pin easy driver 1
int steppin1 = 3; // step pin easy driver 1
int dirpin2 = 4; // dir pin easy driver 2
int steppin2 = 5; // step pin easy driver 2
void setup()
{
Serial.begin(9600);
Serial.println("Laser CNC v 3.0 Ready!");
pinMode(dirpin1, OUTPUT);
pinMode(steppin1, OUTPUT);
pinMode(dirpin2, OUTPUT);
pinMode(steppin2, OUTPUT);
}
void loop()
{int i;
if (Serial.available() > 0) {
inByte = Serial.read();
//----------------start laser engraver code-----------------
if (inByte=='5'){digitalWrite(12, HIGH);}; //---vkl laser---
if (inByte=='6'){digitalWrite(12, LOW);}; //--otkl laser---
//----dvizenie po X vpered ----
if (inByte=='3'){digitalWrite(dirpin1, LOW);
for (i = 0; i<100; i++){
digitalWrite(steppin1, LOW);
digitalWrite(steppin1, HIGH);
delayMicroseconds(500); }};
//----dvizenie po X nazad ----
if (inByte=='4'){digitalWrite(dirpin1, HIGH);
for (i = 0; i<100; i++){
digitalWrite(steppin1, LOW);
digitalWrite(steppin1, HIGH);
delayMicroseconds(500);}};
//----dvizenie po Y vpered ----
if (inByte=='1'){digitalWrite(dirpin2, LOW);
for (i = 0; i<100; i++){
digitalWrite(steppin2, LOW);
digitalWrite(steppin2, HIGH);
delayMicroseconds(500);}};
//----dvizenie po Y nazad ----
if (inByte=='2'){digitalWrite(dirpin2, HIGH);
for (i = 0; i<100; i++){
digitalWrite(steppin2, LOW);
digitalWrite(steppin2, HIGH);
delayMicroseconds(500);}};
//-------end laser engraver code------------------
};
}