Шаговик не слушается
- Войдите на сайт для отправки комментариев
Пт, 18/09/2015 - 20:31
Всем привет! Написал код, чтобы шаговик ровно через 360 шагов остановился. Но он почему-то крутится в бесконечном цикле. Помогите найти ошибку. Шаговик с шагом 1,8гр.
#include <Stepper.h> #include <SPI.h> #include <Ethernet.h> //Определяем порты подключенные к L298N int input1 = 3; int input2 = 4; int input3 = 5; int input4 = 6; void setup() { pinMode(input1,OUTPUT); pinMode(input2,OUTPUT); pinMode(input3,OUTPUT); pinMode(input4,OUTPUT); } void loop(){ for (int i=0; i <=50; i++){ //1-ый шаг digitalWrite(input1,HIGH); digitalWrite(input2,LOW); digitalWrite(input3,LOW); digitalWrite(input4,HIGH); delayMicroseconds(800); //задержка между шагами регулирует скорость двигателя //2-ой шаг digitalWrite(input1,LOW); digitalWrite(input2,HIGH); digitalWrite(input3,LOW); digitalWrite(input4,HIGH); delayMicroseconds(800); //3-ий шаг digitalWrite(input1,LOW); digitalWrite(input2,HIGH); digitalWrite(input3,HIGH); digitalWrite(input4,LOW); delayMicroseconds(800); //4ый шаг digitalWrite(input1,HIGH); digitalWrite(input2,LOW); digitalWrite(input3,HIGH); digitalWrite(input4,LOW); delayMicroseconds(800); //для полного оборота надо совершить несколько циклов по 4 шага } }
Пардон! Чтобы шаговик ровно через 360 ГРАДУСОВ остановился.
Причина явная, после завершения цикла 50шагов по 4 позиции (200х1.8 = 1 целый оборот) нет ничего, что могло бы задержать порограму, цикл повторяется снова и снова. Место для творчества - 57 строка.
Шаговик не слушается
Построже с ним!
А с чего ему останавливаться, если у Вас это всё в loop'е стоит и каждый раз повторяется?
Спасибо парни! Разобрался!