Подписываемся на 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
28021 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

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 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
9977
Всего опросов:
79
Всего сообщений:
183094
Сообщений на этой неделе:
6
Пользователи форума:
 
Всего пользователей:
10115
Последним зарегистрировался:
kleshnyamaster
Пользователи онлайн:
0
Гостей онлайн:
315

Самые активные пользователи: 
konst, carpenter, kompmen, cnyx, Dragony, maks_dg, Goby, Student, alldn, nikolaypet
Онлайн: 
Нет пользователей онлайн
Последние сообщения форумаПоследние созданные темы
1) Помощь с пультом flysky fs-i6s
2) Нет реакции в INAV на пульт TARANIS Q7
3) Постройка крыла для FPV
4) Гранулятор комбикорма
5) Токарник для моделиста
6) Расчет фюзеляжа
7) Модель с ДВС. Проектируем и строим
8) МИГ 3 с размазом 1300мм
9) Питание борта за 15 минут на кренке 7805
10) Аппа "Wensheng WS 6" нужна помощь
1) Помощь с пультом flysky fs-i6s - Не работает тачскрин
2) Нет реакции в INAV на пульт TARANIS Q7 - Нет реакции в INAV на пульт TARANIS Q7
3) Гранулятор комбикорма
4) МИГ 3 с размазом 1300мм - У Юлиуса Перданы больше интересных для меня моделей пока нет
5) Аппа "Wensheng WS 6" нужна помощь - Нужна помощь по аппаратуре управления
6) Расчет эффективного пропеллера вертолета, самолета - Как сделать пропеллер эффективным
7) Аккумуляторная батарея LiPo HRB 14,8 4S 2200mA/h
8) На что заменить полетник на Iflight Protek25 - сгорел полетник. ищу замену
9) Зажигание на датчике холла
10) Сервомотор ведет себя не адекватно - элероны