Аппаратура Radiolink AT 9 2,4 ГГц

cfero

А 137 отзывов о товаре по вашей ссылке чем не устроили?

ka103
Patter:

Вроде, самый мелкий для AT9

У меня такой есть, работает нормально, в городе связь теряется на расстоянии около 450 метров.

SrgM
SkyPlayer:

Автоматическое усилением микрофона выключили

Выключил, все равно стики скачут как хотят.

SkyPlayer:

дешевле сделать “свисток” самому на базе arduino ATmega32U4

Дешевле, не спорю, вот тут даже описано как это делается, я это видел. Дело в другом, я очень далек от программирования и совсем не знаком с ардуино. Поэтому даже такая простая, на ваш взгляд процедура, как

WizardRND:
  1. качаем вот тут скетч “джойстик-интерпретатора”, которому понадобится библиотека Joystick вот отсюда
  2. Качаем и ставим ардуину
  3. Открываес скетч в Arduino IDE, указываем “Инструменты - Плата - Arduino Leonardo”, подключаем библиотеку, проверяем, что всё компилится. Дальше внимательно смотрим на текст скетча - он очень простенький и наглядный, как переделать его под другое число каналов - понять несложно. Вот так я переделал под свою AT9 c учётом того, как у меня привязаны к тумблерам каналы 5-10:
    Код:
    #include <HID.h>

// PPM_Joystick.ino - Converter of PPM sygnal to USB joystick controls.
//
// PPM pulse train:
// __ ___________________________________ _____ ____ _______ ___ //___ __________ __ HIGH
// |_| Sync pulse > 3000 us |_| |_| |_| |_| // |_| |_|
// Channel pulse 1000 to 2000 us LOW
// Pulse start and end on falling edge. The end of one pulse is the begining of next.

// The code uses Jystick library from github.com/MHeironimus/ArduinoJoystickLibrary/
#include <Joystick.h>

unsigned long curTime = 0;
unsigned long oldTime = 1;
volatile int pulseLength = 0;
volatile int channel = 0;

// Pulse timing interupt routine.
void ISR1()
{
curTime = micros();
pulseLength = curTime - oldTime;
oldTime = curTime;

if (pulseLength > 3000) {
channel = 0;
Joystick.sendState();
} else {
channel++;
setChannel(channel, pulseLength);
}
}

// The function converts length of the pulse
// to USB joystick control value.
void setChannel(int ch, int pulse)
{
// Processing pulses with length 800 - 2200 mks.
float value = (pulse - 800) / 1400.0;

if (value < 0)
value = 0;
else if (value > 1.0)
value = 1.0;

switch(ch) {
case 1:
Joystick.setXAxis(value*255 - 127);
break;

case 2:
Joystick.setYAxis(value*255 - 127);
break;

case 3:
Joystick.setZAxis(value*255 - 127);
break;

case 4:
Joystick.setXAxisRotation(value*360);
break;

case 5:
Joystick.setYAxisRotation(value*360);
break;

case 6:
Joystick.setButton(1, (int)(value+0.5));
break;

case 7:
Joystick.setZAxisRotation(value*360);
break;

case 8:
Joystick.setButton(2, (int)(value+0.5));
break;

case 9:
Joystick.setButton(3, (int)(value+0.5));
break;

case 10:
Joystick.setButton(4, (int)(value+0.5));
break;
}
}

void setup()
{
Joystick.begin(false);
attachInterrupt(0, ISR1, FALLING);
}

void loop()
{
// Place your debug code here…
delay(100);
}
5) компилим скетч и заливаем в платку

для меня лес густой… Я больше по железкам…

Поэтому при прочих равных желательнее готовое решение, пусть и только под эту аппу. Вот на днях знакомый отрекомендовал еще один шнурок 22-в-1, по картинкам этого шнурка вижу, что к него есть переключатель на 4 режима, а вы ранее как раз указывали о четырех позициях для переключения каналов

SkyPlayer:

готовый “свисток”, то такой, который понимает не менее 10 каналов PPM (такие обычно переключаемые 6-8-12-16)

Вы случаем не в курсе именно этот кабель будет работать?

MFer
Patter:

Всем привет. Есть отзывы пользователей по ЭТОМУ приемнику? Вроде, самый мелкий для AT9, который работает по SBUS?

Отличный приемник для мелколетов, 100-200 метров великолепно держат…

Kraj44

“”" Поэтому при прочих равных желательнее готовое решение, пусть и только под эту аппу. Вот на днях знакомый отрекомендовал еще один шнурок 22-в-1, по картинкам этого шнурка вижу, что к него есть переключатель на 4 режима, а вы ранее как раз указывали о четырех позициях для переключения каналов “”"

Приобретал конкретно данный набор… У меня заработал сразу. Проблем не наблюдал.

SkyPlayer
Patter:

Есть отзывы пользователей по ЭТОМУ приемнику?

Чутьё такое же, как и у всех 6-рок - то есть откровенно хуже 9-ток (раза так в 2-3 по дальности), поэтому дла 200-250 класса в городских условиях не рекомендую, ибо чревато внезапыми отвалами связи вблизи “букетов” сотовых станций или какой-нибудь FM-вещалки.

Patter:

Вроде, самый мелкий для AT9, который работает по SBUS?

Да, мелкий и лёгкий, потому использую сугубо на “мухолётном” классе “от 100 и ниже”.

SrgM:

для меня лес густой…

Чуть внимательнее посмотреть вами же отцитированное (злостный и бессмысленный оверквотинг, кстати) - не судьба? Там же тупо видны обработчики значения (value) каждого канала, а прямо перед ними - “формула”, из которой видно, что value меняется от 0 до 1. Если ЭТО сложно для вашего понимания - даже не знаю, как вы собираетесь, к примеру полётник настраивать или парметры в том же симуляторе?

SrgM:

Вы случаем не в курсе именно этот кабель будет работать?

С чего бы мне быть в курсе всех этих поделок, если у меня есть прекрасно работающий самодельный “радиосвисток”? Покупайте, тратьте деньги, время на пересылку, пробуйте - раз уж не можете разобраться в гарантированно работающем решении.

Kraj44:

вижу, что к него есть переключатель на 4 режима, а вы ранее как раз указывали о четырех позициях для переключения каналов

Судя по наклейке, там даже 5-позиционный переключатель. Но на наклейке перечислены СИМУЛЯТОРЫ, под которые нужно ставить переключатель в соответствующую позицию. Так что что он там переключает - одним китайским прошивкописателям известно, может, просто изменяет набор обработчиков каждого из каналов. В общем, опять же - покупать да пробовать с аппой. Если повезло - то радостно отписаться тут. Если не повезло - обругать “здешних советчиков”, как выше.

Но ни в коем случае не нужно делать самому на атмеге то, что будет работать именно так, как вам требуется - ибо “прошивку” вы составили САМИ и имеете возможность её ПОДПРАВИТЬ так как вам хочется под нужды ЛЮБОГО симулятора (а по моему опыту у них могут быть разные “причуды” - одним нужны одни “оси джойстика”, другим - другие, из-за чего приходилось переделывать обработчики)!

vetal2491

Всем привет!
Купил эту аппаратурку на али с приемником r9ds. Сегодня испытал. на 600 метрах примерно начались подвисания в управлении. на 750 м квадрик упал. Что за фигня? где 1,5 км в стоке? может подделка?
Купил на замену flysky i6. Там на 400 м ловил файлсейв. Тут думал 1 км спокойно выдержит, но нет…

konstantin_sakryukin

Доброго здоровья!
Поясните пожалуйста, что такое servo anti-shake rudder в приёмниках R9D/DS и в аппаратуре AT9?
Гугл ничего внятного на родном (русском) языке не даёт, только язык супостата три…ого 😃!

MFer
vetal2491:

на 600 метрах примерно начались подвисания в управлении.

в подземке летали? около кремля? или в лесу между деревьев?

vetal2491:

на 750 м квадрик упал.

а че упал-то? может мотор погорел?

vetal2491

летал в поле над деревьями высоко. упал, т.к потеря связи!!! ничего не погорело. нашёл - опять полетел =)

возле мкада

kaos
vetal2491:

летал в поле над деревьями высоко. упал, т.к потеря связи!!! ничего не погорело. нашёл - опять полетел =)

возле мкада

Штоп не упал есть фейлсейф.

vetal2491

у меня жпс не стоит! это гоночный квадрик 210 размера! вопрос в другом. почему так рано связь отвалилась? на ютубе смотрел обзоры - в стоке чуть ли не 2 км! а у меня 700 метров всего! у кого сколько по расстоянию?

SkyPlayer
vetal2491:

вопрос в другом. почему так рано связь отвалилась?

Такое слово как “радиопомехи” вам известно? Они бывают, например, промышленные от близлежащего “свечного заводика” или от вышеупомянутых “кустов” БС-ок, а ещё от пригоршни вайфаев в близлежащем коттеджном посёлке. Обратили бы внимание ГДЕ (то есть в каких “глухих лугах”) тестят аппу на дальность. А так, конечно, “все врут - адназначна!” 😁

SkyPlayer
SrgM:

для меня лес густой… Я больше по железкам…

Попробую растолковать для “не специалиста”. Из всего текста скетча вас должна интересовать функция

// The function converts length of the pulse
// to USB joystick control value.
void setChannel(int ch, int pulse)

(легко догадаться, там даже комментарий надписан - что она, мол конвертирует длительность импульса PPM соответствующего канала в какое-то телодвижение USB-джойстика). “Тело” этой функции идёт от открывающейся фигурной скобки под её названием до соответствующей закрывающейся фигурной скобки (вы при цитировании угробили табуляции, посмотрите в исходном сообщении - там всё выровнено “ступенечками” и потому наглядно). Сначала идёт перевод длительности импульса (от 800 до 2200 мкс) в более удобный диапазон от 0 до 1, значение запоминается в переменной с плавающей (float) точкой value

// Processing pulses with length 800 - 2200 mks.
float value = (pulse - 800) / 1400.0;

Дальше отрабатывается случай, если по факту значения были меньше 800 или больше 2200 - и значение value окажется меньше 0 или больше 1

if (value < 0)
value = 0;
else
if (value > 1.0)
value = 1.0;

Ну и после всего этого осталось перевести значение value в положения стиков джойстика (они должны быть в пределах от -127 до 127)

Joystick.setXAxis(value*255 - 127);

крутилок джойстика (от 0 до 360 “градусов”)

Joystick.setXAxisRotation(value*360);

или имитации нажатий кнопок джойстика (первый параметр - номер кнопки, второй - значение, которое должно быть 0 = “отжата” или 1 = “нажата”)

Joystick.setButton(1, (int)(value+0.5));

в последнем случае маленькая “программная хитрость” - когда число с “плавающей точкой” переводится в целое (int), то дробная часть просто отбрасывается, а поскольку (value+0.5) будет принимать значения от 0.5 до 1.5, то после отбрасывания дробной части как раз и получится 0 или 1 с границей переключения на 1500 мкс (если не забыли, у нас value = 0 соответствует 800 мкс, а value = 1 соответствует 2200 мкс, соответственно, value = 0.5 будет соответствовать 1500 мкс).

Все возможные “крутилки-переключалки” описаны на странице проекта - можете “переопределить” обработчики каналов на свой вкус (то, о чём я писал выше). Обратите внимание, ссылка отличается от той, что вы находили выше по теме. Дело в том, что проект Arduino Joystick Library развился уже до версии 2.0, где можно менять количество кнопок и задавать диапазоны “крутилок” - но вам это лишние сложности, так что берите версию 1.0.1 по моей ссылке - там всё проще. 😃

RA4CTB

Вот, кстати, описание ещё одного проекта, заточенного под адаптер PPM-to-USB. Я делал именно по нему — «летается» замечательно.

ka103

А вот  еще вариант, присланный мне Семёном Кашпо (Patter), за что ему большое спасибо!

SkyPlayer
ka103:

А вот еще вариант

Проктологически-костыльный способ 😁 Хотя, конечно, работать будет - с потерей половины каналов.
Я “летаю” в симах ровно на том же профиле, что и на реальном дроне. И дпже по возможности переключения полётных режимов и т.п. в симе настраиваю на те же тумблеры, что и в реале.

RA4CTB

Ух ты, вот это костыли )))
Не, проще и правильнее скетч под себя и аппаратуру скорректировать.

Harvester

Товарищи, сегодня получил приемыш R9DS, версии 1.3, валяется один старый, версии 1.2, кто знает в чем разница? Визуально только заметил пока отличие в оформлении обозначений и антенна к плате не припаяна, как на 1.2 версии, а посажена на коннектор.

konstantin_sakryukin
Harvester:

антенна к плате не припаяна, как на 1.2 версии, а посажена на коннектор

Да это и не отличие вовсе, т.к. см. изобр. ниже.

RA4CTB
Harvester:

…кто знает в чем разница…

— Тимур, так у Вас обе версии на руках. Снимите корпуса и посмотрите, заодно нам расскажите. А если сфотографируете, так вообще здорово будет. 😉