Для удобства пользования форумом и поиска информации прошу придерживаться правила: 1 тема = 1 вопрос.
К примеру, если обсуждается настройка передатчика, а у вас вопрос про подключение такого же передатчика к симулятору или вопрос про другую модель передатчика - создавайте новую тему. Если вы новичок в авиамоделизме, рекомендуется прочитать статью Новичку и ссылки с нее.
Исключение только в разделе Вопросы и обсуждения по статьям
Как выложить фото, Как опубликовать видео
С уважением,
Константин.
- Начало
- » Не летающие модели
- » Автомодели
- » Машинка + аппа HK-T6A
Машинка + аппа HK-T6A
Машинка + аппа HK-T6A
Есть аппа HK-T6A и робот на гусеницах, решил соединить их вместе получив из автономного робота игрушку на РУ.
Робот управлялся с помощью МК Arduino mini (+5V)
Питание на приемник берем с ардуинки, а все каналы, с приемника RC, подключаем к аналоговым входам. Я использовал 2 канала (первый и второй), но можно задействовать все 6.
Ну в принципе и все, залил скетч и она поехала. Только мой скетч для гусениц, так что подправляйте под себя.
26-05-2017 17:55:44
- fortekom
- Владимир (СПБ)
- Пилот
- 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
- Владимир (СПБ)
- Пилот
- 621 Сообщений
-
- fortekom
- Владимир (СПБ)
- Пилот
- 621 Сообщений
-
Re: Машинка + аппа HK-T6A
P.S. К МК можно подключить любую аппу
- fortekom
- Владимир (СПБ)
- Пилот
- 621 Сообщений
-
Re: Машинка + аппа HK-T6A
fortekom,
Через RC приемник работает или свой аналайзер?
- konst
- Константин (Москва)
- 28033 Сообщений
-
- fortekom
- Владимир (СПБ)
- Пилот
- 621 Сообщений
-
Re: Машинка + аппа HK-T6A
Вот скетч, для тех кто захочет по тестировать
Разницы нет какой фирмы приемник, смотрите на изменения значений.
Вам понадобятся эти значения для регулирования диапазона работы сервы.
Но помните, если на аппе стояли значения 50% и вы под них настроили, то переведя аппу больше % , то результат будет не предсказуем
З.Ы. Чуть не забыл, результат движения стика выводится на экран в этом скетче .
/*
Пульт 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
- Владимир (СПБ)
- Пилот
- 621 Сообщений
-
Re: Машинка + аппа HK-T6A
Случайно нашел машинку, вся перемотанная скотчем с отломанным задним мостом. Мост примотал изолентой
Электроника не в понятном состоянии, да ладно с ней. Решил подключить к аппе.
Подключил по той же схеме.
Только лишь первый мотор это вперед назад, а второй повороты.
Батарея была разряжена в ноль, но удалось её реанимировать, только на сколько будет хватать пока не знаю.
- fortekom
- Владимир (СПБ)
- Пилот
- 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
- Владимир (СПБ)
- Пилот
- 621 Сообщений
-
- Начало
- » Не летающие модели
- » Автомодели
- » Машинка + аппа HK-T6A
Информация
- Статистика форума:
- Всего тем:
- 9948
- Всего опросов:
- 79
- Всего сообщений:
- 183174
- Сообщений на этой неделе:
- 20
- Пользователи форума:
- Всего пользователей:
- 10173
- Последним зарегистрировался:
- urus_vp
- Пользователи онлайн:
- 0
- Гостей онлайн:
- 482
- Самые активные пользователи:
- konst, carpenter, kompmen, cnyx, Dragony, maks_dg, Goby, Student, alldn, nikolaypet
- Онлайн:
- Нет пользователей онлайн