MYCYJIbMAHUH Опубликовано: 12 мая 2017 Опубликовано: 12 мая 2017 Запаял три педальных платы.Всё работает. 1
Void_VR Опубликовано: 12 мая 2017 Опубликовано: 12 мая 2017 Кто-нибудь может подсказать как работает функция оси-в-кнопки ?
Krysnic Опубликовано: 12 мая 2017 Опубликовано: 12 мая 2017 Кто-нибудь может подсказать как работает функция оси-в-кнопки ? При достижении указанного значения оси(в %) срабатывает назначенная кнопка. Например у И-16 при оборотах от 92%(в игре) начинается форсажный режим плюс еще надо нажать кнопку форсажа. Так вот указываем ось оборотов, проценты для срабатывания и нужную кнопку. И при увеличении оборотов до максимума у нас автоматом включается форсаж. 1
MYCYJIbMAHUH Опубликовано: 12 мая 2017 Опубликовано: 12 мая 2017 Кто-нибудь может подсказать как работает функция оси-в-кнопки ? Например: Когда я тяну на себя РУС то у меня происходит выпуск закрылок почти в самом конце хода оси Тангажа. В конфигураторе (на картинке) прописана кнопка которая выпускает закрылки.Далее прописана ось.Далее прописано когда будет происходить включение кнопки. 1
=FA=CATFISH Опубликовано: 12 мая 2017 Опубликовано: 12 мая 2017 (изменено) Ахтунг! Читеры!) Никакой не ахтунг. Очень своевременный пост. Перевод министика РУД Кота в режим кнопок очень полезен ввиду отстойной прямой совместимости контроллера и єтого министика в качестве осей Кое-кто тут даже тему мутил по переоснащению Котов с помощью 4КНР за бешенные гроши Изменено 12 мая 2017 пользователем =FA=CATFISH
GalDER Опубликовано: 13 мая 2017 Опубликовано: 13 мая 2017 Давно не шерстил форум, а здесь нарвался на анонс в ВКБ по поводу ручек РУСа MCG. Интересно,сможет ли ММджой состыковаться и полноценно работать с этой ручкой?
capitanblood Опубликовано: 13 мая 2017 Опубликовано: 13 мая 2017 Давно не шерстил форум, а здесь нарвался на анонс в ВКБ по поводу ручек РУСа MCG. Интересно,сможет ли ММджой состыковаться и полноценно работать с этой ручкой?Без переделок с версией для TM Warthog. Хотя я не думаю что адаптировать другие версии будет кардинально сложно.
=VIRPIL=mega_mozg_13 Опубликовано: 13 мая 2017 Автор Опубликовано: 13 мая 2017 про прямое подключение продукции ВКБ. у ВКБ свой цифровой протокол связи: или они поделяться информацией как его использовать или его "ломать". если ручка через переходник будет совместима с ТМ то сюда подключение просто в лоб. Никакой не ахтунг. Очень своевременный пост. Перевод министика РУД Кота в режим кнопок очень полезен ввиду отстойной прямой совместимости контроллера и єтого министика в качестве осей Кое-кто тут даже тему мутил по переоснащению Котов с помощью 4КНР за бешенные гроши если министик дает малое количество отсчетов, можно использовать усилитель и растащить вытянуть сигнал. схемы его есть в платках схемках.
=FA=CATFISH Опубликовано: 13 мая 2017 Опубликовано: 13 мая 2017 если министик дает малое количество отсчетов, можно использовать усилитель и растащить вытянуть сигнал. схемы его есть в платках схемках. Да я в этой теме уже постил схему усилителя. Пока еще руки не дотянулись до изготовления. Но не уверен, что даже после ее изготовления буду пользоваться этими осями. Так, что преобразование их в кнопки кажется более привлекательным
dim666 Опубликовано: 13 мая 2017 Опубликовано: 13 мая 2017 Подскажите, а возможно ли на MMJoy2 собрать (даже не знаю, как это назвать) "матрицу со сдвиговом регистром"? Т.е. например если есть диодная матрица кнопок 4х8 (которой нужно 4+8=12 пинов), то благодаря одному сдвиг.регистру 74HC165 (на входы которого "повесить" 8 "столбцов" матрицы) получить конфигурацию, которой нужно будет уже всего 4+3=7 пинов (4 пина "строк" матрицы и 3 пина, нужные для работы регистра). Т.е. что-то типа такого: чтобы в цикле поочерёдно включалась очередная ножка "строки" B0-B3 и опрашивался регистр. И второй вопрос: Не планирует ли кто заказывать в Китае печатные платы шилда для pro-micro и TLE5010? Или может быть в Москве у кого-нибудь есть лишние печатки для двух TLE5010? С радостью бы приобрёл.
Krysnic Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 Подскажите, а возможно ли на MMJoy2 собрать (даже не знаю, как это назвать) "матрицу со сдвиговом регистром"? Т.е. например если есть диодная матрица кнопок 4х8 (которой нужно 4+8=12 пинов), то благодаря одному сдвиг.регистру 74HC165 (на входы которого "повесить" 8 "столбцов" матрицы) получить конфигурацию, которой нужно будет уже всего 4+3=7 пинов (4 пина "строк" матрицы и 3 пина, нужные для работы регистра). Т.е. что-то типа такого: чтобы в цикле поочерёдно включалась очередная ножка "строки" B0-B3 и опрашивался регистр. И второй вопрос: Не планирует ли кто заказывать в Китае печатные платы шилда для pro-micro и TLE5010? Или может быть в Москве у кого-нибудь есть лишние печатки для двух TLE5010? С радостью бы приобрёл. Ничего не понял, как и зачем Сдвиговые регистры подключаются по SPI требуется 5 контактов из которых три общих и к диодной матрице они не имеют ни какого отношения. Сдвиговые регистры подключаются последовательно, у вас указано 8 регистров к ним можно подключить 64 кнопки. И при этом будут задействованы только 5 контактов на платке контроллера: GND, VCC, CSK это общие и еще два например F4, F5.
=FA=CATFISH Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 Ничего не понял, как и зачем Сдвиговые регистры подключаются по SPI требуется 5 контактов из которых три общих и к диодной матрице они не имеют ни какого отношения. Сдвиговые регистры подключаются последовательно, у вас указано 8 регистров к ним можно подключить 64 кнопки. И при этом будут задействованы только 5 контактов на платке контроллера: GND, VCC, CSK это общие и еще два например F4, F5. Ну может надо зачем-то человеку. Судя по прошивальщику можно организовать две ветки сдвиговых регистров. Насколько я понял из регистров разных типов регистров в каждой из них. Сам не пробовал. Подскажите, а возможно ли на MMJoy2 собрать (даже не знаю, как это назвать) "матрицу со сдвиговом регистром"? Т.е. например если есть диодная матрица кнопок 4х8 (которой нужно 4+8=12 пинов), то благодаря одному сдвиг.регистру 74HC165 (на входы которого "повесить" 8 "столбцов" матрицы) получить конфигурацию, которой нужно будет уже всего 4+3=7 пинов (4 пина "строк" матрицы и 3 пина, нужные для работы регистра). Т.е. что-то типа такого: чтобы в цикле поочерёдно включалась очередная ножка "строки" B0-B3 и опрашивался регистр. И второй вопрос: Не планирует ли кто заказывать в Китае печатные платы шилда для pro-micro и TLE5010? Или может быть в Москве у кого-нибудь есть лишние печатки для двух TLE5010? С радостью бы приобрёл. Могу предложить отмеченные платки
Krysnic Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 Ну может надо зачем-то человеку. Судя по прошивальщику можно организовать две ветки сдвиговых регистров. Насколько я понял из регистров разных типов регистров в каждой из них. Сам не пробовал. Можно, это может быть две ветки но в каждой ветке должны быть регистры одного типа. То есть одна ветка с 4021, а другая с 74HC165 или две ветки с 74HC165(4021). Плюс еще и матрицу кнопок можно сделать. Могу предложить отмеченные платки 44.jpg Это платки для модификации твиста?
=FA=CATFISH Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 Можно, это может быть две ветки но в каждой ветке должны быть регистры одного типа. То есть одна ветка с 4021, а другая с 74HC165 или две ветки с 74HC165(4021). Плюс еще и матрицу кнопок можно сделать. Пардон неправильно напечатал - действительно в каждой ветке - одинаковые регистры
Void_VR Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 Спасибо за ответы на вопрос про ось-в-кнопку! Следующий вопрос - требуется ли обвязка энкодера (резисторы, конденсаторы) при подключении через сдвиговый регистр?
Krysnic Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 Спасибо за ответы на вопрос про ось-в-кнопку! Следующий вопрос - требуется ли обвязка энкодера (резисторы, конденсаторы) при подключении через сдвиговый регистр? Через сдвиговые регистры ничего не надо. Да и резисторы/конденсаторы нужны для датчиков, а для кнопок диоды. 1
=V=Heromant Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 Ничего не понял, как и зачем Сдвиговые регистры подключаются по SPI требуется 5 контактов из которых три общих и к диодной матрице они не имеют ни какого отношения. Сдвиговые регистры подключаются последовательно, у вас указано 8 регистров к ним можно подключить 64 кнопки. И при этом будут задействованы только 5 контактов на платке контроллера: GND, VCC, CSK это общие и еще два например F4, F5.Вообще, человек все правильно спрашивает. В его варианте действительно выходит экономия и места в устройстве и используемых пинов. Правда он забыл, что для работы 165ых понадобится еще "защелка", по которой будут данные забираться, а это +1 пин контроллера.8 регистров, да еще и каждый на отдельной плате, занимают достаточно много места. Вариант организации матрицы с таким же количеством кнопок потребует всего одного регистра.
capitanblood Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 Через сдвиговые регистры ничего не надо. Да и резисторы/конденсаторы нужны для датчиков, а для кнопок диоды.А ВКБ советуют ставить RC фильтр на энкодеры при подключении к их платам расширения, основанных на регистрах 4021. Повышает четкость срабатывания.
dim666 Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 (изменено) Ничего не понял, как и зачем Сдвиговые регистры подключаются по SPI требуется 5 контактов из которых три общих и к диодной матрице они не имеют ни какого отношения. Сдвиговые регистры подключаются последовательно, у вас указано 8 регистров к ним можно подключить 64 кнопки. И при этом будут задействованы только 5 контактов на платке контроллера: GND, VCC, CSK это общие и еще два например F4, F5. "Зачем" - чтобы сэкономить на ножках pro-micro при подключении матрицы кнопок. Я не знал, что число, которое я указал как "8", - это количество последовательно подключенных регистров (я подумал, что это фактическое количество кнопок). Если так, то оно, конечно же, должно там быть "1" (т.е. один регистр). Попробую ещё раз объяснить смысл "желаемого". Имеется матрица кнопок в 4 строки и 8 столбцов. Если подключать её именно как "матрицу", то на pro-micro придётся занять 4+8=12 ножек. Но раз "столбцы" матрицы - это обычные цифровые выходы (выдают "0" либо "1"), то теоретически их можно подключить к входам D0-D7 регистра 74HC165. И тогда от pro-micro для опроса столбцов понадобилось бы всего 3 ножки (CSK, и те два, которые укажу в конфигураторе; VCC и GND в расчёт не берём) вместо 8. Более того, если планируется использовать TLE501х (а я бы это тоже хотел), то CSK уже будет задействован (он как я понимаю, общий для всех SPI-устройств). И вообще получается, что только 2 ножки нужны будут => экономия в 6 ножек. Соответственно проблема только одна: умеет ли контроллер опрашивать регистр, переключая "строки" матрицы? Ведь тут нужно поочерёдно включать одну их четырёх строк матрицы и только потом читать по SPI регистр - чтобы т.о. были опрошены кнопки этой строки матрицы. Изменено 14 мая 2017 пользователем dim666
=V=Heromant Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 "Зачем" - чтобы сэкономить на ножках pro-micro при подключении матрицы кнопок. Я не знал, что число, которое я указал как "8", - это количество последовательно подключенных регистров (я подумал, что это фактическое количество кнопок). Если так, то оно, конечно же, должно там быть "1" (т.е. один регистр). Попробую ещё раз объяснить смысл "желаемого". Имеется матрица кнопок в 4 строки и 8 столбцов. Если подключать её именно как "матрицу", то на pro-micro придётся занять 4+8=12 ножек. Но раз "столбцы" матрицы - это обычные цифровые выходы (выдают "0" либо "1"), то теоретически их можно подключить к входам D0-D7 регистра 74HC165. И тогда от pro-micro для опроса столбцов понадобилось бы всего 3 ножки (CSK, и те два, которые укажу в конфигураторе; VCC и GND в расчёт не берём) вместо 8. Более того, если планируется использовать TLE501х (а я бы это тоже хотел), то CSK уже будет задействован (он как я понимаю, общий для всех SPI-устройств). И вообще получается, что только 2 ножки нужны будут => экономия в 6 ножек. Соответственно проблема только одна: умеет ли контроллер опрашивать регистр, переключая "строки" матрицы? Ведь тут нужно поочерёдно включать одну их четырёх строк матрицы и только потом читать по SPI регистр - чтобы т.о. были опрошены кнопки этой строки матрицы. Не совсем так: Ноги MISO, MOSI, SCK - общие для данной конкретной шины, для всех устройств которые на ней расположены. При этом все устройства на шине располагают последовательно. Для того чтобы разные устройства на одной шине располагать параллельно - надо использовать ноги CS, что опять же занимает дополнительные ноги контроллера. Чтобы определить, что можно подключать последовательно, что параллельно - надо смотреть документацию на конкретные устройства, т.к. кроме всего прочего надо учитывать еще и протокол обмена. По совместимости ТЛЕ и 165ых при использовании на одной шине, к сожалению, ничего сказать не могу, т.к. с ТЛЕшками я не работал. Не забывайте, что 165ым необходим сигнал на защелкивание данных в регистре, а это еще одна нога в контроллере. Можно конечно решить это чисто схемотехникой - но легко получить вместо актуальных данных какой-нибудь левый мусор, если не учтешь алгоритм обработки данных контроллером.
=VIRPIL=mega_mozg_13 Опубликовано: 14 мая 2017 Автор Опубликовано: 14 мая 2017 зачем убивать еще четыре ножки контроллера на строки для регистров, если можно поставить просто цепочкой столько их сколько нужно кнопок?
=V=Heromant Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 зачем убивать еще четыре ножки контроллера на строки для регистров, если можно поставить просто цепочкой столько их сколько нужно кнопок? Виталь, согласись, что это не самый компактный вариант для устройства. Мало ли, какие могут быть ограничения и хотелки.
=V=Heromant Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 Так, чисто для примера, плата с регистрами для не очень большой кучи кнопок и чуть большей кучи светодиодов. Ширина - с короткую сторону листа А5. Чуток поменьше. Это конечно больше по размеру, чем потребуется автору исходного вопроса, но все же это нужно учитывать при проектировании устройства.
dim666 Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 (изменено) Здравствуйте, Виталий! зачем убивать еще четыре ножки контроллера на строки для регистров, если можно поставить просто цепочкой столько их сколько нужно кнопок?Не совсем понял, почему "еще четыре ножки контроллера"... Эти 4 ножки на строки по-любому придётся задействовать - что при использовании "матрицы кнопок", что при моей предполагаемой схеме.Попробую на абстрактом языке объяснить, чего хочется. В случае с "матрицей кнопок" обрабатывалось бы наверно как-то так (строки матрицы на пинах B0,B1,B2,B3; столбцы - на D0,D1,D2,D3,D7,B4,B5): rowPins[] = {B0,B1,B2,B3}; // пины строк матрицы columnPins[] = {D0,D1,D2,D3,D7,B4,B5}; // пины столбцов матрицы buttonsPressed = 0; // битовый набор нажатых кнопок for (int i = 0; i < rowPins.length; i++) { turnOnPin(row[i]); // включаем очередную строку for (int j = 0; j < columnPins.length; j++) { value = isPinTurnOn(columnPins[j]); // опрашиваем столбец матрицы buttonsPressed |= (value << (columnPins.length * i + j)); } turnOffPin(row[i]); // выключаем строку } return buttonsPressed; А хочется такого (строки матрицы на тех же пинах B0,B1,B2,B3; регистр 74HC165, на который подключены столбцы, - на пинах F4 и F5): rowPins[] = {B0,B1,B2,B3}; // пины строк матрицы buttonsPressed = 0; // битовый набор нажатых кнопок for (int i = 0; i < rowPins.length; i++) { turnOnPin(row[i]); // включаем очередную строку value = readByteFromRegister(F4, F5); // опрашиваем единственный регистр с CS на F4, DATA на F5 buttonsPressed |= (value << 8); // сдвигаем на 8 бит и дописываем в набор turnOffPin(row[i]); // выключаем строку } return buttonsPressed; Итого вместо 4+8=12 пинов на pro-micro нужно всего 4+2=6 (ну и ещё SPI-SCK нужен; но он итак будет задействован, если например TLE501x будет использоваться).А ведь если у кого-то будет матрица с ещё бОльшим количеством столбцов, то потребуются все те же 6 пинов, ведь при последовательном соединении регистров им нужны будут все те же 2 пина... можно поставить просто цепочкой столько их сколько нужно кнопок?А как мне поможет цепочка регистров? У меня нет выходов с 32 кнопок. У меня есть матрица 4х8 - т.е. 4 провода строк и 8 проводов столбцов. Как их "разложить" на входы регистров? Это ж нужно тогда ломать "электронику матриц"... Изменено 14 мая 2017 пользователем dim666
=V=Heromant Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 У меня нет выходов с 32 кнопок. У меня есть матрица 4х8 - т.е. 4 провода строк и 8 проводов столбцов. Как их "разложить" на входы регистров? Это ж нужно тогда ломать "электронику матриц"... Разложить на входы можно, хотя и придется немного повозиться. Берем 4 регистра. Защелку каждого из них вешаем на соответствующую строку (согласовав логические уровни так, как требуется для работы логики). А столбцы параллелим на все регистры одинаково. Тогда обычным для матрицы способом защелкиваем значения в соответствующих регистрах, после чего считываем эти значения стардартным для регистров способом. Даже прошивку править не надо. Чисто электрическим путем все решается. Забыл добавить, что собственно электроника самой матрицы при этом остается в целости и сохранности.
Alex_Oz Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 (изменено) dim666 "мае рацыю" (бел) - матрица в комбинации с регистром имеет некоторый смысл. Такое решение используется в Гладиаторе и его "младших собратьях". Причем это не мешает наращиванию регистров в этой линии. Изменено 14 мая 2017 пользователем Alex_Oz
dim666 Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 (изменено) =V=Heromant, это действительно вариант (логически только нужно будет инвертировать защёлки в строки, т.к. "активная" строка та, на которой "0"; столбцы подтянуты на "+5").Но это ведь будет 4 отдельных регистра (не последовательных), раз у каждого будет своя защёлка SR-CS.Разве такое можно сконфигурировать? В моём MMJoySetup.exe можно только 2 регистра указать. Изменено 14 мая 2017 пользователем dim666
=V=Heromant Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 =V=Heromant, это действительно вариант (логически только нужно будет инвертировать защёлки в строки, т.к. "активная" строка та, на которой "0"; столбцы подтянуты на "+5"). Но это ведь будет 4 отдельных регистра (не последовательных), раз у каждого будет своя защёлка SR-CS. Разве такое можно сконфигурировать? В моём MMJoySetup.exe можно только 2 регистра указать. Зачем отдельные? Они объединяются последовательно в одну цепь. СS для всех один и тот же, должен быть активным пока ведется работа с матрицей и цепочкой. Что касается обработки именно ММДжоем - лучше спросить Виталия. В своих устройствах я решил бы эту задачку за пять минут добавив пару-тройку строк кода там где надо...
-=MULT=-GRAF_GF Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 Уважаемые специалисты! Подскажите, пожалуйста, новичку. Имею прошитую "ProMicro" на ОС Win7. Подключил для теста потенциометр к платке контроллера - "MMJoySetup" его видит, а кнопки не видит. Точнее при нажатии на любую кнопку из матрицы в программе "MMJoySetup" идет срабатывание только кнопки 1, какую бы не нажимал. Всего к платке нужно подключить 65 кнопок и 3 оси, делаю пульт. Сделал 4 кнопки на контактной плате для теста, не работает. Причем сработка кнопок идет только на потах "D3" и "D2". Попытка назначить ряды и колонки на другие ножки платы ни к чему не приводит. Не подскажите в чем может быть проблема? Не правильно подключил/назначил кнопки? Прошивал все по инструкции, все прошло корректно. Тут как подключил и не работает: https://pp.userapi.com/c639628/v639628983/1d673/45UmeW1rsF8.jpg Тут подключение, но срабатывает 1 кнопка: https://pp.userapi.com/c639628/v639628983/1d67d/MQi7J_IETpc.jpg
dim666 Опубликовано: 14 мая 2017 Опубликовано: 14 мая 2017 Зачем отдельные? Они объединяются последовательно в одну цепь. СS для всех один и тот же, должен быть активным пока ведется работа с матрицей и цепочкой.Эм, не понял. Вы же писали: Берем 4 регистра. Защелку каждого из них вешаем на соответствующую строкуЧто тогда есть "защёлка"? Я думал, это и есть CS (1-я ножка регистра 74HC165, которую контроллер будет включать на время опроса, чтобы активировать обмен данными по SPI). А если она будет одна, то как же строки переключать? (кстати по спецификации эта ножка уже инвертированная)
Void_VR Опубликовано: 15 мая 2017 Опубликовано: 15 мая 2017 Через сдвиговые регистры ничего не надо. Да и резисторы/конденсаторы нужны для датчиков, а для кнопок диоды. Я почему спросил - в соседней ветке (Заказ плат из Китая) в составе платы №1 есть две платки для энкодеров, на которые впаивается два резистора и два конденсатора. Нашел описание подобной схемы подключения http://chipenable.ru/index.php/how-connection/item/9-sopryagaem-enkoder-i-mikrokontroller.html . Т.е. получается, что сдвиговые регистры сами дребезг устраняют?
=V=Heromant Опубликовано: 15 мая 2017 Опубликовано: 15 мая 2017 Эм, не понял. Вы же писали:Что тогда есть "защёлка"? Я думал, это и есть CS (1-я ножка регистра 74HC165, которую контроллер будет включать на время опроса, чтобы активировать обмен данными по SPI). А если она будет одна, то как же строки переключать? (кстати по спецификации эта ножка уже инвертированная)Посмотрите внимательно документацию на 165ый. CS - это нога активации чипа в интерфейсе. Если смотреть в описании чипа - это нога СЕ (Clock Enable Input). Она активируется одновременно для всех 4х регистров.Между собой чипы объединяются в цепочку с помощью ног Q7(Serial Data Out) и DS (Serial Data Input).А еще есть нога PL (Parallel Enable Input). Вот эта нога и есть "защелка", которая отвечает за загрузку регистра данными с параллельных входов. Тоесть, надо активировать эту ногу низким уровнем у соответствующего регистра в тот момент, когда активируется нужная строка матрицы. Регистр сохраняет в своем буфере данные и готов к их передаче. После этого нога PL деактивируется переводом в логическую единицу. Потом то же самое производится со следующим регистром и т.д. Когда все регистры загружены, активируется CS всех 4х регистров одновременно и производится чтение 4х байт данных. Раз ММДжой умеет работать с платами регистров - то эту операцию он должен выполнить без проблем и танцев с бубном. Главное только правильно увязать ноги PL с матрицей и регистры между собой.
=FA=CATFISH Опубликовано: 15 мая 2017 Опубликовано: 15 мая 2017 Уважаемые специалисты! Подскажите, пожалуйста, новичку. Имею прошитую "ProMicro" на ОС Win7. Подключил для теста потенциометр к платке контроллера - "MMJoySetup" его видит, а кнопки не видит. Точнее при нажатии на любую кнопку из матрицы в программе "MMJoySetup" идет срабатывание только кнопки 1, какую бы не нажимал. Всего к платке нужно подключить 65 кнопок и 3 оси, делаю пульт. Сделал 4 кнопки на контактной плате для теста, не работает. Причем сработка кнопок идет только на потах "D3" и "D2". Попытка назначить ряды и колонки на другие ножки платы ни к чему не приводит. Не подскажите в чем может быть проблема? Не правильно подключил/назначил кнопки? Прошивал все по инструкции, все прошло корректно. Тут как подключил и не работает: https://pp.userapi.com/c639628/v639628983/1d673/45UmeW1rsF8.jpg Тут подключение, но срабатывает 1 кнопка: https://pp.userapi.com/c639628/v639628983/1d67d/MQi7J_IETpc.jpg Каждое переназначение портов необходимо записать в контроллер. Иначе переназначение ничего не даст. На второй схеме - все абсолютно правильно. Ты ж кнопки запараллелил. Вот и срабатывают все как одна
RenderG Опубликовано: 15 мая 2017 Опубликовано: 15 мая 2017 два конденсатора. Имхо, там конденсаторы как перемычки используются. Хотя могу и ошибаться.
-=MULT=-GRAF_GF Опубликовано: 15 мая 2017 Опубликовано: 15 мая 2017 Каждое переназначение портов необходимо записать в контроллер. Иначе переназначение ничего не даст. На второй схеме - все абсолютно правильно. Ты ж кнопки запараллелил. Вот и срабатывают все как одна Спасибо! Я об этом не подумал даже. Опыта нет с контроллерами. Буду пробовать!
=V=Heromant Опубликовано: 15 мая 2017 Опубликовано: 15 мая 2017 В дополнение к этому посту: https://forum.il2sturmovik.ru/topic/4664-mmjoy2-besplatnaya-proshivka-i-soft-dlya-samodelnogo-k/page-23?p=529189&do=findComment&comment=529189. Виталий сказал, что в лоб, чисто средствами ММДжой, опрос матрицы с регистром реализовать не удастся. Это значит, что надо придумывать внешний механизм опроса матрицы, чтобы заталкивать ее значения в регистры. А с помощью ММДжой уже считывать эти данные. Увязывать опрос логичней всего именно с опросом регистров, так что тут есть поле для фантазии. Самое главное - это укладываться с записью данных в регистры между интервалами их считывания, иначе вместо актуальных данных будет непонятная каша.
Void_VR Опубликовано: 15 мая 2017 Опубликовано: 15 мая 2017 Подключил 4 сдвиговых 4021, все кнопки отрабатывают как положено. Долго возился с энкодерами, так и не понял нескольких моментов: 1. Насколько я понял, проверить работу энкодера можно только привязав к виртуальной оси ... может еще есть какие-то способы? 2. Если в конфигураторе в поле "Энкодеры" указываю привязанные к энкодеру кнопки, то после записи в контроллер ни одного сигнала с энкодера не приходит, как ни крути. Энкодер начинает работать только при пустых значениях в этом поле и заполненных в полях мапинга кнопок (правое поле): 3. При любой активности энкодера назначеные кнопки мигают как сумасшедшие, в джойтестере в разделе Buttons постоянный скролл секунд 20: 4. При относительно плавном вращении иногда идет перескок значения на несколько шагов сразу. Причем подключал как напрямую так и через резисторы и конденсаторы по схеме защиты от дребезга. Собственно вопрос - так и должно быть или я что-то делаю неверно?
Krysnic Опубликовано: 15 мая 2017 Опубликовано: 15 мая 2017 Подключил 4 сдвиговых 4021, все кнопки отрабатывают как положено. Долго возился с энкодерами, так и не понял нескольких моментов: 1. Насколько я понял, проверить работу энкодера можно только привязав к виртуальной оси ... может еще есть какие-то способы? Сделайте как я нарисовал
dim666 Опубликовано: 15 мая 2017 Опубликовано: 15 мая 2017 CS - это нога активации чипа в интерфейсе. Если смотреть в описании чипа - это нога СЕ (Clock Enable Input). Когда все регистры загружены, активируется CS всех 4х регистров одновременно и производится чтение 4х байт данных.Вы уверены, что CS в интерфейсе конфигуратора - это нога "Clock Enable Input" чипа 74HC165 (т.е. 15-я нога)? Судя по разводкам плат в "MMJOY2 [v20161101].rar" (например плата "ProMicroShield" из MMJoy2_ProMicro_Shiled.lay6), CS - это как раз "защелка" "Parallel Enable Input" (т.е. 1-я нога 74HC165). А "Clock Enable Input" там всегда активирован (на землю подключен, т.к. он инвертированный). Соответственно ММДжой эту ногу CS должен выключать+включать всего лишь на один "тик" для загрузки регистров. И только потом читать данные с пина DATA (9-я нога последнего в цепочке регистра) за 8*<количество регистров> тиков. Так что ваша схема с распараллеливанием столбцов матрицы на регистры может сработать. Но только для двух строк. Т.к в интерфейсе всего 2 регистра можно описать. А тут нужны именно независимые регистры, т.к. CS каждого из них нужно вешать на одну из строк матрицы.
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас