Попробовал переделать найденный код под имеющуюся у меня плату HE3D от сканера Ciclop.
Какая-то реакция на нажатие цифры "2" присутствует (в мониторе COM-порта идёт ответ "S", как и задано в программе, и мотор выдаёт заданное количество "щелчков" (но не крутится)). Самое непонятно, что залив тестовый скетч
stepper_oneRevolution.ino из библиотеки Arduino я также получаю треск а не вращение...

Код:
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// initialize the stepper library on pins 8 through 11:
// Stepper myStepper (stepsPerRevolution, 8, 9, 10, 11);
// Stepper myStepper (stepsPerRevolution, 2, 3, 4, 5);
// Stepper myStepper = Stepper (200, 8, 9, 10, 11);
Stepper myStepper (stepsPerRevolution, 10, 8, 9, 11);
int stepCount = 0; // number of steps the motor has taken
void setup() {
Serial.begin(9600); // open serial port
// myStepper.begin(); // create with the default frequency 1.6KHz
myStepper.setSpeed(1); // 1 rpm
// myStepper.step(20, FORWARD, MICROSTEP); // take a step to initialize position
myStepper.step(10); // take a step
delay(250); // settle mechanics for 250 ms
// myStepper->release(); // turn off current
}
void loop() {
static int counter = 0;
if(Serial.available()>0) // is there any unread serial data?
{
char ch = Serial.read(); // read a character from the serial port
Serial.print("echo");
Serial.println(ch); // echo back so that it is displayed in DAVID debug console
if (ch == '2') // is it the character for the number 2?
{
counter = counter + 1; // increment the scan count
// myStepper.step(20, FORWARD, MICROSTEP); // take a step
myStepper.step(10); // take a step
delay(250); // settle mechanics for 250 ms
// myStepper->release(); // turn off current
if (counter == 200) // we have performed a full rotation
{
counter = 0; // reset for next scan
}
else
{
Serial.println("S"); // Tell DAVID to do another Scan
}
}
} // end Serial.available
}
P.S. Я там свои "всяко экспериметные" коды закомментировал (вдруг пригодится, в процессе)