Аппаратура Radiolink AT 9 2,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:

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

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

kriuk
vetal2491:

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

Пробовал с проверкой на сервах. Высота приемника - 8 этаж, я на земле. Потеря связи на двух км. На последних 300м катеджная застройка без прямойвидимостм. Все штатное. На квадрике, если поднять на высоту 100м , я думаю все 3км пробъет. Учтите, что в тесте нет видеопередатчика.

mfilitovich
kriuk:

Учтите, что в тесте нет видеопередатчика.

Это очень важный момент.

SrgM
SkyPlayer:

Попробую растолковать для “не специалиста”

Большое вам спасибо за разъяснения! Теперь стало понятнее что к чему. Заказал Леонардо, пока идет хотел бы прояснить некоторые пробелы в понимании процесса.

1. Вот в вашем коде есть параметр case от 1 до 10. Как я понял, это номера каналов управления.
В первых трех идет обработчик с просчетом положения стика (value*255 - 127)

SrgM:

Joystick.setXAxis(value*255 - 127);

а в четвертом уже другой, как я понял из вашего предыдущего разъяснения, это обработчик для крутилок, так как у него положение расчитывается на 360 градусов (value*360)

SrgM:

Joystick.setXAxisRotation(value*360)

То есть первые три канала - это стики, а четвертый - это крутилка?

2. Речь идет о двухпозиционных переключателях, верно?

SkyPlayer:

имитации нажатий кнопок джойстика (первый параметр - номер кнопки, второй - значение, которое должно быть 0 = “отжата” или 1 = “нажата”)
Joystick.setButton(1, (int)(value+0.5));

А для 3-х позиционных используют эту же функцию? Если да, то “программная хитрость” там другая для просчета должна быть, не поделитесь?

3. Еще момент: конкретно в FPV Freerider на калибровке можно использовать и откалибровать только положения стиков управления, то есть только 4 канала. Остальные каналы аппы хоть и есть, то есть видны внизу, но использовать их нельзя. А что в других коптерных симуляторах можно привязать больше 4-х каналов?

SkyPlayer
SrgM:

То есть первые три канала - это стики, а четвертый - это крутилка?

Посмотрите список функций библиотеки джойстика - мы можем использовать только их. Там 3 функции “осей”, 3 функции “крутилок”, газ, руль и кнопки. Симулятору пофигу - “ось” или “крутилка”, он её интерпретирует просто как “канал”, от минимального до максимального его положения. В принципе, вы можете использовать “газ” и “руль”, но, по моему опыту, некоторые симуляторы их “не видят”. А вот “оси”, “крутилки” и “кнопки” - видят все, потому скрипт использует именно эти функции.

SrgM:

А для 3-х позиционных используют эту же функцию? Если да, то “программная хитрость” там другая для просчета должна быть, не поделитесь?

Функции без разницы - чем вы там на аппе установили то или иное значение канала (по проводу или с выхода приёмника). Указанная функция делает “кнопку” нажатой если уровень в канале больше середины и отжатой - если меньше. Для 3-позиционного переключателя вы можете сделать что хотите:

  • изменить конечными точками границы изменения данного канала так, чтобы среднее положение попадало в “выше середины” или “ниже середины”, то есть сделать из 3-позиционного переключателя 2-позиционный
  • написать чуть более хитрый обработчик, который понимал бы “нижнее”, “среднее” и “верхнее” состояния канала и, к примеру, включал бы 2 разные “кнопки”. Там же простая “арифметика” типа
if(value > 0.333)
{
    if(value > 0.666)
    {
        Joystick.setButton(1, 1);
        Joystick.setButton(2, 0);
    }
    else
    {
        Joystick.setButton(1, 0);
        Joystick.setButton(2, 1);
    }
}
else
{
    Joystick.setButton(1, 0);
    Joystick.setButton(2, 0);
}
  • разобраться как работает библиотечная функция setHatSwitch (я с ней не разбирался, но это имитация “грибка под палец” - типа “примитивного джойстика” на 9 положений: в стороны, по диагонали и центральное) и, соответственно, попытаться изобразить 3-позиционник этим инструментом. Другой вопрос - поймёт ли эту экзотику симулятор. 😃
SrgM:

А что в других коптерных симуляторах можно привязать больше 4-х каналов?

Да, в LiftOff, например, можно ещё кнопки использовать - для переключения полётного режима, “сброса” после крэша и т.п. А ещё в каком-то (то ли в HotProps то ли в DRL) угол наклона камеры можно менять только через “канал-крутилку” - я там слайдер аппы для такой экзотики использовал.

Саригор
konstantin_sakryukin:

Есть ли другие характерные отличия АТ9 и АТ9S, кроме надписи?

Присоединяюсь к вопросу, в чем их разница?