1 (изменено: bosco, 12-03-2017 14:24:46)

Тема: Шаговый двигатель в виде поворотного механизма

Всем привет!
Появилась задумка сделать поворотный механизм для камеры наблюдения. Заказал себе ардуино нано, драйвер A3967 и биполярный шаговый двигатель 42SHD0001. Ну и дошло дело до кода. Начал искать подходящий. Но в процессе понял, что есть небольшая проблема. А именно- мотор должен будет останавливаться в 4-х позициях, проще говоря, камера должна будет охватить 360 градусов. Но, чтобы не было проворота, и тем самым не порвало кабель камеры, я сделал некий блокиратор и болт на оси мотора, который упирается в этот блокиратор(на фото видно). Но, при включении, двигатель делает небольшой проворот, тем самым, положение начала движения мотора, отличается по сравнению с предыдущим включением. В итоге, болт может упереться в блокиратор, не пройдя заданное количество шагов. Но это, я думаю можно будет решить, в дальнейшем. Сейчас первоначально хочу разобраться с скетчем. При том условии, что я нуб в этом деле smile Хочу разобраться, как заставить двигатель вращаться по часовой стрелке, и потом в обратном ходе, против часовой, аналогично. И останаваливаться в четырех положениях.
Вот код который нашел в сети

#include <AccelStepper.h>

AccelStepper Stepper1(1,13,12); //использует пин 12 и 13 для dir и step, 1 - режим "external driver" (A4988)

int dir = 1; //используется для смены направления

void setup() {

Stepper1.setMaxSpeed(3000); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)

Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2)

}

void loop() {

if(Stepper1.distanceToGo()==0){ //проверка, отработал ли двигатель предыдущее движение

Stepper1.move(400*dir); //устанавливает следующее перемещение на 1600 шагов (если dir равен -1 будет перемещаться -1600 -> противоположное направление)
dir = dir*(-1); 
delay(1000);

Stepper1.move(-400*dir);
dir = dir*(-1); //отрицательное значение dir, благодаря чему реализуется вращение в противоположном направлении

delay(1000); //задержка на 1 секунду

}

Stepper1.run(); //запуск шагового двигателя. Эта строка повторяется вновь и вновь для непрерывного вращения двигателя

}

Кто может помочь? smile

Post's attachments

Attachment icon IMG_1204.JPG 1.1 mb, 346 downloads since 2017-03-12 

2

Re: Шаговый двигатель в виде поворотного механизма

Болт не выход. Нужен как минимум один концевик. Что бы узнать начальную позицию. И собственно по нему же можно определить работает ли двигатель вообще.

3

Re: Шаговый двигатель в виде поворотного механизма

genaonyx пишет:

Болт не выход. Нужен как минимум один концевик. Что бы узнать начальную позицию. И собственно по нему же можно определить работает ли двигатель вообще.

Была мысль установить пружину к болту и к подходящему месту. Что бы при отключении питания, пружина своей тягой возвращала на исходную. А при запуске, опять по задонному ходу туда-обратно вращало. 
С кнопкой сложнее. Тут бы с скетчем разобраться, чтобы движок имел 4 положения smile

4

Re: Шаговый двигатель в виде поворотного механизма

void setup()
{
  Stepper1.moveTo(Позиция_по_умолчанию);  // Позиция по умолчанию
  Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
}


void loop()
{
  Stepper1.moveTo(позиция_1);  // Позиция №1
  Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
  delay(1000);  // Пишем видео 1 секунду

  Stepper1.moveTo(позиция_2);  // Позиция №2
  Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
  delay(1000);  // Пишем видео 1 секунду

  //и тд
}

Насколько я понял из описания библиотеки, вам в этом случае и болт ненужен будет.
Проверить не могу из за отсутствия шагового двигателя.

Описание библиотеки и ее функций.
http://hobbytech.com.ua/arduino-%D0%B1% … %B5%D0%BB/

5

Re: Шаговый двигатель в виде поворотного механизма

genaonyx, спасибо огромное! работает как часы! smile
но вот насчет концевика, вы все таки были правы. пружина не вариант. на днях попытаюсь найти концевик подходящий.
почему концевик нужен даже с этим кодом, я заметил, что когда отключаешь питание, во время вращения двигателя, то при следующем его запуске, он начинает отсчет шагов именно с того места, где он остановился. а то что у нас иногда отключают электричество, да и мало-ли какой случай, надо точно ставить концевик.
нужно только придумать как завязать этот концевик. у меня в голове возникла подобная мысль- при включении, двигатель начинает вращение, скажем, против часовой стрелки. и как только доходит до того места где стоит концевик, тот самый болт замыкает концевик и начинается тот скетч что скинули вы. ну а потом, в скетче подправить шаги, чтобы после этого замыкания концевика(запуска работы), в след момент возврата болта, он не касался концевика.
не поможете с воплощением скетча? за мной не заржавеет smile

6

Re: Шаговый двигатель в виде поворотного механизма

Выложите скетч который у вас в итоге получился. И посмотрим как туда добавить концевик.

7 (изменено: bosco, 15-03-2017 22:30:42)

Re: Шаговый двигатель в виде поворотного механизма

Вот что получилось:

#include <AccelStepper.h>

AccelStepper Stepper1(1,13,12); //использует пин 12 и 13 для dir и step, 1 - режим "external driver" (A4988)

int dir = 1; //используется для смены направления

void setup() {

Stepper1.setMaxSpeed(200); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)

Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2)

}


void loop()
{
  
  Stepper1.moveTo(100);  // Исходная позиция 
  Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
  delay(1000);  // Пишем видео 1 секунду
  
  Stepper1.moveTo(400);  // Позиция №1
  Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
  delay(1000);  // Пишем видео 1 секунду

  Stepper1.moveTo(800);  // Позиция №2
  Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
  delay(1000);  // Пишем видео 1 секунду
  
  Stepper1.moveTo(1200);  // Позиция №3
  Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
  delay(1000);  // Пишем видео 1 секунду

    Stepper1.moveTo(1600);  // Позиция №4
  Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
  delay(1000);  // Пишем видео 1 секунду
  
    Stepper1.moveTo(1200);  // Позиция №3
  Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
  delay(1000);  // Пишем видео 1 секунду

    Stepper1.moveTo(800);  // Позиция №2
  Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
  delay(1000);  // Пишем видео 1 секунду

    Stepper1.moveTo(400);  // Позиция №1
  Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
  delay(1000);  // Пишем видео 1 секунду


}

8

Re: Шаговый двигатель в виде поворотного механизма

#include <AccelStepper.h>

AccelStepper Stepper1(1, 13, 12); // Использует пин 12 и 13 для dir и step, 1 - режим "external driver" (A4988)

static int buttonPin = 11; // Пин концевика.

static bool newZeroPoint = true; // Флаг указывающий, что надо найти сначала нулевую позицию, а потом делать остальное.

void setup()
{
  pinMode(buttonPin, INPUT); //
  Stepper1.setMaxSpeed(200); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)
  Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2)
}

void loop()
{
  // Поиск начальной позиции.
  if (newZeroPoint)
  {
      if (digitalRead(buttonPin)) 
      {
          // Если концевик сработал, то выставляем нуливую позицию и завершаем поиск.
          stepper1.setCurrentPosition(0);
          newZeroPoint = false;
      } else
      {
        // Двигаемся влево на один шаг, до тех пор пока не сработает концевик.
        if (stepper1.distanceToGo() == 0) stepper1.moveTo(stepper1.currentPosition - 1);
        stepper1.run();
      }
  }
  else
  {
    Stepper1.moveTo(400);  // Позиция №1
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(800);  // Позиция №2
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(1200);  // Позиция №3
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(1600);  // Позиция №4
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(1200);  // Позиция №3
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(800);  // Позиция №2
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(400);  // Позиция №1
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду  
  }
}

Как то так.
Ставьте концевик и проверяйте. Могут быть подводные камни setCurrentPosition, это написано в мануале к библиотеке.
Не забудьте подтянуть концевик к земле.

9 (изменено: bosco, 16-03-2017 12:27:22)

Re: Шаговый двигатель в виде поворотного механизма

Ругается на эту строчку. Пытался сам поколдовать. Но ничего не получилось.

Post's attachments

Attachment icon 1237.jpg 246.86 kb, 381 downloads since 2017-03-16 

10 (изменено: bosco, 16-03-2017 15:25:18)

Re: Шаговый двигатель в виде поворотного механизма

Если убрать значение -1 и вставить () в stepper1.moveTo(stepper1.currentPosition())  то выдает такую ошибку. Как я понимаю, судя по просмотру подобных скетчей для шаговика( http://www.airspayce.com/mikem/arduino/ … ample.html ) нужно позиции шаговика переместить в void setup() ? Ума не приложу sad

Post's attachments

Attachment icon 1238.jpg 252.3 kb, 293 downloads since 2017-03-16 

11 (изменено: bosco, 16-03-2017 17:41:26)

Re: Шаговый двигатель в виде поворотного механизма

Попробовал как писал выше, поместить позиции шаговика в void setup. Скомпилировалось все нормально, но после загрузки, и включения шаговика, он просто ходит по заданным параметрам, делает один проход и останавливается. И никак не реагирует на кнопку. Вот какой получился скетч:

#include <AccelStepper.h>

AccelStepper Stepper1(1, 13, 12); // Использует пин 12 и 13 для dir и step, 1 - режим "external driver" (A4988)

static int buttonPin = 11; // Пин концевика.

static bool newZeroPoint = true; // Флаг указывающий, что надо найти сначала нулевую позицию, а потом делать остальное.

void setup()
{
  pinMode(buttonPin, INPUT); //
  Stepper1.setMaxSpeed(200); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)
  Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2)


    Stepper1.moveTo(400);  // Позиция №1
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(800);  // Позиция №2
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(1200);  // Позиция №3
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(1600);  // Позиция №4
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(1200);  // Позиция №3
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(800);  // Позиция №2
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(400);  // Позиция №1
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду  

}

  
void loop()
{
  // Поиск начальной позиции.
  if (newZeroPoint)
  {
      if (digitalRead(buttonPin)) 
      {
          // Если концевик сработал, то выставляем нуливую позицию и завершаем поиск.
          Stepper1.setCurrentPosition(0);
          newZeroPoint = false;
      } else
      {
        // Двигаемся влево на один шаг, до тех пор пока не сработает концевик.
        if (Stepper1.distanceToGo() == 0) Stepper1.moveTo(Stepper1.currentPosition());
        Stepper1.run();
      }
  }

}

12

Re: Шаговый двигатель в виде поворотного механизма

#include <AccelStepper.h>

AccelStepper Stepper1(1, 13, 12); // Использует пин 12 и 13 для dir и step, 1 - режим "external driver" (A4988)

static int buttonPin = 11; // Пин концевика.

static bool newZeroPoint = true; // Флаг указывающий, что надо найти сначала нулевую позицию, а потом делать остальное.

void setup()
{
  pinMode(buttonPin, INPUT); //
  Stepper1.setMaxSpeed(200); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)
  Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2)
}

void loop()
{
  // Поиск начальной позиции.
  if (newZeroPoint)
  {
      if (digitalRead(buttonPin)) 
      {
          // Если концевик сработал, то выставляем нуливую позицию и завершаем поиск.
          Stepper1.setCurrentPosition(0);
          newZeroPoint = false;
      } else
      {
        // Двигаемся влево на один шаг, до тех пор пока не сработает концевик.
        if (Stepper1.distanceToGo() == 0) {Stepper1.moveTo(Stepper1.currentPosition() - 1);}
        Stepper1.run();
      }
  }
  else
  {
    Stepper1.moveTo(400);  // Позиция №1
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(800);  // Позиция №2
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(1200);  // Позиция №3
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(1600);  // Позиция №4
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(1200);  // Позиция №3
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(800);  // Позиция №2
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду
    Stepper1.moveTo(400);  // Позиция №1
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(1000);  // Пишем видео 1 секунду  
  }
}

Это Си, забыл что он регистрозависимый, ну и кое где скобки забыл.

13

Re: Шаговый двигатель в виде поворотного механизма

Да, кстати я додумался о проблеме регистра smile Исправил тогда.
Но и  с новым скетчем, шаговик так же упорно игнорирует кнопку.  При запуске просто начинает заданные повороты. При замыкании(имитации концевика) продолжает работу.
Пока вместо концевика подключил дюпоны на 11 пин и второй дюпон на +5 вольт на ардуинке. Прозвонил их тестером, 100% рабочие. +5 вольт при их замыкании на 11 пин доходит.
Снял видео- http://obs.kg/view/hiy/%D0%A8%D0%B0%D0% … 0%B8%D0%BA

14

Re: Шаговый двигатель в виде поворотного механизма

При запуске просто начинает заданные повороты.

это возможно только если digitalRead(buttonPin) == true. А true оно может быть либо если кнопка нажата, либо если Ардуинка ловит шум. По этому надо добавить резистор 10кОм на кнопку, так сказать подтянуть порт к земле. Только в этом случае порт будет нормально реагировать на нажатие кнопки.

http://wiki.amperka.ru/_media/%D1%81%D1%85%D0%B5%D0%BC%D0%BE%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0:resistors-6.png

15

Re: Шаговый двигатель в виде поворотного механизма

Абалдеть smile Йес! Заработало!
Добавил резистор и теперь при включении, шаговик вращается против часовой до тех пор, пока не нажму кнопку.
Завтра буду собирать все во едино и пробовать уже с концевиком.

16

Re: Шаговый двигатель в виде поворотного механизма

Снова нид хэлп smile
В процессе сборки пришла в голову мысль. Т.к. к камере идет сетевой кабель с 8-ю жилами, 4-е из них пойдут на LAN, 2 на питание 12V ардуинки и шаговика, и остаются еще два свободных. Так. вот, пришла в голову мысль повесить на эти два провода кнопку, которая будет выполнять стоп шаговика. При повторном нажатии, шаговик продолжит свою работу.
Думается мне, если реализовать это в таком варианте- шаговик вращается по заданным позициям, нажимаю кнопку "стоп", шаговик останавливается. Еще раз нажимаю "стоп", шаговик продолжает свое движение с того места где остановился. Как бы выставить максимальную задержку в момент стопа. Но как мне кажется(пытался создать) код будет тяжелым smile
Вторая мысль с скетчем такая- шаговик вращается по заданным позициям, нажимаю кнопку "стоп", шаговик останавливается. Еще раз нажимаю "стоп", происходит сброс ардуинки, и шаговик идет на поиск начальной точки. Нашел код для кнопки, но слить его с имеющимся у нас кодом, не получается. Точнее, не могу понять какой командой заставить остановиться шаговик по кнопке. Сброс в принципе я понял как можно сделать программно.

       if(digitalRead(2)==HIGH&&flag==0)//если кнопка нажата   
     // flag равна 0 , то
     { 
        flag=1; 
      } 
       
      if(digitalRead(2)==LOW&&flag==1)//если кнопка не нажата 
     //и flag равна - 1 ,то 
     { 
         digitalWrite(3,!digitalRead(3)); 
        flag=0;//обнуляем flag 
     } 

17

Re: Шаговый двигатель в виде поворотного механизма

У меня большие сомнения что двух жил UTP-шного кабеля достаточно для питания камеры и шаговика. И такие же сомнения что 5В 40мА хватит чтобы продавить две жилы на кнопку. Если длина кабеля более 5 метров нужен как минимум FTP кабель и хороший БП.

18 (изменено: bosco, 19-03-2017 20:09:39)

Re: Шаговый двигатель в виде поворотного механизма

genaonyx пишет:

У меня большие сомнения что двух жил UTP-шного кабеля достаточно для питания камеры и шаговика. И такие же сомнения что 5В 40мА хватит чтобы продавить две жилы на кнопку. Если длина кабеля более 5 метров нужен как минимум FTP кабель и хороший БП.

Сейчас кабель получается около 10 метров, надеюсь что силы питания хватит smile Ежели нет.. ну чтож.. придется тянуть еще. Сейчас кстати стоит другая камера по сетевому кабелю, и сигнал и питание на нём. Около 45 метров получается, тянет отлично. Поэтому все же меня не покидает надежда что все получится smile И кабель хороший нашелся. Не китайский аллюминь smile
И да, кстати, ардуинку решил разместить рядом с шаговиком. Все просилиликонил. Сегодня силикон подсох. Вот такое чудище получилось. Оставил конечно usb штекер для заливки скетчей. При необходимости можно будет сделать это с ноутбука. Но все же, конечно это удобнее делать пока все на столе. Поэтому озадачился кнопкой smile
Впереди еще придумать корпус для всего этого механизма, для защиты от внешнего воздействия.
Радиатор, под шаговиком, это от драйвера. Установил драйвер под шаговиком. Нашел дома от старой видеокарты радиатор и прикрепил к драйверу. Лишним не будет думаю, потому как силикон и все такое.

UPD. Замерил сейчас потребление всей системы в целом(ардуинка, драйвер, шаговик). Во время вращения- 0,5 А. Во время записи(шаговик остановлен)- 0,6 А. Камеры увы пока нет на руках, чтобы замерить ее потребление, но думаю как раз вообщем в 1 А удастся уложиться. Если что поставлю БП с возможностью "подтяжки" напруги, как ставят на видеонаблюдение.

Post's attachments

Attachment icon photo.JPG 1.12 mb, 369 downloads since 2017-03-19 

19 (изменено: bosco, 19-03-2017 21:19:29)

Re: Шаговый двигатель в виде поворотного механизма

Замерил имеющийся кабель. Замкнул его на одном конце, а на втором конце замерил сопротивление замкнутых жил. Вышло 14 Ом. Если я не ошибаюсь, то по закону Ома U=I*R  U=1*14=14 вольт(если учесть что камеры потребляют около 0,3-0,4А а наша система 0,6=1А). Ну и плюс допуск по питанию самой камеры +-10%. В 14 вольт думаю уложиться не проблема.

20

Re: Шаговый двигатель в виде поворотного механизма

#include <AccelStepper.h>

AccelStepper Stepper1(1, 13, 12); // Использует пин 12 и 13 для dir и step, 1 - режим "external driver" (A4988)

static int button1Pin = 11; // Пин концевика.
static int button2Pin = 10; // Пин кнопки "Стоп".

static bool newZeroPoint = true; // Флаг указывающий, что надо найти сначала нулевую позицию, а потом делать остальное.

static int points[7] = {400, 800, 1200, 1600, 1200, 800, 400}; // массив позиций.
static int index = 0;

void setup()
{
  pinMode(button1Pin, INPUT);
  pinMode(button2Pin, INPUT);
  Stepper1.setMaxSpeed(200); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)
  Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2)
}

void loop()
{
  // Поиск начальной позиции.
  if (newZeroPoint)
  {
      if (digitalRead(button1Pin)) 
      {
          // Если концевик сработал, то выставляем нуливую позицию и завершаем поиск.
          Stepper1.setCurrentPosition(0);
          newZeroPoint = false;
      } else
      {
        // Двигаемся влево на один шаг, до тех пор пока не сработает концевик.
        if (Stepper1.distanceToGo() == 0) {Stepper1.moveTo(Stepper1.currentPosition() - 1);}
        Stepper1.run();
      }
  }
  else
  {
    // Обработка кнопки "Стоп".
    if (digitalRead(button2Pin))
    {
      Stepper1.moveTo(Stepper1.currentPosition()); // Выключаем мотор, до тех пор пока нажата кнопка "Стоп".
    } else
    {
      Stepper1.moveTo(points[index]);
      if (Stepper1.distanceToGo() == 0)
      {
        index++;
        if (index >= 7) index = 0;
        delay(1000);
      }
    }
    Stepper1.run();
  }
}

21

Re: Шаговый двигатель в виде поворотного механизма

genaonyx спасибо огромное! попробую состряпать некий отчет о проделанной работе и залью в Проекты.
Куда пиво доставить? smile

22

Re: Шаговый двигатель в виде поворотного механизма

Куда пиво доставить?

Расскажите о нашем сайте друзьям. Может на других сайтах. Ну и сами не забрасывайте посещение как сайта так и форума. Это и будет ваше спасибо. Чем больше посещаемость, тем больше стимул заниматься этим и дальше.

23

Re: Шаговый двигатель в виде поворотного механизма

genaonyx пишет:

static int index = 0;

Добрый! Подскажите может быть в чем проблема... в последнем вашем скетче у меня арду ругается на эту строку. Пишет "'int index' redeclared as different kind of symbol"... понять почему не могу... извините если что, я в этом пока сильно новичок...
С уважением

24

Re: Шаговый двигатель в виде поворотного механизма

sapa666 пишет:
genaonyx пишет:

static int index = 0;

Добрый! Подскажите может быть в чем проблема... в последнем вашем скетче у меня арду ругается на эту строку. Пишет "'int index' redeclared as different kind of symbol"... понять почему не могу... извините если что, я в этом пока сильно новичок...
С уважением

это статичная переменная в которой содержится индекс (номер текущей позиции камеры).
Возможно данное название зарезервировали для системных нужд. Переименуйте ее в любое другое название. и везде где она используется поменяйте так же.

25

Re: Шаговый двигатель в виде поворотного механизма

genaonyx, СПАСИБО ПРИОГРОМНОЕ! Всё работает!!! Изменил её и это помогло!!!