Управление шаговым двигателем

Melissa
Offline
Зарегистрирован: 11.01.2014

Клапауций, на самом деле автоматизировать эксперимент - это очень большое дело. я могла купить шприцевой насос за круглую сумму, а в итоге сделала его своими руками и автоматизировала с помощью доброго человека. Могу даже показать как-нибудь, если кому интересно

Клапауций
Offline
Зарегистрирован: 10.02.2013

Melissa пишет:

Клапауций, на самом деле автоматизировать эксперимент - это очень большое дело. я могла купить шприцевой насос за круглую сумму, а в итоге сделала его своими руками и автоматизировала с помощью доброго человека. Могу даже показать как-нибудь, если кому интересно

мне скорее интересна практика или процесс перевода "людей", участвующих в научных изысканиях из теневого статуса "добрый" в легальный статус "соавтор" или иной легальный статус... не более.

 

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Клапауций пишет:

мне скорее интересна практика или процесс перевода "людей", участвующих в научных изысканиях из теневого статуса "добрый" в легальный статус "соавтор" или иной легальный статус... не более.

Его укажут в списке использованной литературы.

Melissa
Offline
Зарегистрирован: 11.01.2014

Клапауций пишет:

мне скорее интересна практика или процесс перевода "людей", участвующих в научных изысканиях из теневого статуса "добрый" в легальный статус "соавтор" или иной легальный статус... не более.

Вам скорее делать нечего. если меня maksim попросит, я его с радостью включу в любую публикацию, его вклад трудно переоценить. А Вы-то тут причем? Вы такой переживающий за других? и давайте лучше не засорять нужную тему болтовней, ок? люди сюда приходят за делом и за помощью

Клапауций
Offline
Зарегистрирован: 10.02.2013

JollyBiber пишет:

Его укажут в списке использованной литературы.

сомневаюсь, что "Список использованной литературы" подходит для соавтора скетча, который использовался для реализации узла аппаратуры, использованной для научных исследований.

скорее, должен присутсвовать "Список консультантов" или нечто похожее по смыслу.

Melissa
Offline
Зарегистрирован: 11.01.2014
maksim, видимо двигатель, который есть у меня, не может в обе стороны крутиться. завтра проверю на другом двигателе, думаю, что все должно получиться. еще раз спасибо!
maksim
Offline
Зарегистрирован: 12.02.2012

Melissa пишет:

maksim, у меня еще один вопрос возник, надеюсь, что последний. как заставить двигатель вращаться назад? я почему-то думала, что достаточно поставить минус перед числом в скобках у функции stepper.step(), но это не сработало.

Melissa пишет:

maksim, видимо двигатель, который есть у меня, не может в обе стороны крутиться. завтра проверю на другом двигателе, думаю, что все должно получиться. еще раз спасибо!

Вообще должен. 

#include <Wire.h> // добавляем необходимые библиотеки
#include <LiquidCrystal.h>
#include <Stepper.h>
#define STEPS 48

LiquidCrystal lcd(8, 9, 4, 5, 6, 7 );
Stepper stepper(STEPS, 30, 31, 32, 33);

#define BUTTON_NONE   0
#define BUTTON_RIGHT  1
#define BUTTON_UP     2
#define BUTTON_DOWN   3
#define BUTTON_LEFT   4
#define BUTTON_SELECT 5

int speedmean = 40;

void setup()
{
  lcd.begin(16, 2);             
  lcd.print("hello! )");
  stepper.setSpeed(speedmean);  
}

void loop()
{
  int button = get_key();
  switch (button)
  {
  case BUTTON_RIGHT: // при нажатии кнопки выводим следующий текст
    do{
      lcd.setCursor(0, 0); 
      lcd.print("                   "); 
      lcd.setCursor(0, 0);
      lcd.print("RIGHT");
      stepper.step(10);
    }
    while(get_key() != BUTTON_SELECT); 
    break;

  case BUTTON_LEFT: // при нажатии кнопки выводим следующий текст
    do{
      lcd.setCursor(0, 0); 
      lcd.print("                   "); 
      lcd.setCursor(0, 0);
      lcd.print("LEFT");
      stepper.step(-10);
    }
    while(get_key() != BUTTON_SELECT); 
    break;

  case BUTTON_SELECT:
    lcd.setCursor(0, 0); 
    lcd.print("                   "); 
    lcd.setCursor(0, 0);
    lcd.print("STOP");
    stepper.step(0);
    delay(50);
    break;

  case BUTTON_UP:
    lcd.setCursor(0, 0); 
    lcd.print("                   "); 
    lcd.setCursor(0, 0);
    speedmean++;
    lcd.print(speedmean);
    stepper.setSpeed(speedmean);
    delay(50);
    break;

  case BUTTON_DOWN:
    lcd.setCursor(0, 0); 
    lcd.print("                   "); 
    lcd.setCursor(0, 0);
    speedmean--;
    lcd.print(speedmean);
    stepper.setSpeed(speedmean);
    delay(50);
    break;
  }
}


// Convert ADC value to key number 
int get_key() 
{ 
  if(analogRead(0) > 760) return 0;
  delay(50);
  int adc_key_val[5] ={
    30, 150, 360, 535, 760    }; 
  unsigned int input = analogRead(0);
  for (byte k = 0; k < 5; k++) 
    if (input < adc_key_val[k]) 
      return k + 1; 
  return 0; 
}

 

Melissa
Offline
Зарегистрирован: 11.01.2014

maksim, нет, все в одну сторону. двигатель 28DYJ-48 5V DC. но у меня в институте другой, который точно может крутиться в обратную сторону, я завтра его проверю и отпишусь о результате

maksim
Offline
Зарегистрирован: 12.02.2012

Скорее всего двигатель не верно подключен.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Melissa пишет:

Клапауций пишет:

мне скорее интересна практика или процесс перевода "людей", участвующих в научных изысканиях из теневого статуса "добрый" в легальный статус "соавтор" или иной легальный статус... не более.

Вам скорее делать нечего. если меня maksim попросит, я его с радостью включу в любую публикацию, его вклад трудно переоценить. А Вы-то тут причем? Вы такой переживающий за других? и давайте лучше не засорять нужную тему болтовней, ок? люди сюда приходят за делом и за помощью

Достойный ответ человека сделавшего кучу ползного для форума и оказавшего помощь туче форумчан!

И это все только потому что Клапауций черный?

Melissa
Offline
Зарегистрирован: 11.01.2014

maksim, дело все-таки в двигателе. двигатель MO61-FD-311 прекрасно работает и вращается в обе стороны. дело сделано, спасибо за помощь!!!