Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2010, 19:03   #1
noobic
Новичок
Джуниор
 
Регистрация: 17.11.2010
Сообщений: 2
Лампочка Автосимулятор: можно ли вывести показания спидометра на COM-порт?

Приветствую, господа офицеры. Надеюсь я попал по адресу, приняв раздел "свободное общение" за аналог "курилки" других сайтов.

У кого есть 5 минут на ожидание закипания чайника/заваривания кофе, что можете сказать вот по такому делу. Имеем какой-нибудь автомобильный симулятор, предположим старый добрый Challenge 99-02, rFactor или недавно вышедший F1 Codemasters. Имеем руль с педалями. Втопили педаль газа в пол, и сидя на табуретке, вертя баранку, прибитую к столу, ринулись вперёд к победе. Согласитесь, встроенным в мозг процессором не очень интересно домысливать воображаемые перегрузки, а ведь именно они несут основную информацию от обратной связи с машиной. Чуть повело задний мост - и ты парируешь занос рулём, ещё даже не видя глазами, что машину потащило на обочину.

Что требуется доказать? За неимением тугриков на покупку симулятора Red Bull возникла (пока ещё теоретическая) идея смастерить самому опытный образец, который возможно перерастёт в опытно-мелкосерийное производство (которое никто покупать не будет - ну это уже другая история).

Пример, но без перегрузки: http://www.youtube.com/watch?v=sMxvu6zezHI
Пример перегрузки, но неестественная какая-то: http://www.youtube.com/watch?v=qIe9O529MR0

Так вот что хотел узнать: можно ли вывести показания спидометра на экране - на COM-порт? И вообще всю телеметрию, какая есть, вывести "за борт"? Таким образом мы получим важное управляющее напряжение, которое шевелит гидро- или серво-приводы. Например, кокпит, в котором сидит геймер, будет ездить по рельсам длиной 3м40см, из которых каждый сантиметр - это 1км/ч. Ну или рельсы будут 6м80 см - 1 км/ч=2 см. И т.д. по масштабу с приростом g до реальных цифр Как газуешь, так и удаляешься от начала рельсов. Как в сторону ускорения, так и торможения. Согласен, перегрузка небольшая, но это уже не просто табуретка перед монитором и рулём. Наклоны кресла в сторону, противоположную повороту - боковая перегрузка, наклон тем больше, чем больше поворот руля+удаление аттракциона от нулевой точки. Через 10 мину геймплея вестибулярный аппарата привыкнет и будет работать по правилам игры.
Насколько сложно вывести скорость из игры на COM-порт? Может ли обладатель профессии "программист" написать программу, которая бы на лету переводила километры в час в вольты или другие управляющие сигналы?
Можно ли, по вашему мнению, считывать из игрового процесса также ориентрование по сторонам света (т.к. гоночная трасса замкнута в кольцо, сумма всех поворотов = 360, и на каждом повороте можно было бы крутить аттракцион, чтобы игрок чувствовал вход-выход из поворота?
Что скажете, пока чайник закипает/сигара курится? Да. знаю, кучу вопросов надо решить при создании такой штуковины, но сейчас меня инетерсует только один вопрос про вывод занных о скорости наружу, т.к. сам не программист вообще. Скажем, вибрацию двигателя, вылет на траву, наскок на поребрик, удары за нас уже придумали создатели гоночного руля (feedback), вывод из компьютера по USB есть

Последний раз редактировалось noobic; 17.11.2010 в 19:06.
noobic вне форума Ответить с цитированием
Старый 17.11.2010, 19:21   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Можно, но обойдется вам в не хилую сумму.
И, кстати, com порт юзать не рекомендую, лучше сразу на usb.
Для сопряжения компьютера и усилителей(которые подключены к механике) нужно заюзать микроконтроллер.

Последний раз редактировалось Levsha100; 17.11.2010 в 19:24.
Levsha100 вне форума Ответить с цитированием
Старый 17.11.2010, 20:15   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Абсолютно верно. Я, например, уже давно не видел на компах знакомых разъемов
mihali4 вне форума Ответить с цитированием
Старый 17.11.2010, 20:35   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

кстати, из разряда "народного творчества" (не углубляясь в МК, хотя он все равно используется ) ...можно сигнал акселерометра с игры вывести в виде своеобразного ШИМ (выше скорость, чаще моргание) на индикатор скролл-лок (светодиод), к примеру, на бу USB клаву, а дале чисто аналоговыми методами по типу частотного привода ...правильно догадались, есть еще два индикатора ...ежели все сигналы с панели приборной, то тут уж не попишешь - садитесь за литературу и МК, если решитесь у нас тут множество тем на эту тему было.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 17.11.2010, 20:40   #5
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Мсье знает толк в извращениях
Хотя шим из uart-a тоже ничего:
http://easyelectronics.ru/izvrashhen...m-iz-uart.html
Цитата:
Пока писал статью про UART пришла в голову одна извращенная идея - на базе UART же можно организовать самый натуральный низкодискретный ШИМ!
Достаточно только сделать где-нибудь в памяти переменную, куда мы будем совать число с заданной скважностью нулей и единиц, а по прерыванию опустошения буфера это число снова пихать в регистр UDRE. Таким образом, генерация ШИМ будет самопроизвольной, без лишних телодвижений. Правда можно получить всего 10 разных значений ШИМ, но зато нахаляву!!!
Для тех кто не понял как, приведу числа которые надо будет непрерывно слать через UART:
два дополнительных значения мы получим за счет старт и стоп битов.
00000000 - 1/10
00000001 - 2/10
00000011 - 3/10
00000111 - 4/10
00001111 - 5/10
00011111 - 6/10
00111111 - 7/10
01111111 - 8/10
11111111 - 9/10
Да и частоты там можно получить нефиговые!
Красота!=)))))
p.s. Можно ШИМ выюзать еще с индикатора харда, правда это уж слишком жестоко =)
Levsha100 вне форума Ответить с цитированием
Старый 17.11.2010, 23:50   #6
noobic
Новичок
Джуниор
 
Регистрация: 17.11.2010
Сообщений: 2
По умолчанию

Аффтар:
спасибо за внимание к моей скромной персоне. Много непонятных слов было (надеюсь не ругательных)
С COM-портом думал, т.к. много работал (но только с железом) на производстве в комп. конторе, в т.ч. с индустриальными ЭВМ. Ну вот от жизни отстал, не думал что уже на USB перешли.

К слову сказать, задача по моему непрограммистскому мнению несложная, так как ведётся лог всех телодвижений гонщика, снимаются все параметры и после гонки можно открыть телеметрию и посмотреть (и даже оппонентов уличить в преднамеренных деяниях Лог аналогичен , скажем, дневнику Punto Switcher, только не буквенный, имеет вид графика.
Ну вообщем, спасибо что обнадёжили, буду знать что вопрос темы не настолько уж и невозможен.
Механику перегрузок пытались обсудить здесь: http://www.chipmaker.ru/topic/36720/, но кризис потребовал забить на это дело, сейчас решил вернуться к теме.

Тогда, возможно попытаюсь хотя бы в теории развить проект, ещё нескромный финансовый вопрос: сколько людей и с каким профилем по образованию нужно привлечь к работе над симулятором, чтобы написать программу взаимодействия игрушки с интерфейсом USB и радиомонтажника, который разработает коробочку, вставляемую между USB и сервоприводами имитатора перегрузок? И на каком языке должен уметь писать программы разработчик?

Последний раз редактировалось noobic; 17.11.2010 в 23:59.
noobic вне форума Ответить с цитированием
Старый 18.11.2010, 01:08   #7
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
Сообщение от noobic Посмотреть сообщение
И на каком языке должен уметь писать программы разработчик?[/I]
На том, который подойдет для реализации поставленой задачи.
Естественно что это должен быть современный язык программирования.
А с этой задачей, думаю что даже бейсик с легкостью справится.
*PB* вне форума Ответить с цитированием
Старый 18.11.2010, 15:40   #8
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
А с этой задачей, думаю что даже бейсик с легкостью справится.
Угу, удачи.
Levsha100 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Можно ли отправить данные через порт открытый другой программой? losticsx Помощь студентам 2 24.08.2010 19:47
Как можно обратиться к устройству, которое подключено через USB порт Mikhail Bakurov Общие вопросы Delphi 8 17.11.2008 20:42
Как с помощью формул можно сравнить и вывести данные kutt Microsoft Office Excel 2 24.09.2008 17:05
Можно ли в StringGrid вывести....... diznt Помощь студентам 5 03.09.2008 18:54
показания DateTimePicker при нажатии Buttons перенести в колонку DBGrid Alex_76 Помощь студентам 1 14.07.2008 15:55