Мой будущий кокпит — мои назревшие вопросы — «Железные» кокпиты

Здравствуйте, уважаемые гуру и гики.Я буду строить кокпит(эт точно!),и у меня вопросы по программированию :
1)Вывод переменных сима(FSX) в переменную программу на с++ или c#
2)Нужно ли для этого Microsoft SDK
3)Как вывести состояния шасси,закрылков,носков крыла и щитка из Lock ON 2(знаю что через Export.lua)
4)Объясните как подключить энкодеры к симу
Начну с панели автопилота B737,скоро закуплю компоненты ,и закипит работа .
Все наработки буду выкладывать. Роутер будет opensourse. Посвящу кокпиту сайт(домен куплен ,настраиваю CMS).
Контролеры ввода и вывода:
Может быть F2 или L2 или скорее всего Mjoy
Пока вывод на arduino.Куплен дисплей отладочный(

WH1602B-YYK-CTK).

Есть картонный командный модуль.

Сообщение отредактировал fedoseev1410: 05 February 2012 — 01:31

Ответов: 19

Вот фотографии командного модуля.Он будет находится за монитороми приборной доски возле мат. Плат:Сорри за качество фоткал на телефон

Прикрепленные изображения

  • IMAG0159.jpg
  • IMAG0170.jpg
  • IMAG0169.jpg
  • IMAG0155.jpg

Сообщение отредактировал fedoseev1410: 05 February 2012 — 01:30

Вывод обеспечивается на arduino с использованием I2c (TWI)шины,а также сдвиговых регистров 74HC595 купленых у robocraft.
Так как фанера на даче.А мастерской дома нету, пока автопилот будет картонный.Если честно сомневаюсь использовать ли оргстекло. Также советую всем обратить внимание на поликапролактон(почитайте на сайте робокрафта).Я сейчас заболел так что буду много писать.

На панель автопилота уходит 12 сдвиговых регистров, 7 кнопок и 3 энкодера
Вопрос:как сим воспринимает энкодеры?Ему надо говорить число(курс,скорость,высота) или +1 и -1

За день подумал,и решил отказаться сдвиговых регистров!Буду использовать чип CD4026.Их будет 3 штуки на каждую arduino.На этих ардуино будут подсажены энкондеры,и в пусты порты индикация, шаговые двигатели,сервы.

На панель автопилота уходит 12 сдвиговых регистров, 7 кнопок и 3 энкодера
Вопрос:как сим воспринимает энкодеры?Ему надо говорить число(курс,скорость,высота) или +1 и -1

У меня несколько L2, что гораздо предпочтительнее мджоя по всем параметрам. Использую обычные инкрементарные энкодеры, отображается как две кнопки. Крутишь в одну сторону, генерируются нажатия кнопок по числу импульзов на оборот. Энкодеры у меня на триммерах, что весьма удобно.

У меня несколько L2, что гораздо предпочтительнее мджоя по всем параметрам. Использую обычные инкрементарные энкодеры, отображается как две кнопки. Крутишь в одну сторону, генерируются нажатия кнопок по числу импульзов на оборот. Энкодеры у меня на триммерах, что весьма удобно.

А сим нормально воспринимает?

В симе воспринимается как две обычные кнопки. Особенно на крайней прошивке, длительность сигнала стала короче и удобнее. В X-plane, Ил-2 Энкодеры у меня на триммерах, в Condor переключения экрана навигатора и зум в нем же. Под плейн хотел панель делать, но так и не дошло, пробовал всякие крутилки назначать, тоже удобно. Есть энкодеры как я их называю «трехкнопочные», для контроллера получается вправо-влево и нажатие. Для обнуления триммера например или какой настройки, по моему в самый раз.

Спасибо!!!!Возьму на вооружение.Значит вывод arduino , ввод L2.

Завтра заказываю детали.Начну делать панельку.

Может проще для начала какой-нибудь FSBus собрать?

Не не не!!!Я собираюсь делать всё сам,и быть можно так сказать буду ТОЛКОВЫМ первопроходцем с реально работающем кокпитом.
За сегодня есть продвижение:
Сделал картонную панельку,
и разобрался с управлением портами ардуиной:
первый код

/*
*Код народное достояние!
* автор daitel aka fedoseev1410
* по мотивам robocraft
*
*/

char val = 0;
char pr1 = 0;
char pr2 = 0;
int p=0;

void setup() {
Serial.begin(9600); // connect to the serial port
}

void loop () {
if( Serial.available() ) {
pr1 = Serial.read(); // чтение первой цифры порта
pr2 = Serial.read();
val
= Serial.read(); // чтение команды
Serial.print(port1);
Serial.print(» «);
Serial.println((int)pr,1);
Serial.print(pr2);
Serial.print(» «);
Serial.println((int)pr2);
Serial.println(val);
int p1=(int)port148;
int p2=(int)port248;
p=p1*10+p2;
pinMode(p,OUTPUT);
if( val == ‘H’ || val == ‘h’ )
{
digitalWrite(p, HIGH);
}
else
{
if(val==‘L’ || val == ‘l’)
{
digitalWrite(p, LOW);
}
}
}
delay(10);
}

Теперь фотографии панели.Решил делать на lcd дисплее.Если будет удачно,продам.И буду делать на семисегментниках.Драйвером будет CD4026
(аналог

К176ИЕ4

).

У меня тут проблемка: не отправляются фотографии.
Загрузка пропущена (Размер файла превышает допустимый для загрузки размер)

Прикрепленные изображения

  • IMG_02221.JPG

Сообщение отредактировал fedoseev1410: 06 February 2012 — 23:02

Вопрос FSUIPC и вывод и ввод переменных в сим с помощью c++ и c# является открытым.Дайте хоть англоязычные ссылки :rtfm:
Нужны оффсеты FSUIPC, или что?

Не. Мне нужна информация по работе с переменными сима ,если точно:вывод и передача переменных в самопальном роутере.Пока вижу что те кто писал роутер молчат. Ладно до лета много времени может разберусь, а пока ардуино и картон,ой и чуть ли не забыл матчасть. Офтопик:день завершен 32 чашками чая.Ладно завтра буду искать нормальные энкодеры для кокпита. Чёт не понимаю я работы с ними,и какие они нужны. В чипдипе их вообще нет!

Сообщение отредактировал fedoseev1410: 07 February 2012 — 00:27

Вопрос для тех кто близко знаком с МК. Можно ли объединять вывод ресета 2,3 МК? А то замучился вертеть панель. Подумал когда таких будет 5, 10. Про оверход я вообще молчу. Там надо объеденить ресет! Ну так можно?

Пока вижу что те кто писал роутер молчат.

А у Вас нет идей почему? :)

Ладно завтра буду искать нормальные энкодеры для кокпита. Чёт не понимаю я работы с ними,и какие они нужны. В чипдипе их вообще нет!

Выше писали, что нужны инкрементарные энкодеры, в чипдипе(да и везде) их не меренно. http://www.chipdip.r…w/encoders.aspx

Вопрос для тех кто близко знаком с МК. Можно ли объединять вывод ресета 2,3 МК?

А зачем их объединять? Процик уже имеет внутри все необходимые цепи для сброса. Снаружи достаточно подтягивающего резистора к питанию номиналом 1..10К. И лучше этот резистор вешать свой на каждый процик. В противном случае вам придется делать очень разветвленную и длинную дорожку сброса, которая будет ловить на себя все помехи.

А зачем их объединять? Процик уже имеет внутри все необходимые цепи для сброса. Снаружи достаточно подтягивающего резистора к питанию номиналом 1..10К. И лучше этот резистор вешать свой на каждый процик. В противном случае вам придется делать очень разветвленную и длинную дорожку сброса, которая будет ловить на себя все помехи.

Не, мне просто нужна рестартануть много процов.Так как система будет модульна.Так на каждый проц резистор к питанию,и ответление к шине сброса.У шины сброса есть кнопка подключения к земле.Так можно?