Специальные цены   новые товары
+ Ответить в теме
Показано с 1 по 8 из 8

Машина на arduino

Тема раздела Самодельная электроника, компьютерные программы в категории Общие вопросы; Доброго времени суток! И так, будучи в творческом настроении духа, моя душа решила начать творить и под руку мне попались ...

  1. #1

    Регистрация
    12.10.2012
    Адрес
    Москва
    Возраст
    23
    Сообщений
    215

    Машина на arduino

    Доброго времени суток!
    И так, будучи в творческом настроении духа, моя душа решила начать творить и под руку мне попались следующие ингридиенты:
    Машина на радиоуправлении с бк мотором и классической сервой
    Arduino nano и модуль bluetooth hc-06
    Так вот, решил я сделать управление этой машинкой через свой смартфон на андройд. Только вот беда, "интузиазм" есть, а опыта работы на ардуино - ноль
    Есть у нас на сайте люди которые "могут" и хотят помочь написать скетч или хотя бы подсказать.
    Нашел много инфы на просторах интеренета, но дальше чем просто управлять сервой продвинуться не могу, ибо правильно управлять регулятором просто так не получится.
    Есть тут сведующие в этих делах?

  2.  
  3. #2

    Регистрация
    09.12.2010
    Адрес
    Москва
    Возраст
    28
    Сообщений
    4
    Добрый день.
    А чем отличаются в управлении регулятор хода и сервопривод?

  4. #3

    Регистрация
    12.10.2012
    Адрес
    Москва
    Возраст
    23
    Сообщений
    215
    Цитата Сообщение от l1511 Посмотреть сообщение
    Добрый день.
    А чем отличаются в управлении регулятор хода и сервопривод?
    Добрый. Основная проблема с тормозом и задним ходом, дать понять ардуино как правильно управлять этим эллементом

  5. #4

    Регистрация
    11.01.2011
    Адрес
    Ярославль
    Возраст
    31
    Сообщений
    1,618
    Цитата Сообщение от NBystrov Посмотреть сообщение
    Добрый. Основная проблема с тормозом и задним ходом, дать понять ардуино как правильно управлять этим эллементом
    Центр сервы (1500) = тормоз регулятора.
    Полное отклонение сервы назад (0) = полный газ назад.
    Полное отклонение сервы вперед (2000) = полный газ вперед.

    Вот парсер serial для такой строки
    var0,var1,var2,var3.var0,var1,var2,var3.var0,var1,var2,var3.
    Переменные через зпт, окончание - тчк.


    Код:
    #include <string.h> // we'll need this for subString
    #include <SoftwareSerial.h>
    SoftwareSerial MODEM_serial(7, 8); // RX, TX
    
    const char EOPmarker = '.'; //This is the end of packet marker
    char serialbuf[32]; //This gives the incoming serial some room. Change it if you want a longer incoming.
    #define MAX_STRING_LEN 20 // like 3 lines above, change as needed.
    
    
    
    if (MODEM_serial.available() > 0) { //makes sure something is ready to be read
        static int bufpos = 0; //starts the buffer back at the first position in the incoming serial.read
        char inchar = MODEM_serial.read(); //assigns one byte (as serial.read()'s only input one byte at a time
        if (inchar != EOPmarker) { //if the incoming character is not the byte that is the incoming package ender
          serialbuf[bufpos] = inchar; //the buffer position in the array get assigned to the current read
          bufpos++; //once that has happend the buffer advances, doing this over and over again until the end of package marker is read.
        }
        else { //once the end of package marker has been read
          serialbuf[bufpos] = 0; //restart the buff
          bufpos = 0; //restart the position of the buff
    
          motionDetection_raw = atoi(subStr(serialbuf, ",", 1));
          accel_X_raw = atoi(subStr(serialbuf, ",", 2));
          accel_Y_raw = atoi(subStr(serialbuf, ",", 3));
          accel_Z_raw = atoi(subStr(serialbuf, ",", 4));
    
          Serial.println();
          Serial.print("md=");
          Serial.print(motionDetection_raw, DEC);
          Serial.print(" x=");
          Serial.print(accel_X_raw, DEC);
          Serial.print(" y=");
          Serial.print(accel_Y_raw, DEC);
          Serial.print(" z=");
          Serial.print(accel_Z_raw, DEC);
          Serial.println();
    
        
    
          
          
          
    
        }
      }
    Спец.функция в главном скетче:
    Код:
    char* subStr (char* input_string, char *separator, int segment_number) {
      char *act, *sub, *ptr;
      static char copy[MAX_STRING_LEN];
      int i;
      strcpy(copy, input_string);
      for (i = 1, act = copy; i <= segment_number; i++, act = NULL) {
        sub = strtok_r(act, separator, &ptr);
        if (sub == NULL) break;
      }
      return sub;
    }

  6.  
  7. #5

    Регистрация
    12.10.2012
    Адрес
    Москва
    Возраст
    23
    Сообщений
    215
    Musgravehill
    Очень интересно, большое спасибо. Вечером буду пробовать

  8. #6

    Регистрация
    11.01.2011
    Адрес
    Ярославль
    Возраст
    31
    Сообщений
    1,618
    При тесте вместо регулятора удобно использовать серву, чтобы не гонять мотор, а просто смотреть на положение качалки.

  9. #7

    Регистрация
    22.03.2005
    Адрес
    Ставрополь
    Возраст
    42
    Сообщений
    675
    Для быстро собрать есть готовая оболочка: http://remotexy.com/ru/
    Ребенок делает лего игрушки, я ему сделал модуль на ардуинке:

    Нажмите на изображение для увеличения
Название: 85.jpg
Просмотров: 24
Размер:	76.5 Кб
ID:	1398717Нажмите на изображение для увеличения
Название: 89.jpg
Просмотров: 21
Размер:	68.8 Кб
ID:	1398718Нажмите на изображение для увеличения
Название: 90.jpg
Просмотров: 14
Размер:	76.7 Кб
ID:	1398719

  10.  
  11. #8

    Регистрация
    02.04.2013
    Адрес
    Екатеринбург
    Возраст
    33
    Сообщений
    3,221
    Цитата Сообщение от l1511 Посмотреть сообщение
    Добрый день.
    А чем отличаются в управлении регулятор хода и сервопривод?
    На многих регуляторах задний ход включается после тормоза. То есть вначале надо затормозить, а после уже ехать назад. Это сделано для сохранения трансмиссии. Если регулятор можно настраивать, то можно поставить режим вперед/назад без тормоза.

+ Ответить в теме

Похожие темы

  1. Arduino для BAIT BOAT...
    от appolinari в разделе Судомодели. Общий
    Ответов: 652
    Последнее сообщение: 18.04.2018, 11:21
  2. Симулятор на arduino nano
    от usup в разделе Симуляторы
    Ответов: 5
    Последнее сообщение: 24.12.2017, 12:18
  3. ArduCopter Mega: порт на обычную Arduino (тестим)
    от Syberian в разделе Коптеры. Комплектующие, сборка, настройка.
    Ответов: 9007
    Последнее сообщение: 06.08.2017, 23:23
  4. Проблема с прошивкой ESC с arduino вместо программатора
    от Artem_F в разделе Мини и гоночные коптеры до 300мм
    Ответов: 1
    Последнее сообщение: 23.05.2017, 21:32
  5. Управление Arduino с помощью 3dr robotics
    от Roboshop72 в разделе Новичкам
    Ответов: 36
    Последнее сообщение: 23.05.2017, 20:32

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения