Подписываемся на VK

Ежедневные новости, видео и приколы...

YouTube канал

Подбор моторов

TOP статьи

Вход




RC Магазины





Для удобства пользования форумом и поиска информации прошу придерживаться правила: 1 тема = 1 вопрос.

К примеру, если обсуждается настройка передатчика, а у вас вопрос про подключение такого же передатчика к симулятору или вопрос про другую модель передатчика - создавайте новую тему. Если вы новичок в авиамоделизме, рекомендуется прочитать статью Новичку и ссылки с нее.

Исключение только в разделе Вопросы и обсуждения по статьям

Как выложить фото, Как опубликовать видео

С уважением,

Константин.

Машинка + аппа HK-T6A

Машинка + аппа HK-T6A

Есть аппа HK-T6A и робот на гусеницах, решил соединить их вместе получив из автономного робота игрушку на РУ.
Робот управлялся с помощью МК Arduino mini (+5V)
Питание на приемник берем с ардуинки, а все каналы, с приемника RC, подключаем к аналоговым входам. Я использовал 2 канала (первый и второй), но можно задействовать все 6.
Ну в принципе и все, залил скетч и она поехала. Только мой скетч для гусениц, так что подправляйте под себя.

Изменено: fortekom
26-05-2017 17:55:44
fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: Машинка + аппа HK-T6A

Скетч :
/*
Пульт HobbyKing HK-T6A V2
*/
// Моторы подключаются к клеммам M1+,M1-,M2+,M2- 
// Motor shield использует четыре контакта 6,5,7,4 для управления моторами
#define SPEED_LEFT       6
#define SPEED_RIGHT      5
#define DIR_LEFT         7
#define DIR_RIGHT        4
// Скорость, с которой мы движемся вперёд (0-255)
#define SPEED            25

const int CH1 = A1; // вперед назад
const int CH2 = A2; // вправо влево

void setup()
{
        pinMode(4, OUTPUT);
        pinMode(5, OUTPUT);
        pinMode(6, OUTPUT);
        pinMode(7, OUTPUT);

  pinMode(CH1, INPUT);
  pinMode(CH2, INPUT);
}

void loop()
{
  int chVal1 = 0;
  int chVal2 = 0;
  int ch1 = 0;
  int ch2 = 0;

  chVal1 = pulseIn(CH2, true, 25000);
  chVal2 = pulseIn(CH1, true, 25000);
  chVal1 = chVal1 / 10; // Округляем
  chVal2 = chVal2 / 10; // Округляем

  if (chVal1 != 0 || chVal2 != 0)
  {
    if (chVal1 > 152)
    {
      ch1=(chVal1-150)*15;
      analogWrite(SPEED_LEFT, ch1);
      analogWrite(SPEED_RIGHT, ch1);
      digitalWrite(DIR_LEFT, LOW);
      digitalWrite(DIR_RIGHT, LOW);
    }
    if (chVal2 > 152)
    {
      ch2=(chVal2-150)*15;
      if (ch2>254) ch2 = 250;
      analogWrite(SPEED_LEFT, (255-ch2));
      analogWrite(SPEED_RIGHT, ch2);
      digitalWrite(DIR_LEFT, HIGH);
      digitalWrite(DIR_RIGHT, LOW);
    }
    if (chVal2 < 149)
    {
      ch2=(chVal2-133)*15;
      analogWrite(SPEED_LEFT, (255-ch2));
      analogWrite(SPEED_RIGHT, ch2);
      digitalWrite(DIR_LEFT, LOW);
      digitalWrite(DIR_RIGHT, HIGH);
    }
    if (chVal1 < 149)
    {
      ch1=(chVal1-133)*15;
      analogWrite(SPEED_LEFT, ch1);
      analogWrite(SPEED_RIGHT, ch1);
      digitalWrite(DIR_LEFT, HIGH);
      digitalWrite(DIR_RIGHT, HIGH);
    }
    if ((chVal1 > 149 && chVal1 < 152)&& (chVal2 > 149 && chVal2 < 152))
    {
      analogWrite(SPEED_LEFT, 0);
      analogWrite(SPEED_RIGHT, 0);
      digitalWrite(DIR_LEFT, 0);
      digitalWrite(DIR_RIGHT, 0);
    }

  }
 
}

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: Машинка + аппа HK-T6A

Использовался МК ардуино мини и драйвер на 2А
Ну и фото :
http://fortekom.users.photofile.ru/photo/fortekom/200965411/219316017.jpg

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: Машинка + аппа HK-T6A

P.S. К МК можно подключить любую аппу

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: Машинка + аппа HK-T6A

fortekom,
Через RC приемник работает или свой аналайзер?

konst
Константин (Москва)
useravatar
Offline
28033 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: Машинка + аппа HK-T6A

konst,
С RC приемника берется сигнальные выходы и подключается к аналоговым входам.
В моем случае подключены только два, но проверял все шесть, и все работали, только у 5 и 6 канала диапазон шире.
http://fortekom.users.photofile.ru/photo/fortekom/200965411/219316167.jpg

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: Машинка + аппа HK-T6A

Вот скетч, для тех кто захочет по тестировать
Разницы нет какой фирмы приемник, смотрите на изменения значений.
Вам понадобятся эти значения для регулирования диапазона работы сервы.
Но помните, если на аппе стояли значения 50% и вы под них настроили, то переведя аппу больше % , то результат будет не предсказуем wink

З.Ы. Чуть не забыл, результат движения стика выводится на экран в этом скетче .

/*
Пульт HobbyKing HK-T6A V2
*/
#include <Serial.h>

const int CH1 = A1; // подключаем первый канал к входу А1

void setup()
{
  pinMode(CH1, INPUT);// задаем А1 на вход
  Serial.begin(9600);
}

void loop()
{
  int chVal = 0;

  chVal = pulseIn(CH1, true, 25000);
  chVal = chVal / 10; // Округляем

  if (chVal != 0)
  {
    Serial.print("chVal = ");
    Serial.println(chVal); // Смотрим изменения значений
  }
}

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: Машинка + аппа HK-T6A

Случайно нашел машинку, вся перемотанная скотчем с отломанным задним мостом. Мост примотал изолентой wink
http://fortekom.users.photofile.ru/photo/fortekom/200965448/219318571.jpg
Электроника не в понятном состоянии, да ладно с ней. Решил подключить к аппе.
Подключил по той же схеме.
http://fortekom.users.photofile.ru/photo/fortekom/200965448/219318572.jpg
Только лишь первый мотор это вперед назад, а второй повороты.
Батарея была разряжена в ноль, но удалось её реанимировать, только на сколько будет хватать пока не знаю.

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: Машинка + аппа HK-T6A

Скетч переделал, вот скетч для 2WD

/*
Пульт HobbyKing HK-T6A V2
*/
// Моторы подключаются к клеммам M1+,M1-,M2+,M2- 
// Motor shield использует четыре контакта 6,5,7,4 для управления моторами
#define M21      6 //мотор 2 +
#define M11      5 //мотор 1 +
#define M20      7 //мотор 2 -
#define M10      4 //мотор 1 -

const int CH1 = A1; // вперед назад
const int CH2 = A2; // вправо влево

void setup()
{
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);

  pinMode(CH1, INPUT);
  pinMode(CH2, INPUT);
  Serial.begin(9600);
}

void loop()
{
  int chVal1 = 0;
  int chVal2 = 0;
  int ch11 = 0;//значение скорости от 0 до 254 для движения
  int ch22 = 0;//значение скорости от 0 до 254 для поворота

  chVal1 = pulseIn(CH2, true, 25000);
  chVal2 = pulseIn(CH1, true, 25000);
//  chVal1 = chVal1 / 3,7; // Округляем , значение влияет на плавность
//  chVal2 = chVal2 / 3,7; // Округляем

  if (chVal1 != 0 || chVal2 != 0)
  {
    if (chVal1 > 1550)
    {
      ch11=(chVal1-1550)*0.93;//результат должен быть от 0 до 254
      if (ch11>254) ch11 = 254;
      analogWrite(M11, ch11);
      digitalWrite(M10, LOW);
    }
    if (chVal2 > 1550)
    {
      ch22=(chVal2-1550)*0.82;
      if (ch22>254) ch22 = 254;
      analogWrite(M21, ch22);
      digitalWrite(M20, LOW);
    }
    if (chVal2 < 1450)
    {
      ch22=(chVal2-1150)*0.85;
      if (ch22<0) ch22 = 0;
      analogWrite(M21, ch22);
      digitalWrite(M20, HIGH);
    }
    if (chVal1 < 1450)
    {
      ch11=(chVal1-1210)*1.06;
      if (ch11<0) ch11 = 0;
      analogWrite(M11, ch11);
      digitalWrite(M10, HIGH);
    }
    if ((chVal1 > 1450 && chVal1 < 1550)&& (chVal2 > 1450 && chVal2 < 1550))
    {
      analogWrite(M11, 0);
      analogWrite(M21, 0);
      digitalWrite(M20, 0);
      digitalWrite(M10, 0);
    }
    Serial.print("chVal1 = ");
    Serial.print(chVal1); // Смотрим изменения значений
    Serial.print(" chVal2 = ");
    Serial.print(chVal2); // Смотрим изменения значений
    Serial.print("ch11 = ");
    Serial.print(ch11); // Смотрим изменения значений
    Serial.print(" ch22 = ");
    Serial.println(ch22); // Смотрим изменения значений

  }
 
}

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
9948
Всего опросов:
79
Всего сообщений:
183174
Сообщений на этой неделе:
31
Пользователи форума:
 
Всего пользователей:
10173
Последним зарегистрировался:
urus_vp
Пользователи онлайн:
0
Гостей онлайн:
1114

Самые активные пользователи: 
konst, carpenter, kompmen, cnyx, Dragony, maks_dg, Goby, Student, alldn, nikolaypet
Онлайн: 
Нет пользователей онлайн
Последние сообщения форумаПоследние созданные темы
1) Полетник Matek MATEKSYS F405-SE не выдает сигнал на Vbat
2) Чертежи плосколетов
3) Акб для Pilotage Junior Fighter
4) DroneDrive - ModelDrive
5) Гироскопический момент
6) Стабильность полета крыла без вертикальных стабилизаторов
7) Подскажите, подойдет ли пульт от коптера для самолета?
8) Чертежи скоростных авиамоделей
9) Крыло без элеронов, но с 2Д поворотом мотора
10) Чертежи планеров и мотопланеров
1) Полетник Matek MATEKSYS F405-SE не выдает сигнал на Vbat
2) Акб для Pilotage Junior Fighter
3) Подскажите, подойдет ли пульт от коптера для самолета?
4) Чертежи скоростных авиамоделей - радиоуправляемые самолеты для скоростных полетов
5) Гироскопический момент
6) Стабильность полета крыла без вертикальных стабилизаторов - а так можно?
7) Здравствуйте, вопрос про настройку пульта.
8) DroneDrive - ModelDrive - Техническая секция для детей (авто/авиа/дроны)
9) Крыло без элеронов, но с 2Д поворотом мотора - Хочу сделать такое, и хотел бы почитать кто уже такое делал
10) Требуются программисты и мастера. - Поиск умельцев.