Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Самодельные панели управления для Elite: Dangerous | страница 2
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 2 из 7
На страницу: Пред.  1, 2, 3, 4, 5, 6, 7  След. | Все страницы
Поиск в этой теме:
Канал Elite: Dangerous: «Самодельные панели управления для Elite: Dangerous»
NailMan
 70 EGP

Рейтинг канала: 9(1017)
Репутация: 6
Сообщения: 249
Откуда: Москва
Зарегистрирован: 24.07.2016
RenderG :
Там разные тактильно колпачки на кнопках группами по три (под три пальца, указательный, средний, безымянный). Там чередуются выпуклые, впуклые и ровные. Тумблер с закрывашкой идентифицируется вообще элементарно и не позволит, скажем, груз в космос выкинуть.

Про мелкое, так скажу. Мне ручка от дефендер кобры м5 мала. В обзорах все жалуются, что большая. Гы-гы у меня в нее тупо рука не влазит, Так что с размерами и эргономикой там все очень даже норм.

Все равно мне панель кажется очень скучкованной, и кнопки(пипки сами) внешне одинаковые только разных цветов - может фото мелкое слишком, не видно торцы.

То что сброс груза важная кнопка и ее нажатие вызовет нежелательные эффекты ,я в своем варианте панели могу скомпенсировать функцией долгого нажатия(3 секундного скажем) для того чтобы избранные кнопки с короткого нажатия не активировались. Тут вообще мильён возможностей для реализации. Но тумблеры эти с закрывашками - это капец, все за них цепляется и тугое.
    Добавлено: 13:43 29-05-2017   
mc_
 408 EGP


Рейтинг канала: 9(1035)
Репутация: 41
Сообщения: 2841

Зарегистрирован: 09.04.2010
У меня вообще не назначена кнопка "сброс груза" Улыбка
Тем более не пойму зачем её на джойстик выносить.
    Добавлено: 13:46 29-05-2017   
NailMan
 70 EGP

Рейтинг канала: 9(1017)
Репутация: 6
Сообщения: 249
Откуда: Москва
Зарегистрирован: 24.07.2016
mc_ :
У меня вообще не назначена кнопка "сброс груза" Улыбка
Тем более не пойму зачем её на джойстик выносить.

Ну это же моя залочка функций: если не понравится, можно сделать чем угодно, напечатай только пленку с текстом нужным и повесь в настройках на что угодно. Все конфигурабельно.
    Добавлено: 13:52 29-05-2017   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 17(3131)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
NailMan :
Все равно мне панель кажется очень скучкованной, и кнопки(пипки сами) внешне одинаковые только разных цветов - может фото мелкое слишком, не видно торцы.

Да, по одной фотке, без "пальцев" для ориентира это определить сложно.
Посмотри видео анбоксинга такой панели, там лучше видно. Ну а я такие "колпачки" в руках держал, так что представляю себе реальные размеры. Плюс там кнопки разной высоты в нужных местах, кроме того что тактильно различаются.
Так что всё достаточно продумано.
_________________
Люблю свободный полёт... :)
    Добавлено: 19:46 29-05-2017   
RenderG
 2290 EGP


Модератор
Рейтинг канала: 13(2004)
Репутация: 243
Сообщения: 20534
Откуда: [OEG]
Зарегистрирован: 18.09.2006
AnrDaemon :
Посмотри видео анбоксинга такой панели,
Где? Вау!
_________________
No More Mr. Nice Guy!
Смирись, Пилот!
Ты будешь жалок
Всего-лишь после
Пары палок... (с) Dandy
    Добавлено: 03:25 30-05-2017   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 17(3131)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
Ну, не такой - похожей.
На ютубе конечно.
_________________
Люблю свободный полёт... :)
    Добавлено: 00:09 01-06-2017   
NailMan
 70 EGP

Рейтинг канала: 9(1017)
Репутация: 6
Сообщения: 249
Откуда: Москва
Зарегистрирован: 24.07.2016
Сделал схему принципиальную электрическую на панель, начинаю стендировать (матрицу 2х2 правда, так как на все проводов безпаечных не хватит) и шнягу всякую дозаказываю с ебая.

Схема:
http://nailalex.dyndns.org/hobby/photos/EDPanel/EDPanelController_sheme.pdf

матрица (4х5)-1 плюс 2 кнопки на регулировку яркости подсветки и выключатель(клавишный) на включение всей панели. При включении в USB будет гореть только маленький светик, а при включении выключателем - стартовая анимация. Выключатель будет тупо рубить питание USB - оно через проходную плату фильтра будет. Короткий кабель microUSB будет с проходной платки втыкаться в ардуину.

Тот микрождойстик что я планировал изначально(наподобие как на приставках на пультах) оказался слишком мелкий для контроллера, потому заказал вот такой агрегат
ссылка

Мне так привычней рулить камерой и посадкой, ибо моделист )))

правда 3 кнопки и миниджойстик придется поменять местами - кнопки ближе к пилоту будут.

Управление подсветкой LED на основной матрице(4х4) будет через шилд https://learn.adafruit.com/adafruit-16-channel-pwm-slash-servo-shield/overview

А для подключения всех коммуникаций к ардуиновой этажерке сделаю свой проходной шилд который будет втыкаться сверху на PWM и выводить с него все 16 каналов.

Для работы с матрицей кнопок взял готовую библиотеку с классом и допилю ее для анимации.

Для самого эмулятора HID Joystick использую готовый проект
http://www.instructables.com/id/Arduino-LeonardoMicro-as-Game-ControllerJoystick/

Ща поеду в гараж за пенопластом и начну потихоньку делать болван, придумывать струбцину для крепежа на столе и ждать ништяки пока приедут. Еще монтажный провод пришлось заказать правильный - тут у нас по космическим ценам все Улыбка

Последний раз редактировалось: NailMan (10:50 03-06-2017), всего редактировалось 2 раз(а)
    Добавлено: 10:43 03-06-2017   
RenderG
 2290 EGP


Модератор
Рейтинг канала: 13(2004)
Репутация: 243
Сообщения: 20534
Откуда: [OEG]
Зарегистрирован: 18.09.2006
В этой библиотеке джойстика советую выключить аутосэнд. Он у меня почемут ардуину завешивал.
_________________
No More Mr. Nice Guy!
Смирись, Пилот!
Ты будешь жалок
Всего-лишь после
Пары палок... (с) Dandy
    Добавлено: 11:52 03-06-2017   
NailMan
 70 EGP

Рейтинг канала: 9(1017)
Репутация: 6
Сообщения: 249
Откуда: Москва
Зарегистрирован: 24.07.2016
RenderG :
В этой библиотеке джойстика советую выключить аутосэнд. Он у меня почемут ардуину завешивал.

ОК, буду иметь в виду эту фичу. Пожалуй добавлю сзади на корпусе кнопочку RESET Хы...
    Добавлено: 16:49 03-06-2017   
NailMan
 70 EGP

Рейтинг канала: 9(1017)
Репутация: 6
Сообщения: 249
Откуда: Москва
Зарегистрирован: 24.07.2016
Сделал на макетке джой с 2х2 батонами и аналог джоем кошерным.
Автосенд выключил, запилил 3 класса - считыватель, класс кнопки и класс кучи кнопок. Припилил 2 вида анимации(пока) - стартовая и при нажатии. Анимация псевдопотоками с таймерами у каждой кнопки.

Минимальный уровень подсветки будет регулироваться. Анимация работает от этого уровня до максимального.

Видос с демонстрацией стенда с аналог джоем:
http://www.youtube.com/watch?v=OqV4WOZTjvk

Видос с анимацией:
http://www.youtube.com/watch?v=Efi496UmDNk


Продолжаю работу над девайсом! Улыбка
    Добавлено: 00:24 25-06-2017   
RenderG
 2290 EGP


Модератор
Рейтинг канала: 13(2004)
Репутация: 243
Сообщения: 20534
Откуда: [OEG]
Зарегистрирован: 18.09.2006
Круть!
процедуры debounce для кнопок и calibration для джойстика не забудь. Подмигиваю На калибровку я бы вообще посоветовал тумблер рядом с кнопочкой резет вывести, хотя она и нужна только при первом старте.
https://www.arduino.cc/en/Tutorial/Debounce
https://www.arduino.cc/en/Tutorial/Calibration
_________________
No More Mr. Nice Guy!
Смирись, Пилот!
Ты будешь жалок
Всего-лишь после
Пары палок... (с) Dandy
    Добавлено: 13:20 27-06-2017   
NailMan
 70 EGP

Рейтинг канала: 9(1017)
Репутация: 6
Сообщения: 249
Откуда: Москва
Зарегистрирован: 24.07.2016
Дебонс для лохов! тем более с ним ничего не работает в матрице(отдельно для кнопок работает) - просто идет криво опрос и любые кнопки в строке срабатывают как первая кнопка в этой строке. Не люблю софтовых RAID-ов и фильтров помех!

Сейчас кнопки с малым дребезгом стоят(реально он почти отсутствует), но для защиты от него(контактам свойственно окисляться) я буду применять аппаратную фильтрацию инвертирующим триггером Шмидта SN74HC14N на все кнопки и строки матрицы.

Калибровку потом допилю. да и зачем калибровку, если можно будет включить компорт в IDE ардуины и посмотреть координаты и механически отрихтовать аналоговый джой.
    Добавлено: 15:00 27-06-2017   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 17(3131)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
NailMan :
зачем калибровку
Чтобы не…
NailMan :
включить компорт в IDE ардуины и посмотреть координаты и механически отрихтовать аналоговый джой.

_________________
Люблю свободный полёт... :)
    Добавлено: 13:15 28-06-2017   
NailMan
 70 EGP

Рейтинг канала: 9(1017)
Репутация: 6
Сообщения: 249
Откуда: Москва
Зарегистрирован: 24.07.2016
Да сделаю, сделаю я калибровку, только когда полную панель соберу 4х5 (для калибровки надо будет основная 4х4), так как спикера не будет(портов не хватат), а будет кнопочная визуализация требуемого положения и действия пользователя в процессе калибровки. Улыбка

А вообще сделал я сейчас отдельную кнопочку, которая будет по центру между рядами - при включении в порт ЮСБ контроллер включается и сразу выдает в джой данные, но подсветка выключена, но очень плавно ненавязчиво пульсирует кнопка включения/выключения подсветки. Жмакнул - и тут каждой кнопке рандомно будет запускаться одна из пяти вариаций стартовой анимации(базовый накал как на видео, тусклый накал, имитация хреновых контактов и еще парочка вариантов заковыристых).

Причем можно будет потом в скетче задать как будет распространяться волна включений(блоками, с какой-либо стороны или рандомно), так как я добавлю рандомные короткие задержки на включения каждой кнопке.

В общем будет весело! Ой, не могу!..

На след неделе отдам панель основной матрицы в запилку на ЧПУ. Коническим сверлом что то ломает сверлить 8мм светораспределитель от LCD-моника древнего.
    Добавлено: 23:33 28-06-2017   
Sardak
 350 EGP


Рейтинг канала: 45(10184)
Репутация: 39
Сообщения: 3433
Откуда: РФ, Рост. обл.
Зарегистрирован: 23.10.2014
Я себе калибровку делал не в void setup, а прямо в цикле обработки.
 Для тяги   (кликните здесь для просмотра)
void loop ()
{
Traw = analogRead (A2); // чтение значения с датчика
if (Traw>Tmax) Tmax=Traw; if (Traw<Tmin) Tmin=Traw;
Tmap = map (Traw, Tmin, Tmax, 511, -512); //масштабируем к крайним значениям
if (Tmap==0) (Tmap=0.001); //исключаем вероятность деления на ноль
qT = abs((sq(Tmap)/511)/Tmap); //вычисляем коэффициент нелинейности для оси T
if (qT>0.91) qT=1;
Tmap = map (Traw, Tmin, Tmax, 511, -512); //опять масштабируем к крайним значениям
outT = map((qT*Tmap), 511, -512, 32767, -32768); //вычисляем данные с коэффициентом нелинейности для оси T с масштабированием до 16 бит
if ((Tmap>-9)&(Tmap<+9)) outT=0;//задаём мёртвую зону возле нуля
Joystick.setThrottle(outT); //отправляем данные тяги в порт
delay (10);
}
    Добавлено: 00:09 29-06-2017   
NailMan
 70 EGP

Рейтинг канала: 9(1017)
Репутация: 6
Сообщения: 249
Откуда: Москва
Зарегистрирован: 24.07.2016
Sardak :
Я себе калибровку делал не в void setup, а прямо в цикле обработки.
 Для тяги   (кликните здесь для просмотра)
void loop ()
{
Traw = analogRead (A2); // чтение значения с датчика
if (Traw>Tmax) Tmax=Traw; if (Traw<Tmin) Tmin=Traw;
Tmap = map (Traw, Tmin, Tmax, 511, -512); //масштабируем к крайним значениям
if (Tmap==0) (Tmap=0.001); //исключаем вероятность деления на ноль
qT = abs((sq(Tmap)/511)/Tmap); //вычисляем коэффициент нелинейности для оси T
if (qT>0.91) qT=1;
Tmap = map (Traw, Tmin, Tmax, 511, -512); //опять масштабируем к крайним значениям
outT = map((qT*Tmap), 511, -512, 32767, -32768); //вычисляем данные с коэффициентом нелинейности для оси T с масштабированием до 16 бит
if ((Tmap>-9)&(Tmap<+9)) outT=0;//задаём мёртвую зону возле нуля
Joystick.setThrottle(outT); //отправляем данные тяги в порт
delay (10);
}


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


Вот кстати мой работающий на бензиновой модели параплана проект девайса https://github.com/NailAlex/KillSwitchDuino

это PPM управляемый многофункциональный выключатель зажигания. там калибровку я тоже делаю своеобразно сквозным проходом с итерациями, так как чтение сигнала с управляющего пина с аппаратным прерыванием. Просто в Лупе не сделаешь, а "плоско" с Delay делать неинтересно и не всегда полезно.

Последний раз редактировалось: NailMan (00:29 29-06-2017), всего редактировалось 1 раз
    Добавлено: 00:18 29-06-2017   
NailMan
 70 EGP

Рейтинг канала: 9(1017)
Репутация: 6
Сообщения: 249
Откуда: Москва
Зарегистрирован: 24.07.2016
Собсно, код панели уже сделал, с анимациями, с управлением подсветкой, но...с аппаратной частью не срослось!

Как выяснилось - триггеры Шмитта с матрицей кнопок на уровне схемотехники несовместимы как ни крути. С одиночной кнопкой - не вопрос, а с матрицей хрен там. Потому переделал все на Peer-to-Peer соединения, а чтобы портов на Леонарде хватило, поставил 2 порт-расширителя на i2c и 4 триггера Шмитта. Частично смоделировал на макетке - все робит. Придется переделать все с матрицы на линейный массив(что более удобней) и допилить карты включения подсветки.

Вот схема итоговая, которую начну разводить по шилдам
http://nailalex.dyndns.org/hobby/photos/EDPanel/EDPanelController_sheme.pdf

Сегодня мне напилили на ЧПУ панели под кнопки и боковую. В итоге будет 22 кнопки, кнопка сброса и аналоговый джойстик. Соберу и травану контроллер и начну корпус стругать и тряпками укладывать.
    Добавлено: 18:08 04-07-2017   
NailMan
 70 EGP

Рейтинг канала: 9(1017)
Репутация: 6
Сообщения: 249
Откуда: Москва
Зарегистрирован: 24.07.2016
O7 коммандеры!

За день развел итоговые платы шилдов для контроллера панели, теперь все готово к производству самого контроллера, корпуса и потом допиливать код уже на реальном девайсе.

Итоговая схема
https://github.com/NailAlex/EDPanelController/blob/master/Docs/EDPanelController_final.pdf

- 24 кнопки с аппаратной фильтрацией дребезга(использовать можно любые совершенно) + кнопка сброса(принцип Сиалекс в действии Улыбка )
- 20 кнопок доступно для маппинга
- аналоговый джойстик
- 21 кнопка имеют PWM подсветку
- 2 шилда этажами над ардуиной Леонардо и шилдом Adafruit PWM 16-Channel
- надеюсь питания хватит от USB2.0(0.5A), иначе только под USB3.0(0.9A), тогда в этом случае перемычка Н1 разделяет питание на USB порт ардуины и на 5В шину напрямую. Надеюсь это не потребуется.

Разведенные шилды
https://raw.githubusercontent.com/NailAlex/EDPanelController/master/Docs/EDPanelControllerPCB.jpg

Снизу ардуина, на ней Adafruit PWM, на ней Power/LED шилд, на ней закрывающий девайс Key inputs шилд. Все это пучками проводков(монтажный провод) на локальные шины земли у кнопок и на сами кнопки.

По результату(полному изделию) накатаю статью отдельно с картинками и пояснениями.

Пошел ЛУТить и травить в хлорном железе дригглером...

PS: Обновлять буду на гитхабе, так как проблемы с домашним сервером детектед ((

Последний раз редактировалось: NailMan (19:30 09-07-2017), всего редактировалось 6 раз(а)
    Добавлено: 16:23 09-07-2017   
RenderG
 2290 EGP


Модератор
Рейтинг канала: 13(2004)
Репутация: 243
Сообщения: 20534
Откуда: [OEG]
Зарегистрирован: 18.09.2006
Я это, тут, конечно, мимокрокодил, но оверэенжиниринг адский детектед. Со сдвиговыми ргистрами было бы в разы меньше гемора. Да и Леонарда при данном конфиге излишне. Хватило бы промикры.
_________________
No More Mr. Nice Guy!
Смирись, Пилот!
Ты будешь жалок
Всего-лишь после
Пары палок... (с) Dandy

Последний раз редактировалось: RenderG (01:07 10-07-2017), всего редактировалось 1 раз
    Добавлено: 01:06 10-07-2017   
NailMan
 70 EGP

Рейтинг канала: 9(1017)
Репутация: 6
Сообщения: 249
Откуда: Москва
Зарегистрирован: 24.07.2016
RenderG :
Я это, тут, конечно, мимокрокодил, но оверэенжиниринг адский детектед. Со сдвиговыми ргистрами было бы в разы меньше гемора. Да и Леонарда при данном конфиге излишне. Хватило бы промикры.

Не, не мой метод, люблю решения из которых можно потом сделать что-то большее или меньшее. Да и схема на каждой кнопке ничуть не проще со сдвигуном и не решает проблем с дребезгом. К тому же мне ближе i2c чем SPI, так как все эти сдвиговые 74HC595 не имеют честный SPI(как и многие другие чипы с таким интерфейсом), а требуют использования софтового SPI что сказывается на общей производительности.

А Леонардо(или Микро) просто необходима, так как у них нативный USB Serial и сделать из него USB HID Joystick с работающим портом для программирования легко(это одна библиотека), а для любых других(окромя Due) либо сопряжено с потерей USB Serial для программирования(надо перешивать внешний atmega8a) или вовсе невозможно(еслисделан на ныне модном аппаратном чипе CH340). Так что Леонардо/Микро или ничего иного. Ну а почему Леонардо - под него есть готовый PWM шилд, который без колхозинга соединяется в бутерброд. С Микро, про Микро придется колхозанить, зачем?

Последний раз редактировалось: NailMan (01:49 10-07-2017), всего редактировалось 3 раз(а)
    Добавлено: 01:26 10-07-2017   
Канал Elite: Dangerous: «Самодельные панели управления для Elite: Dangerous»
На страницу: Пред.  1, 2, 3, 4, 5, 6, 7  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Лесть служит, как и вазелин, для безболезненного введения реципиенту того, от чего у него завтра будет болеть место, куда вводили. (027)

  » Самодельные панели управления для Elite: Dangerous | страница 2
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18