Я должен останавливать шаговый двигатель определенное количество раз (для одного полного вращения) с задержками в качестве параметров остановки. Предположим, что мое требование - остановить двигатель 20 раз, чтобы значение задержки было равномерно распределено между этим числом (20) для полного поворота. Я использовал петлю для этих остановок (20), но я получаю значения более 20. Ниже приведен код для ардуино, где 8000 - количество шагов за один оборот:Как получить фиксированное количество задержек через ардуино в шаговом двигателе?
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(60);
// initialize the serial port:
Serial.begin(9600);
}
// step one revolution in one direction:
void loop() {
int noi=20;// set the no of images here
for(int i=0;i<=noi;i++){
delay(8000/noi);
}
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
}
Непонятно, что вы хотите сделать. Пожалуйста, переформулируйте вопрос. Прямо сейчас, цикл() задерживается на 8 секунд, затем один раз поворачивает двигатель. Переменная 'noi' ничего не делает. – UncleO
На самом деле мы создали платформу, которая будет вращаться в соответствии с шагами шагового двигателя. Мы будем держать объект на этой платформе и делать образы (20) того же, вращая его 20 раз (или любое число), чтобы покрыть полные 360 градусов , Как я должен установить значение задержки, чтобы охватить всего 360 градусов для 20 изображений. – user3327290