Импровизированный MCP на Arduino за пару вечеров. — «Железные» кокпиты

On 10/17/2021 at 3:27 PM, JBL said:

Кто-нибудь летает в MSFS 2020? Странное дело — значения в самолете и на MAX7219 разные. Причем в один день разница может быть пару единиц, в другой — больше десятка. Наблюдается такое за высотой, курсом и мощностью движка в джете.

Я после первоначального «Ууу!!!» MSFS2020 забросил, поскольку лайнеров нормальных пока нет, да и косяков все еще выше крыши. Вот PMDG скоро выйдет, тогда и займемся. Железо- в готовности…

737_Full_1.jpg

737_Full_2.jpg

737_Full_3.jpg

2 минуты назад, sergeype пишет:

Я после первоначального «Ууу!!!» MSFS2020 забросил, поскольку лайнеров нормальных пока нет, да и косяков все еще выше крыши. Вот PMDG скоро выйдет, тогда и займемся. Железо- в готовности…

Впечатляет!!! 

У меня поскромнее будет. Жду посылку с кнопками KD2-22, буду делать универсальный пульт. Пусть не так аутентично, зато дешевле и практично. 

Лайнеры пока еще не понял. Максимум — cj4. Хотя подозреваю, что разница не очень большая.  

14 минут назад, sergeype пишет:

Железо- в готовности…

Основной блок уже появлялся здесь. А из чего сделаны FMC, оверхед и пульт COM/NAV? FMC смотрится как покупная, остальные самостоятельной сборки?

fmc.jpg

nav_com.jpg

overhead.jpg


Edited by JBL

FMC (CDU)- действительно, покупная,  от cockpit-master.com (подключение- только USB, без необходимости отдельно вытаскивать картинку на экран через видеовыход). Правда, стОит, как чугунный мост…

Оверхед- фотки с потрохами есть на предыдущей странице. Радиоблок- тоже самодельный, с панелью от hispapanels, как и MCP; там все радио, включая ADF и транспондер. И все тот же Мобифлайт.

39 минут назад, sergeype пишет:

Оверхед- фотки с потрохами есть на предыдущей странице. Радиоблок- тоже самодельный, с панелью от hispapanels, как и MCP; там все радио, включая ADF и транспондер. И все тот же Мобифлайт.

А, точно, пропустил. 

Это ж уже сколько плат мег? 2 на радиопанель, 2 на основную, радиоблок — минимум одна. На блоках видны отдельные USB разъемы. А потом они все идут в USB хаб? Вряд ли столько свободных разъемов USB есть в наличии на материнке. 

Мег много. Две- оверхед, две- MCP, одна- EFIS, одна- радиоблок, одна- доппанель слева от MCP. Ну, и еще к USB подключаем штурвал, педали, РУД, кнопочную панель над РУДом, тиллер и CDU. Педали- в материнку, оверхед- в хаб на мониторе, остальное- в десятипортовый хаб Orico под монитором. Весь кокпит устанавливается минут за 20, снимается- за 10:).

1634966571981.jpg

В 17.10.2021 в 17:27, JBL пишет:

Кто-нибудь летает в MSFS 2020? Странное дело — значения в самолете и на MAX7219 разные. Причем в один день разница может быть пару единиц, в другой — больше десятка. Наблюдается такое за высотой, курсом и мощностью движка в джете.

Подскажите какие смещения (офсеты) у вас , и для какого самолета? Вот хочу с 747м заморочиться в мфс2020

Я сейчас по причине некоторых обстоятельств практически не летаю. Могу лишь скинуть скрины настроек индикаторов и энкодеров. Туда я выводил многие параметры, что позволяло не всматриваться в виртуальной кабине, а очень быстро оценивать обстановку и оперативно менять курс или задавать высоту/изменение высоты. 

Суть простая. Четыре восьмиразрядных семисегментных индикатора max7219, четыре энкодера. Индикаторы названы слева направо nav11 и nav12, нижний ряд nav21 и nav22. Энкодеры соответственно (где-то в теме чуть раньше выкладывал скрины сего поделия). На nav11 выводилась скорость и вертикальная скорость, на nav21 — индикация интерцепторов (актуально для CJ4), шасси и угол закрылков. И так далее что-то еще, сейчас уже не помню. Думаю, по скринам разберетесь. Выкладываю всё сразу, там вроде всё понятно.

Летал в основном на CJ4, но настройки универсальные и для других систем, в частности на TBM930, бонанзе 36 и сессне 208 тоже всё работало. Только для поршневых движков нужно указывать другой оффсет.

Скрытый текст

2144580622_(1038).png.2d97ed0064b6027d31a2fff978872ca0.png576383932_(1039).png.dfc7cdc7eac5f6d4771bda7411bce3ab.png1507707344_(1040).png.c79ee2063258b786bb6a17bb25bec106.png2142472839_(1041).png.c942f064d03b4b86bf597aab46c029dc.png87721367_(1042).png.d1ea69c648de79ed2b7417655294a6ad.png673890916_(1043).png.25a30a3e31c55a4c278c3e7c60b4722c.png219208632_(1044).png.72e9daa9833a649da9d6c2c70e403f37.png465390456_(1045).png.13d681284fda74585cbf6c9befbbefae.png1733021816_(1046).png.78c4ac6628af7ea27fcfa8b28d4be05d.png456500861_(1047).png.2b2f645058c26cddc17cab8ccba9b0c0.png1700800063_(1048).png.8f7e0086e461da4e1e9192a23e13bdbd.png1218145288_(1049).png.29f54894d470e6904d02103fafdd1a56.png1800528343_(1050).png.bce73ce20ca50e70a245189f613b03c3.png1774096383_(1051).png.6b4d13314530854c089712a7f1e30b7e.png1385399282_(1052).png.a5496b5694b38ea7bd69ea18d3a9d195.png2000187941_(1053).png.e5059ea70292b91ec94ab4462b8e8188.png1914810052_(1054).png.bd6d3384a92f415692ba680106d11ecc.png132311204_(1055).png.089b6b91230a12bfb45da0d1ce0b9a14.png1875818695_(1056).png.afc85d1a42297a2696c82a4d8ea40d30.png1751561027_(1057).png.6d9bcb6877a1cc1040e3879035281a24.png267563808_(1058).png.58f59f5ab38d01207da7db62fb0b1656.png1095507819_(1059).png.a752a3b582996e4dd073dacdd994a676.png1964462565_(1060).png.b9e2aaa06e219f4849d338d72e260a90.png207835046_(1061).png.7228c7b97db110ff25025a9454f29162.png

 


Edited by JBL

Недавно сделал более универсальный вариант, «на все случаи полетов». Пусть и не канонично, зато практично. Как уже говорил, сейчас возможности довести до ума нет, сильно занят. Внутри уже всё распаяно, осталось в проге мобифлайта назначить выводы и записать оффсеты. Ну и распечатать на принтере красивые надписи и приклеить двусторонним скотчем к клавишам. 

Скрытый текст

20211120_173003.thumb.jpg.1c31939eb33556949c1d420943b8fdb3.jpgpad1.GIF.c8800df2cad110133e4a24960aa981d6.GIF

 

 

 


Edited by JBL

Спасибо! мне пример офсетов нужен был, а панель от 737го у меня уже есть , выше выкладывал фотку.

22 minutes ago, prorok19 said:

Так по ней и настраивал.

А строка MCP_VS_BLANK_DISPLAY в конфиге есть? И почему используются 4 разряда дисплея- должно быть 5 с Left Padding: YES SPACE?

Такой строки нет. Да и конфиг создавался с нуля, с пустой страницы так сказать..ее там и быть не может. Хотя я и   создавал такое назначение, с такими параметрами, т.е. в списке аутпутов у меня две позиции — vs display с офсетом 6530 и соответствующими  настройками, и vs blank display с офсетом 6532 и так же с соответствующими настройками … становилось еще хуже — циферблат при нажатии RUN моргал нулями и единицами.

По поводу количества разрядов — там тоже ничего особенно не поменялось. Ставил и 5 разрядов и левый паддинг и space — то же самое. Просто когда ставишь 5 разрядов — при нажатии на кнопку V/S в симе горят 4 нуля, а на железе 5 нулей. А при выключении кнопки V/S  в симе ничего не горит а на железе «-169» (при 4 разрядах) и «-1696» (при 5 разрядах)….


Edited by prorok19

Здорово ребята вы тут мастерите, а я на коленках попробовал пару кнопочек вроде работает и что-то пока на большее не хватило меня пока, хотя экранчики под нав и крутилки с кнопками пришли, но осень была слишком загруженная. Может возьмусь всё таки, да сделаю, кто волшебный пинок поставит? ))))) 

Можно ли сделать так, чтобы при вращении энкодера изменялся один параметр (например, высота), а при нажатой кнопке энкодера и одновременном его вращении — другой (например, вертикальная скорость)?

6 часов назад, JBL пишет:

Можно ли сделать так, чтобы при вращении энкодера изменялся один параметр (например, высота), а при нажатой кнопке энкодера и одновременном его вращении — другой (например, вертикальная скорость)?

В Моби вряд ли. А вообще можно. Надо просто написать соответствующий скетч для ардуино.

Свою проблему с «-1696» я решил. Пришлось правда полазить на немецком форуме. Просто не правильно были настроены конфиги VS и VS BLANK,  неправильно прописал условия. Но минус один все равно есть — Когда при активации режима V/S в симе загораются 4 нуля, на железе загораются все 5 нулей. Но это уже не критично.

Кто знает — как в CJ4 регулировать мощность движка  N1 с помощью энкодера? Заранее спс)

9 hours ago, JBL said:

Можно ли сделать так, чтобы при вращении энкодера изменялся один параметр (например, высота), а при нажатой кнопке энкодера и одновременном его вращении — другой (например, вертикальная скорость)?

Напрямую в Мобифлайте- нет; он не понимает постоянно нажатую кнопку. С Мобифлайтом проще всего кнопкой энкодера коммутировать реле (или логический коммутатор), переключающее выходы энкодера на две разные пары входов.

16 часов назад, sergeype пишет:

Напрямую в Мобифлайте- нет; он не понимает постоянно нажатую кнопку. С Мобифлайтом проще всего кнопкой энкодера коммутировать реле (или логический коммутатор), переключающее выходы энкодера на две разные пары входов.

Хорошая идея. А на какой микросхеме лучше всего сделать?

25 minutes ago, JBL said:

А на какой микросхеме лучше всего сделать?

Можно посмотреть 4000-ю серию , но я бы не заморачивался и поставил одно пятивольтовое реле с двумя группами на переключение, и коммутировал бы его, взяв пять вольт с Меги через кнопку энкодера.

57 минут назад, sergeype пишет:

Можно посмотреть 4000-ю серию , но я бы не заморачивался и поставил одно пятивольтовое реле с двумя группами на переключение, и коммутировал бы его, взяв пять вольт с Меги через кнопку энкодера.

А что мешает просто в Скетч добавить эту функцию? И делать ничего дополнительно не надо. 

36 minutes ago, UNKB said:

А что мешает просто в Скетч добавить эту функцию? И делать ничего дополнительно не надо. 

Если есть понимание, как это добавить в мобифлайтовский конфиг, то ничего не мешает. Сами разработчики Мобифлайта пока функцию отработки шифта (постоянно нажатой кнопки) добавить не смогли (хотя их об этом постоянно просят).


Edited by sergeype

27 минут назад, sergeype пишет:

Если есть понимание, как это добавить в мобифлайтовский конфиг, то ничего не мешает. Сами разработчики Мобифлайта пока функцию отработки шифта (постоянно нажатой кнопки) добавить не смогли (хотя их об этом постоянно просят).

А, почитал подробнее, мобифлайт сам грузит прошивку в ардуину. Тогда да, проблема с добавлением.

On 12/22/2021 at 1:53 PM, JBL said:

Можно ли сделать так, чтобы при вращении энкодера изменялся один параметр (например, высота), а при нажатой кнопке энкодера и одновременном его вращении — другой (например, вертикальная скорость)?

Ха, оказывается, все-таки можно:). Мобифлайт- чудо, а не софт!

  

1 час назад, sergeype пишет:

Ха, оказывается, все-таки можно:). Мобифлайт- чудо, а не софт!

 

Так это ж я и спрашивал, хотел сюда написать, опередил меня )))

Только вот непонятно, каким образом работает условие  if($=1,0,1). Обычно в таких случаях пишется switch-case, например, так:

static uint8_t step=0;

switch(step) {

     case 0:

          status=1;

          step=1;

     break;

     case 1:

           status=0;

           step=0;

     break;

}

Возможно, в обработанном мобифлайтом коде (а там обычная мега) так потом и получается. Но само выражение с if мне непонятно. Но работает, ну и ладно )).

  


Edited by JBL