Популярный пост TOPMO3 Опубликовано 18 марта, 2016 Популярный пост Поделиться Опубликовано 18 марта, 2016 (изменено) первоначально была идея сделать ББ специально для питов, потому что для меня всегда было трудно ехать и одновременно набирать на клаве что и где там поменять в питах. Получилась такая штука: Краткое описание: - красные переключалки: верхняя - менять шины спереди, нижняя - сзади - зеленые переключался: левая - делать fast repair, правая - чистить лобовое - маленькие металлические переключалки: верхняя - подкачать/скачать давление в передних колесах, нижняя - в задних - снизу два энкодера: левый - prev/next control, т.е. курсор вверх/вниз, правый - изменить значение, т.е. курсор влево/вправо. Кнопка на левом энкодера - выбрать/пробел, на правом - TAB - энкодер в правом верхнем углу - выбор кол-ва топлива на дозаливку, кнопка на этом энкодере - ESC - кнопка слева вверху - послать pit combo Чтобы не нажимать вслепую и было сразу видно, какое же пит комбо будет отработано - прикрутил дисплейчик. Правда, пришлось сделать некие кодовые обозначения, чтобы все поместилось Например, на скрине выше строка слева направо означает: снижаем давление и в передних, и в задних шинах на 7 пунков, чистим лобовое, делаем fast repair и доливаем 10 литров. Получившийся комбо пит можно увидеть в ировском окошке Требуются: - 1 Ардуино Микро/Леонардо (УНО/Нано не подойдут!) - 4 переключателя OFF-ON - 2 переключателя ON-OFF-ON, возвращающиеся в центральную позицию - 3 энкодера с кнопкой - 1 кнопка - 1 восьмиразрядный индикатор (я брал такой) - коробка, куда это все прикрутить (я брал такую) - 6 резисторов на 1кОм Схема: Скетч: buttpit.zip Изменено 18 марта, 2016 пользователем TOPMO3 19 Ссылка на комментарий
Barsikus Опубликовано 18 марта, 2016 Поделиться Опубликовано 18 марта, 2016 Дмитрий. Сам сейчас читаю доки про Ардуино. Хочу собрать простой баттонбокс на руль. На G25 уж совсем мало кнопочек. Один из вариантов - купить старый USB геймпад и достать оттуда электронику. Второй, более интересный для меня - Ардуино. Возникли вопросы: Почему Uno/Nano не подойдут? Видел на них боксы рабочие. (Сейчас планирую заказать парочку плат, выбираю какие именно). Как Ардуино дружит с USB. Можно ли без доп.электроники воткнуть в USB плату с кнопками и она будет определяться как геймпад? Ссылка на комментарий
scarecrow Опубликовано 19 марта, 2016 Поделиться Опубликовано 19 марта, 2016 (изменено) Насколько мне известно, Uno/Nano общаются c компьютером только через Serial Port, а тебе скорее про Arduino Leonardo или Micro надо посмотреть, она определяется как HID устройство. С Uno надо придумать способ, как через сериал порт кнопками на Aрдуине что-то нажимать. Так то конечно нет ничего невозможного. Изменено 19 марта, 2016 пользователем scarecrow 1 Ссылка на комментарий
TOPMO3 Опубликовано 19 марта, 2016 Автор Поделиться Опубликовано 19 марта, 2016 Почему Uno/Nano не подойдут? Теоретически их можно использовать, но это лишняя сложность. Владимир правильно говорит, УНО может только в com-порт что-нибудь послать, а на компе в этом случае нужна еще программа, которая будет из этого порта считывать и уже преобразовывать к нажатия кнопок. В общем, лишний гемор, а микро/леонардо могут из коробк работать как клава или мышка, т.е. input HID device 2 Ссылка на комментарий
VVZ Опубликовано 19 марта, 2016 Поделиться Опубликовано 19 марта, 2016 (изменено) Эх, завидую тем, у кого руки растут из правильного места... :) Получилось классно. Возникла мысль сделать что-то подобное, но наверное всё это останется на уровне мысли. Дмитрий, вот ты напротив некоторых деталей написал "я взял такую", а можешь так везде сделать? Я иногда думаю купить какой-нибудь баттон бокс, но что-то они все стоят как чугунный мост... Сделай пожалуйста ссылки :) Изменено 19 марта, 2016 пользователем VVZ 1 Ссылка на комментарий
TOPMO3 Опубликовано 19 марта, 2016 Автор Поделиться Опубликовано 19 марта, 2016 Я напишу обязательно, но чуть попозже. Дело в том, что не все из запчастей мне сильно нравятся, и сейчас жду детали для еще одного баттонбокса (другой вариант, обычный, просто кнопки + энкодеры), посмотрю что приедет и дам ссылки на лучшее. Надеюсь, на следующей неделе все доедет 2 Ссылка на комментарий
VVZ Опубликовано 19 марта, 2016 Поделиться Опубликовано 19 марта, 2016 Супер, буду ждать! Вообще я сейчас посмотрел на цены в "чип и дипе" и пришел к мнению, что не такие уж и конские цены на эти баттонбоксы под ключ. Контроллер 2000 руб. Кнопки на любой вкус и цвет, но симпатичные на взгляд от 100 до 200 руб за каждую... в итоге нехило набегает :) Ссылка на комментарий
naga16 Опубликовано 19 марта, 2016 Поделиться Опубликовано 19 марта, 2016 Чип и дип, по крайней мере.в СПб, всегда был самым дорогим местом для покупки любой комплектухи и всего подобного.. Ссылка на комментарий
Dimm Опубликовано 19 марта, 2016 Поделиться Опубликовано 19 марта, 2016 В москве тоже. В среднем в 2-3 раза дороже чем на али. Ссылка на комментарий
TOPMO3 Опубликовано 19 марта, 2016 Автор Поделиться Опубликовано 19 марта, 2016 Василий, никогда не бери ардуино за 2000 руб. :) Он стоит 300 руб макс при нынешних ценах. Если грубо, то цены примерно такие: - ардуино - 300 руб - коробка - 500 руб - кнопки, 6 шт - 200 руб - энкодеры, 5 шт - 300 руб, - переключатели, 4 шт - 500 руб т.е. грубо, небольшой баттнобокс имеет себестоимость около 2000 руб 2 Ссылка на комментарий
Pafff Опубликовано 19 марта, 2016 Поделиться Опубликовано 19 марта, 2016 Контроллер 2000 руб. Это невероятно дорого! Надо брать за 300-500р в Китае. - энкодеры, 5 шт - 300 руб Будет не просто заставить все 5 штук нормально работать. По крайней мере на atmega328 всего две ноги ноги могут внешние прерывания, а на обычных ногах нормальной работы, без пропусков щелчков добиться не удалось. Ссылка на комментарий
Yamamosya Опубликовано 19 марта, 2016 Поделиться Опубликовано 19 марта, 2016 Дим, еще бы инструкцию, как программировать . Мне нужно сделать баттонон бокс на 20 обычных кнопок. Ссылка на комментарий
Pafff Опубликовано 19 марта, 2016 Поделиться Опубликовано 19 марта, 2016 Рекомендую для начала почитать тут Ссылка на комментарий
VVZ Опубликовано 19 марта, 2016 Поделиться Опубликовано 19 марта, 2016 У Дерека баттонбоксы стоят порядка 100 долларов или... ух ёё, так я и не привык к адскому курсу. Т.е. 8000 руб надо потратить на этот баттонбокс :) Я сначала аж на 30 умножил по очень старой памяти )))) Подожду ссылок от Дмитрия. Ссылка на комментарий
TOPMO3 Опубликовано 19 марта, 2016 Автор Поделиться Опубликовано 19 марта, 2016 Будет не просто заставить все 5 штук нормально работать. По крайней мере на atmega328 всего две ноги ноги могут внешние прерывания, а на обычных ногах нормальной работы, без пропусков щелчков добиться не удалось. в микре 5 интеррапт пинов, но от этого не легче. В общем, я отложил прерывания на крайний случай, сейчас с тремя энкодерами вроде как нормально работает. Пропускает только если уж совсем резко крутить. А ты каким образом реализовывал обработку энкодеров именно с софтверной части? Дим, еще бы инструкцию, как программировать . Мне нужно сделать баттонон бокс на 20 обычных кнопок. Денис, я так понимаю ты именно про написание самого скетча? Если так, то тут с нуля просто так описать сложно. Я для второго баттонбокса постараюсь сделать наиболее универсальный скетч, чтобы его можно было легко модифицировать под конкретную задачу Ссылка на комментарий
Популярный пост TOPMO3 Опубликовано 26 марта, 2016 Автор Популярный пост Поделиться Опубликовано 26 марта, 2016 (изменено) Вариант 2 - обычный универсальный баттонбокс Ингредиенты: - переключатели - 4 шт. - кнопки - 4 шт. - энкодеры - 3 шт - корпус использовал такой же, как и в первом варианте ББ с ардуинами мне не везет что-то. Первый я заказал такой, приехал с левым бутлоадером, заказал такой же у другого продавца - заказ отменили как подозрительный :facepalm: . Сейчас третий раз заказал - жду В общем, нужен клон Pro Micro. Хорошо искать по ключевым словам Pro Micro Аrduino ATmega32U4 5V/16MHz Судя по гуглу, проблема с бутлоадерами не редка, а заключается она в том, что ардуино после подачи питания работает в 2х-4х раза медленнее, чем должен. Если сделать резет - начинает работать нормально. Решение заключается в заливке штатного бутлоадера (нужен еще один ардуино УНО и программатор) или самое простое решение - вывести куда-то сбоку отдельную кнопку на резет (пины RST и GND) и нажимать ее каждый раз после включения ПК. Хотя может это мне просто не везло. Но если нужна будет помощь в перезаливке бутлоадера - пишите, помогу. Схема: Как видно из схемы, скетч поддерживает до 25 кнопок и до 4х энкодеров. Можно ставить меньше, изменений в скетч вносить при этом не требуется. Например у меня - 4х2 на переключателях + 4 кнопки + 3 кнопки на энкодерах - итого 15 кнопок. Я их собрал в неполную матрицу 4х4, соответственно она подключена к ногам 21, 20,19,18, 14, 16, 10, 9. Неиспользуемые пины 15 и 8 просто оставляю в воздухе. Думаю, принцип понятен. С энкодерами - аналогично. На схеме я ради простоты не подключил кнопки энкодеров, их нужно подключать в общую матрицу, как и любые другие кнопки. То, что происходит по нажатию кнопки, задается в двух частях кода: - символы всех кнопок char buttons[NUMROWS][NUMCOLS] = { {'q','w','e','r','t'}, {'y','u','i','o','p'}, {'a','s','d','f','g'}, {'h','j','k','l','z'}, {'x','c','v','b','n'}, }; - и то, как они "нажимаются" Keyboard.press(KEY_LEFT_CTRL); Keyboard.press(KEY_LEFT_ALT); Keyboard.press(key); delay(150); Keyboard.releaseAll(); Т.е. всем 25 возможным кнопкам определен какой-то символ - q,w,e,r и т.п. Их нажатие я сделал совместно с LEFT_CTRL + LEFT_ALT с теми соображениями, что такие трехкнопочные комбинации будут достаточно уникальны и не повлияют на те кнопки, которые уже возможно назначены и используются. То, что "нажимают" энкодеры, задается в структуре: rotariesdef rotaries[NUMROTARIES] { {0,1,KEY_RIGHT_ARROW,KEY_LEFT_ARROW,0}, {2,3,KEY_DOWN_ARROW,KEY_UP_ARROW,0}, {4,5,KEY_PAGE_UP,KEY_PAGE_DOWN,0}, {6,7,KEY_HOME,KEY_END,0}, }; Т.е. первый энкодер при кручении против часовой стрелки будет "нажимать" курсор вправо, по часовой - курсор влево, второй энкодер - против часовой курсор вниз, по часовой курсор вверх и т.д. Коды описаны здесь В целом вроде все. Скетч: buttsimp.zip Изменено 26 марта, 2016 пользователем TOPMO3 6 Ссылка на комментарий
Moutant Опубликовано 26 марта, 2016 Поделиться Опубликовано 26 марта, 2016 Такое уже продавать можно;) Ссылка на комментарий
D.B.Cooper Опубликовано 26 марта, 2016 Поделиться Опубликовано 26 марта, 2016 А где такую коробочку достать? Мне единственное чего не хватает, так это корпуса, все остальное уже давно лежит-пылится. Ссылка на комментарий
GranDoxin Опубликовано 26 марта, 2016 Поделиться Опубликовано 26 марта, 2016 Дим, как это все в винде определяется, просто некое устройство? а в симе назначается как клавиатура? Ссылка на комментарий
TOPMO3 Опубликовано 26 марта, 2016 Автор Поделиться Опубликовано 26 марта, 2016 А где такую коробочку достать? Мне единственное чего не хватает, так это корпуса, все остальное уже давно лежит-пылится. так я же дал ссылку, где покупал - http://www.chipdip.ru/product/g1183b/ Это наиболее подходящая, какую нашел. В идеале, наверно, мне бы хотелось побольше. Если кто еще какой вариант найдет - киньте ссылку, пожалуйста Дим, как это все в винде определяется, просто некое устройство? а в симе назначается как клавиатура? В винде определяется как клавиатура. иР у меня вообще не делает различий между родной клавой и им. Просто определяет, что нажата комбинация клавиш. 3 Ссылка на комментарий
Sertifikator Опубликовано 1 апреля, 2016 Поделиться Опубликовано 1 апреля, 2016 (изменено) С помощью Arduino хочу сделать приборную панель, которая будет показывать спидометр, тахометр, поворотники и стояночный тормоз. Для этого хочу использовать 2 сервопривода. Какую Arduino мне можно использовать для этой цели? Arduino UNO R3 на ATmega8U2 Arduino UNO R3 на CH340G Arduino Mega2560 Rev3 на CH340G Arduino Nano v3 на CH340G Arduino Leonardo Где можно найти инструкцию подключения 2 сервоприводов к Arduino? Я смог найти как подключать только один сервопривод. А для двух и более нужен дополнительный источник питания. Изменено 1 апреля, 2016 пользователем Sertifikator Ссылка на комментарий
TOPMO3 Опубликовано 1 апреля, 2016 Автор Поделиться Опубликовано 1 апреля, 2016 Любой. Если разница в цене невелика, то я бы не брал ch340g, на него просто отдельно драйвера нужно искать и ставить, но тоже работает надо смотреть схему как серво подключается, только непонятно, а для чего на приборах серво, шаговики не будут дешевле? вот пример на шаговиках 1 Ссылка на комментарий
Sertifikator Опубликовано 1 апреля, 2016 Поделиться Опубликовано 1 апреля, 2016 надо смотреть схему как серво подключается, только непонятно, а для чего на приборах серво, шаговики не будут дешевле? вот пример на шаговиках Я не очень в этом разбираюсь, но во всех примерах, которые я нашёл почему-то использовали именно сервоприводы: http://usamodelkina.ru/7080-pribornaya-panel-dlya-ets-2-na-arduino-uno-r3.html http://ahrameev.ru/project/kak-samomu-sobrat-pribornuyu-panel-dlya-live-for-speed.html И писали, что если использовать шаговые двигатели, то придётся переписывать программу. Если бы я нашёл пример с шаговыми двигателями, то конечно предпочёл бы использовать их. 1 Ссылка на комментарий
TOPMO3 Опубликовано 2 апреля, 2016 Автор Поделиться Опубликовано 2 апреля, 2016 а тот пример на шаговиках, который я дал, чем не нравится? По поводу питания - здесь сильно зависит от того, сколько может выдавать твой УСБ - порт, м.б. он у тебя все потянет без дополнительного БП. На схеме ведь это никак не отражается, собери с начала с питанием только от УСБ, а если будет нехватать - добавишь БП или батарейки Ссылка на комментарий
Sertifikator Опубликовано 2 апреля, 2016 Поделиться Опубликовано 2 апреля, 2016 а тот пример на шаговиках, который я дал, чем не нравится? По поводу питания - здесь сильно зависит от того, сколько может выдавать твой УСБ - порт, м.б. он у тебя все потянет без дополнительного БП. На схеме ведь это никак не отражается, собери с начала с питанием только от УСБ, а если будет нехватать - добавишь БП или батарейки Нравится, но есть 2 проблемы на этот счёт. Есть уже готовая программа для конкретной игры для схемы с использованием сервоприводов. И я не уверен, что она также будет работать с шаговиками. И второе, это то что для схемы с сервоприводами есть хоть какие-то конкретные инструкции по подключению - "куда какой провод сувать". Опыта у меня в этом деле нет и мне бы хотелось найти инструкцию где с самого начала до конца объясняют что нужно делать. Ссылка на комментарий
Рекомендуемые сообщения