Игровой оффлайн клуб для школьников
Долго готовился и вот, наконец, открыл игровой оффлайн клуб для школьников. Идея предельно проста: меньше залипать в смартфоне, больше времени проводить в компании сверстников.
В клубе предусмотрено 3 типа игр: собственно гонки на скоростном треке, гонки на треке с препятствиями и игры-квесты. Самым интересным типом, безусловно, являются игры-квесты.
Благодаря технологии FPV у школьников есть возможность играть за свою машинку-персонажа от первого лица. Такой формат позволяет глубже погрузиться в игру и пережить настоящие эмоции.
На данный момент из игр-квестов разработано три игры со своими правилами и игровой средой. Это: "Конвоиры", "Зомбилэнд" и "Лабиринт".
В игре "Конвоиры" двум командам нужно отыскать машинку-разведчика. Только первая команда должна сопроводить разведчика до контрольной точки, а вторая - помешать разведчику добраться до этой точки.
В игре "Зомбилэнд", как в одном из уровней игры "Carmageddon", участникам необходимо отыскать и сбить как можно больше фигурок-зомби за ограниченный промежуток времени.
В игре "Лабиринт" одна команда ищет выход из лабиринта, другая - пытается помешать первой. Для победы первой команды достаточно, чтобы хотя бы два игрока за ограниченный промежуток времени добрались до выхода.
Ответ Probel.kam в «Твоё тепло»2
Сейчас игра есть FPV KamikaZe Drone. В раннем доступе на стим есть, всего 300 рублей, есть на торрент.
FPV Kamikaze Drone — это захватывающая игра в экшн-стиле, погружающая вас в войну с использованием дронов. Игроку предстоит мастерски маневрировать среди препятствий на поле боя, избегая огня противника и одновременно целеустремленно двигаясь к своим целям. Можно подключать настоящие джойстики даже. Вот что пишут создатели ---> Улучшение поддержки контроллеров DJI FPV Remote Controller и TBS Tango в FPV Kamikaze Drone https://store.steampowered.com/app/2707940
Мы получили для тестирования контроллеры DJI FPV Remote Controller 3 и TBS Tango 2 V4. С первоначальными настройками управление было фактически невозможно - раскладка кнопок и осей была перепутана настолько, что играть было очень сложно. Однако основная проблема заключалась в отсутствии возможности удалить привязки кнопок и осей к действиям в игре.
Мы добавили эту функцию, а также реализовали удобную возможность массового удаления всех привязок. Теперь настройка этих контроллеров значительно упростилась, и летать стало комфортно.
FrSKY R9 Slim+ OTA, Analog RSSI, подключение, перераспределение ресурсов
Доброго времени суток, пикабушники, любители дронов и просто любители технопорно. В этом посте пойдёт речь о приёмнике для FPV изделия R9 Slim+ OTA, а именно о том как его подключить к полётнику на примере SoloGood F405 V4. Сразу скажу, хорошо подумайте перед покупкой R9, во-первых, необоснованно дорого, во-вторых, ресурсозатратно с точки зрения подключения к полётнику. Нужно два отдельных UART, для приёма данных и отправки телеметрии. Ну, а если вы уже счастливый обладатель этого девайса, то надеюсь, мой пост вам чем-нибудь поможет.
Приёмник у нас имеет два разъёма подключения CON1 и CON2, мы будем использовать CON1. Приемник поддерживает двунаправленные протоколы SBUS и S.Port. Если подключать напрямую к UART-ам микроконтроллера, то нам потребуется инвертировать сигнал для подключения к полётнику на базе F405, однако приёмник уже имеет выводы TX1, RX1 специально для такого случая (нет инвертора на плате полётника, нет отдельной платы инвертора, полётник не на базе F7, H7). Варианты подключения могут быть такими:
1) Подключить только SBUS. Так мы сможем управлять дроном без телеметрии.
2) Подключить S.Port и SBUS, так мы сможем получить телеметрию на свой пульт. Но в этом случае сигнал RSSI мы будем получать на пульт и отправлять обратно на приёмник коптера для отображения через OSD, занимая один из каналов управления.
3) Подключить S.Port, SBUS, и аналоговый RSSI выход. RSSI сразу будет отображаться через OSD, минуя путь до пульта и обратно к дрону.
SBUS IN мы подключать не будем, так как он используется в качестве входа телеметрии с резервного приёмника.
Пойдём по третьему пути, так как он геморройный и на нашем полётнике нет аналогового RSSI входа. Ток и напряжение батки есть, а RSSI разработчики зажали.
Посмотрим теперь на наш полётник.
Можно отметить наличие отдельной площадки SBUS. Рядом находится UART2 и UART3 (площадки TXn, RXn, где n - номер UART). Подключим к этой периферии микроконтроллера наш приёмник.
От площадки SBUS идёт дорожка на инвертор, собранный на N-канальном MOSFET-е. Выход инвертора соединён с площадкой RX2 и ногой микроконтроллера UART2 RX.
Имея вышеперечисленные входные данные, приступим к ремапингу аналогового входа АЦП для RSSI на свободную площадку полётника, но не на абы на какую. Для начала определимся с подключением приёмника по SBUS и S.Port. Так как на плате мы уже имеем инвертор, то вывод SBUS OUT приёмника можем соединить с площадкой SBUS полётника, заняв тем самым RX2. Для S.Port нам так же нужен инвертор, которого нет на плате полётника, но у нас есть инвертированный вход RX1 на плате приёмника. Соединяем RX1 пин приёмника с площадкой TX3 полётника, занимая UART3 TX. Подключаем питание 4V5 и GND.
Теперь посмотрим занятые ресурсы в консоли BetaFlight конфигуратора. Нужные нам строчки:
resource ADC_BATT 1 C01
resource ADC_RSSI 1 C02
resource ADC_CURR 1 C03
resource PINIO 1 C02
Это означает, что используется ADC1 на порту C и пинах PC1, PC3. Звякнем мультиметром PC3 (11 нога контроллера) на площадку CUR. Да звониться, также звониться и PC1 на BAT через делитель напряжения (2 резистора и сглаживающий конденсатор).
C02 на нашем полётнике переназначен и управляет включением выключением DC-DC на 10V, его выход обозначен 10-SW, отдельно пин IO не выведен на площадки. В противном случае мы бы могли перерезать дорожку управления DC-DC, повесить её на шину 3V3, и тогда DC-DC у нас бы был всегда включен, а площадку IO можно было бы использовать для RSSI, но не судьба.
Займёмся ремапингом аналогового входа АЦП. Для того того, чтобы понять что дальше будет происходить, я настоятельно рекомендую поставить программу STM32CubeMX для разработчиков принципиальных схем и прошивок. Данный софт вам поможет наглядно и быстро разобраться с тем, куда что можно подключить, а что нельзя. Конечно, можно использовать datasheet на микроконтроллер, но будет не так оперативно.
И так, скачали, установили, запускаем. Выбираем селектор микроконтроллеров.
Здесь в строке партийника вбиваем наш камень и выбираем в таблице поиска.
Сделаем отметку для себя задействованных ресурсов, заодно посмотрим номера каналов АЦП. Кликнем по пинам PC1 и PC3 и назначим их как входы ADC1, заняв каналы IN11 и IN13.
При назначении ножки под RSSI не должно быть пересечения с уже выбранными каналами в пределах одного АЦП. После подключения приёмника у нас остались свободными выводы UART2 TX и UART3 RX. Смотрим ресурсы, относящиеся к UART:
resource SERIAL_TX 1 B06
resource SERIAL_TX 2 A02
resource SERIAL_TX 3 B10
resource SERIAL_TX 4 A00
resource SERIAL_TX 5 C12
resource SERIAL_TX 6 C06
resource SERIAL_RX 1 B07
resource SERIAL_RX 2 A03
resource SERIAL_RX 3 B11
resource SERIAL_RX 4 A01
resource SERIAL_RX 5 D02
resource SERIAL_RX 6 C07
Нас интересует A02 - PA2, A03 - PA3, B10 - PB10, B11 - PB11. И только PA2 и PA3 можно использовать в качестве входов ADC1 с каналами 2 и 3 соответственно. PA3 у нас занят SBUS, остаётся PA2.
В командной строке BetaFlight пишем:
#освобождаем ресурс
resource SERIAL_TX 2 NONE
#назначаем
resource ADC_RSSI 1 A02
#сохраняем
save
Теперь можно проверить работу АЦП для этого нам понадобится потенциометр сопротивлением желательно больше чем 1кОм (10кОм - оптимально). Крайние выводы нужно запаять к GND и к 3V3, средний вывод к TX2. 3V3 можно взять с питания микроконтроллера. Выводы питания можно посмотреть в STM32CubeMX. Паяться к ногам контроллера не советую, рядом с выводами питания стоят конденсаторы, можно аккуратно подпаяться тонким проводом к ним или к LDO преобразователю напряжения (оптимальный вариант), который формирует 3,3В. В BetaFlight ставим галочку использования аналогового RSSI. Вращая ручку потенциометра, наблюдаем, как изменяются показания RSSI от 0 до 100.
Подсоединяем RSSI OUT приёмника к TX2 полётника.
С подключением закончили. Настройка в BetaFlight UART-ов стандартная. Дальше биндим и идём летать.
Ещё вариант подключения если у вас нет инвертора на плате полётника для SBUS. На своём полётнике я отключу его физически, выпаяв резистор из стоковой цепи MOSFET (точнее сдвинув с одного пада), таким образом инвертор не будет оказывать влияния на вход RX2 полётника.
Используем RX2 для ADC RSSI. В консоли пишем:
resource SERIAL_RX 2 NONE
resource ADC_RSSI 1 A03
save
TX2 используем для передачи телеметрии (S.Port), соединяем его с RX1 приёмника.
RX3 используем для приёма сигналов управления (SBUS), соединяем его с TX1 приёмника.
В настройках BetaFlight проставляем настройки для UART2 и UART3.
Всем хороших полётов и мягких посадок.