1. В сообществе нашего форума Вконтакте создан раздел по продаже электронных компонентов.
    Каждый может продать в нем свои залежавшиеся детали. Подробности здесь.

ардуино и проклятый ДИПЛОМ!! )

Тема в разделе "Проекты на Arduino", создана пользователем taiger, 3 апр 2016.

  1. taiger

    taiger Гость

    Сообщения:
    12
    Симпатии:
    0
    Здравствуйте! Очень нужна ваша помощь, я студент на архитектурном, делаю макет на защиту диплома.
    Сразу к делу :
    У Меня есть блютус модуль hc-06 , подключил к ардуино вместе, скачал нужное приложение (Bluetooth spp) в плеймаркете, удалось управлять релюшкой через смартфон, управление было через терминал, отправлял 1 - реле отключалось, повторно- отключалось. В чем суть : мне хотелось бы также отправлять единичные сигналы, но приэтом вращпть шаговиком, тоесть, отправить 1 - вращение на 100 шагов к примеру и стоп. Потом отправить сигнал повторно - вращение на стольео же обратно. давно хотел это реализовать ! Диплом уже в мае, очень нужна ваша помощь!
     
    : arduino uno
  2. radioengineer

    radioengineer Администратор Команда форума

    Сообщения:
    3.558
    Симпатии:
    354
    Адрес:
    Алматы
    Если реле уже реализовали, то проблем с шаговиком быть не должно, принцип тот же фактически.
  3. taiger

    taiger Гость

    Сообщения:
    12
    Симпатии:
    0
    Скажу чесно я в написании кода только начал брать азы) код то простеньеий под arduino ide , если время есть у кого, был бы благодарен за парочку строк)
  4. radioengineer

    radioengineer Администратор Команда форума

    Сообщения:
    3.558
    Симпатии:
    354
    Адрес:
    Алматы
    Айда в хакспейс пилить проект твой, а так нет конкретного вопроса, вряд ли кто-то поймет какие строчки тебе конкретно нужны;)
    taiger нравится это.
  5. taiger

    taiger Гость

    Сообщения:
    12
    Симпатии:
    0
    Я бы с радостью )) ток сам на нулях и поработать у вас тоже в копеечку обойдется) ))
    )
  6. DiKey

    DiKey Живет здесь

    Сообщения:
    7
    Симпатии:
    4
    Немного изменил свой старый код, должно работать;)

    Вложения:

    • stepperBT.ino
      Размер файла:
      1,2 КБ
      Просмотров:
      8
    radioengineer нравится это.
  7. taiger

    taiger Гость

    Сообщения:
    12
    Симпатии:
    0
    Спасибо большое, вот только у меня драйвер китайский 4ех пиновый на выходе, как с ним быть?
  8. radioengineer

    radioengineer Администратор Команда форума

    Сообщения:
    3.558
    Симпатии:
    354
    Адрес:
    Алматы
    А это точно серводвигатель? Может это шаговый двигатель?
  9. taiger

    taiger Гость

    Сообщения:
    12
    Симпатии:
    0
    Друг) у меня шаговый двигатель, я ж написал) драйвер к нему 4 ех фазовый uln 2003, с этим получится? Очень нужно!!
    --- Сообщения объединены, 4 апр 2016 ---
    Все точно также только + модуль блютус hc06 на пинах tx rx

    Вложения:

  10. UL7AAjr

    UL7AAjr В доску свой

    Сообщения:
    1.848
    Симпатии:
    313
    Род занятий:
    инженер-программист
    Адрес:
    Алма-Ата
    Если связка HC06 + МК работает, и есть возможность передать и дешифрировать команду, то эту цепь можно опустить. А вот с двигателем на 4-х фазовой uln 2003 - супер странная и непонятная штука.
    taiger нравится это.
  11. Buba_Chkhadze

    Buba_Chkhadze Модератор Команда форума

    Сообщения:
    4.345
    Симпатии:
    355
    Адрес:
    Талгар
    наверное после uln 2003 должен еще мост из мосфетов быть
    taiger нравится это.
  12. UL7AAjr

    UL7AAjr В доску свой

    Сообщения:
    1.848
    Симпатии:
    313
    Род занятий:
    инженер-программист
    Адрес:
    Алма-Ата
    без схемы можно только фантазировать
    taiger нравится это.
  13. Buba_Chkhadze

    Buba_Chkhadze Модератор Команда форума

    Сообщения:
    4.345
    Симпатии:
    355
    Адрес:
    Талгар
    у ардуинщиков схемы странные, вон она лежит в пост #9
    taiger нравится это.
  14. taiger

    taiger Гость

    Сообщения:
    12
    Симпатии:
    0
    Да парни, дело стоит)
  15. Buba_Chkhadze

    Buba_Chkhadze Модератор Команда форума

    Сообщения:
    4.345
    Симпатии:
    355
    Адрес:
    Талгар
    гугл говорит что шаговый двигатель подключают к ардуино через L293D, но никак
    не через ULN2003

    Arduino_A298N_stepper.jpg
  16. .ctor

    .ctor В доску свой

    Сообщения:
    715
    Симпатии:
    202
    Род занятий:
    парогенератор
    Адрес:
    Алматы
    ну и схема.. [​IMG]
  17. Buba_Chkhadze

    Buba_Chkhadze Модератор Команда форума

    Сообщения:
    4.345
    Симпатии:
    355
    Адрес:
    Талгар
    у ардуинщиков как то так ;)
  18. DiKey

    DiKey Живет здесь

    Сообщения:
    7
    Симпатии:
    4
    Нужно было сразу выкладывать все что есть :) с ним чуть сложнее. Если использовать полношаговый режим управления, нужно подавать напряжение на входы этого "драйвера" как бы сдвигая два бита либо вправо, либо влево в зависимости от нужного направления вращения.

    [​IMG]
    Примерно так: AB - BC - CD - DA
    taiger нравится это.
  19. radioengineer

    radioengineer Администратор Команда форума

    Сообщения:
    3.558
    Симпатии:
    354
    Адрес:
    Алматы
    Вот схема в более вменяемом виде:
    FG9S3MRHMWVZNZR.MEDIUM.jpg

    Вот демо код для этой схемы:
    PHP:
    /*
       BYJ48 Stepper motor code
      
       IN1 >> D8
       IN2 >> D9
       IN3 >> D10
       IN4 >> D11
      */

    #define IN1  8
    #define IN2  9
    #define IN3  10
    #define IN4  11
    int Steps 0;
    boolean Direction true;// gre
    unsigned long last_time;
    unsigned long currentMillis ;
    int steps_left=4095;
    long time;

    void setup()
    {
      
    Serial.begin(115200);
      
    pinMode(IN1OUTPUT);
      
    pinMode(IN2OUTPUT);
      
    pinMode(IN3OUTPUT);
      
    pinMode(IN4OUTPUT);
    }

    void loop()
    {
      while(
    steps_left 0){
      
    currentMillis micros();
      if(
    currentMillis-last_time>=1000){
      
    stepper(1);
      
    time=time+micros()-last_time;
      
    last_time=micros();
      
    steps_left--;
      }
      }
       
    Serial.println(time);
      
    Serial.println("Wait...!");
      
    delay(2000);
      
    Direction=!Direction;
      
    steps_left=4095;
    }

    void stepper(int xw){
      for (
    int x 0xwx++){
    switch(
    Steps){
       case 
    0:
         
    digitalWrite(IN1LOW);
         
    digitalWrite(IN2LOW);
         
    digitalWrite(IN3LOW);
         
    digitalWrite(IN4HIGH);
       break;
       case 
    1:
         
    digitalWrite(IN1LOW);
         
    digitalWrite(IN2LOW);
         
    digitalWrite(IN3HIGH);
         
    digitalWrite(IN4HIGH);
       break;
       case 
    2:
         
    digitalWrite(IN1LOW);
         
    digitalWrite(IN2LOW);
         
    digitalWrite(IN3HIGH);
         
    digitalWrite(IN4LOW);
       break;
       case 
    3:
         
    digitalWrite(IN1LOW);
         
    digitalWrite(IN2HIGH);
         
    digitalWrite(IN3HIGH);
         
    digitalWrite(IN4LOW);
       break;
       case 
    4:
         
    digitalWrite(IN1LOW);
         
    digitalWrite(IN2HIGH);
         
    digitalWrite(IN3LOW);
         
    digitalWrite(IN4LOW);
       break;
       case 
    5:
         
    digitalWrite(IN1HIGH);
         
    digitalWrite(IN2HIGH);
         
    digitalWrite(IN3LOW);
         
    digitalWrite(IN4LOW);
       break;
         case 
    6:
         
    digitalWrite(IN1HIGH);
         
    digitalWrite(IN2LOW);
         
    digitalWrite(IN3LOW);
         
    digitalWrite(IN4LOW);
       break;
       case 
    7:
         
    digitalWrite(IN1HIGH);
         
    digitalWrite(IN2LOW);
         
    digitalWrite(IN3LOW);
         
    digitalWrite(IN4HIGH);
       break;
       default:
         
    digitalWrite(IN1LOW);
         
    digitalWrite(IN2LOW);
         
    digitalWrite(IN3LOW);
         
    digitalWrite(IN4LOW);
       break;
    }
    SetDirection();
    }
    }
    void SetDirection(){
    if(
    Direction==1){ Steps++;}
    if(
    Direction==0){ Steps--; }
    if(
    Steps>7){Steps=0;}
    if(
    Steps<0){Steps=7; }
    }
    Все, больше здесь ничего не нужно, кроме как сесть и самому разобраться.
    taiger и DiKey нравится это.
  20. taiger

    taiger Гость

    Сообщения:
    12
    Симпатии:
    0
    Вращается, на 180 и обратно! кул! А как связать с блютуз? я наверное достал вас уже ) Крутится без остановки, но хотелось чтоб вращение осуществлялось непосредственно командами из телефона! я пользуюсь Bluetooth spp(Есть в PlayMarket), там типичный терминал отсылающий команды на hc-06

Поделиться этой страницей