Одновременное нажатие 10 кнопок из любых 120
- Войдите на сайт для отправки комментариев
Вс, 23/12/2018 - 20:20
Нужно нажать одновременно 10 кнопок из 120. Справиться ли ардуино mega2560 ? нужно не только подключить 120 кнопок, а нажать одновременно не меньше 10. Teensy 2.0 нужна или нет для данных целей? Кто что знает подскажите. Неужели никто не делал ещё?
Теоретически - справится. Не любых, конечно, но 10 штук покрыть должна. Я приложил к своей клавиатуре - размер позволяет.
Справится Может даже Нано/Уно. Вопрос как клавиатура организована.
Берите две микросхемы EDE1188, (или две микросхемы MAX7360) подключайте их к любой ардуине (любая потянет), подключайте к ним хоть 128 кнопок и нажимайте хоть на все сразу.
MAX7360 удобнее, т.к. там стандртный I2C интерфейс, а для EDE-шки писать саому придётся, но зато EDE-шка в более паябельных корпусах.
В принципе, таких микросхем вагон, если поискать. Можно выбрать. Ключевые слова для поиска "key switch controller IC".
10 - потому, что 10 пальцев? А если "в 4 руки"? ;))))
Берите две микросхемы EDE1188, (или две микросхемы MAX7360) п
Спасибо большое! Китайцы не продают такие микросхемы, где их найти? И где найти как их подключить.
Max 7360 поддерживает только до 64 кнопок, а тут надо 120.
Да просто взять пару сдвиговых регистров типа 74hc595 включенных каскадом и сделать матрицу 16х8
Я Вам дал ключевые слова для поиска, а Вы хотите. чтобы я ещё и иксал за Вас?
Ну, пожалуйста
1) http://www.sourceresearch.com/elab/ede1188.cfm (в DIP и в SOIC)
2) https://www.amazon.com/Maxim-Integrated-MAX7360ETL-General-Interface-I2C-Interfaced/dp/B073238B9Z (если Вы такие паять умеете)
Если не можете найти специализированную микросхему или она дорогая, делайте на контроллере. У микрочипа есть аппнота как это делается на примере ATmega162
Max 7360 поддерживает только до 64 кнопок, а тут надо 120.
Две поставить. Зато и дребезг и все прелести.
Ну, пожалуйста
1) http://www.sourceresearch.com/elab/ede1188.cfm (в DIP и в SOIC)
2) https://www.amazon.com/Maxim-Integrated-MAX7360ETL-General-Interface-I2C-Interfaced/dp/B073238B9Z (если Вы такие паять умеете)
Если не можете найти специализированную микросхему или она дорогая, делайте на контроллере. У микрочипа есть аппнота как это делается на примере ATmega162
Низкий вам поклон, спасибо большое, первые микросхемы заказать возможно, но как их с ардуино подружить, второй пример также не знаю как с ардуино подружить, спасибо большое! Как удастся что либо сделать расскажу как всё делается. Подскажите а teensy 2.0 плата не похожа по функциям?
Да просто взять пару сдвиговых регистров типа 74hc595 включенных каскадом и сделать матрицу 16х8
Подробнее подскажите, одновременно нажмутся кнопки без задержек? Спасибо большое!
Ну, там в даташите всё написано, там простой интерфейс, но готовых библиотек я не видел. Впрочем, и не искал.
там простой интерфейс
Подскажите, неужели ардуино как та микросхема не справится? 8 линий 8 столбиков, всё что делает та микросхема это с 16 ножек как и ардуино понимает что кнопку нажали. Ардуино тоже понимает что нажали, но ардуино не понимает что с ними делать с этими нажатиями так, что бы одновременно их зачислить. Так понимаю ардуину "выключает" после нажатия единственной кнопки и она уходит на "выходной", а почему бы такой мощной mega2560 и ещё одну бы кнопку не обработать и так целых 10 штук. Не дать mega2560 "отлынивать" после 1й единственной кнопки. Микросхема, которую Китайцы явно сделали бы не дороже 1$ с 8 столбиками и 8 линиями неужели умнее mega2560, делающей тоже самое. Программно неужели не удастся обработать как и той микросхеме ножки линий и колонок. Пытаюсь понять как mega2560 работает со своими "ногами" вот нажали ей 1 линию и 1 колонку, почему 10 не может ног она увидеть своих же. Китайская dip40 за 1.4$ WINBOND W78E052C40DL http://www.alldatasheet.com/view.jsp?Searchword=W78e052c40dl&gclid=Cj0KCQiAgf3gBRDtARIsABgdL3kBZxMwp_8qNybgdtc0nJuqxYMvB8lb_1mDWEToBRx8t9_64brlGf8aAhtBEALw_wcB микросхема схожая с atmega32 только 256 кб памяти 40мгц обрабатывает 93 кнопки одновременно в любых сочетаниях с любым количеством нажатий, ну сможет же atmega32 это точно если памяти хватит и мегагерц. Попытки были заставить atmega64 128 2560 это сделать но никак не удалось. Пришлось перейти на ардуино по причине сложной пайки mega2560 работать именно с ней. Она по расчётам должна с лёгкостью справиться с тем, с чем справляется WINBOND DIP40 за 1.4$
Подскажите, неужели ардуино как та микросхема не справится?
Конечно, справится. Это её прилично подгрузит, но справится безусловно. Если "подгрузка" великовата окажется, то можно на это просто выделить специальную ардуину.
В посте #7, в последней фразе я Вам давал ссылку на аппноту производителя ардуиновского микроконтроллера - там показано как это правильно делать. Там на примере другого микроконтроллера, но разницы никакой на самом деле.
В посте #7,
спасибо большое!
вот эта микросхема за 1.4$ winbond w78e052c40DL на 40мгц dip 40 с лёгкостью справляется с одновременным нажатием 172 кнопок! в любых сочетаниях, количествах без минимальнейшей задержки, стоит в миди клавиатуре 88клавиш + 88 клавиш силы нажатия 1 кнопка + еще 1 кнопка на каждой клавише, 2я кнопка считает время с момента нажатия 1й и так 88 шт. по 2, единственное устройство эта микросхема, подтяжки на 10ком лан-резисторы под одной крышей 8 в одном 2 шт. подтягивают ножки микросхемы, возле кварца 2 конденсатора у неё, 12х9 колонок-линий и 10х8 колонок-линий, больше там ничего нет диоды стоят на каждой кнопке из 88х2 кнопок резиновых. Неужели ардуино mega2560 не справится, заказал ардуино due увеличить мгц если они важны. всего 88 х 2 = 176 кнопок эта микросхема с лёгкостью обрабатывает, нажимать кнопки можно хоть попой как писали. обрабатывает winbond их с лёгкостью. Схему кнопок обрисую и диодов идущих от этого чипа. колонки-линии думаю используются что очевидно, 176 кнопок - так как клавиш 88 в инструменте и в каждой клавише 2 кнопки. 2 что бы считать разницу во времени между их нажатием. Неужели mega2560 не справится с тем что справляется чип в 5 раз дешевле.
ножки с 10к резисторами представляют обычные порты притянутые, где колонки где линии пока понять не могу, на верхнем рисунке слева и справа от ключа шины как в ардуино подключения линий-колонок кнопок отвечающих за подсчет времени после нажатия первой группы кнопок. линий-колонок 2 группы. 1я группа шины ардуино слева и справа от ключа микросхемы, 2я группа провода внизу колонки-линии, дополню диоды и уточню группы.
вид снизу
прозвонка сопротивлений 50 ом резисторы для чего то стоят за подтяжками на 10ком
пришёл к выводу что резисторы и диоды стоят, создавая матрицу ... с 10ком резисторами понятно, но 50ом резисторы что там делают? резисторы это верно же? может диоды какие могут быть? Выводы с линий и колонок все уходят на диоды к каждой !!!! кнопке стеклянные диоды красненькие. кнопок там 88х2 под резинками все. через диод каждая из 172. и возвращаются опять только в эти линии колонки. На фото видим 16 линий скорее всего и 10 колонок, но ещё 2 резистора справа внизу спрятаны и не дублируются с шиной похоже это 12 колонок всего. это 192 !!!!!!!! кнопок. Да, кроме клавиш там еще есть кнопки и потенциометр и всё это 1 чип за 1.4$ братцы !
Вот какая матричная клавиатура получилась на 172 кнопки там даже больше их, все нажимаются одновременно минимум 10 точно, и даже попой, скорее всего минимума нет ничего не тормозит, со скоростью света все работает на чипе за 1.4$ из алиэкспресс
Обвязка стоит на колонках и линиях резисторы на 50ом прозвонить если написано на плате 51 наверное ом. Это делали Китайцы, кто понимает их замысел напишите! Делал и с первого раза получилась такая же обвзяка на atmega16 справа порты с резисторами все были, слева сверху с диодами. Но тормозило, одновременно вообще тормозило слишком. Внешне 1 в один выглядит как и делал на atmega16 по обвязке. Кварц был встроенный и было 8мгц. Может частота низкая ? Так как у winbond 40мгц и он весь код программы в 40 раз быстрее выполняет. Может в этом скорость выше? Но одновременно были "пересечения" но и по 4-5 кнопок нажимались. Диоды стояли на каждой кнопке.
Вернувшись к фото очевидно что там линии - колонки работающие со скоростью света. Как так возможно на 1чипе всего лишь? Как Китайцы смогли а мы на форуме неужели не сможем? Братцы давайте докажем Китайцам что мы не глупее их. Что бы доказать нужно избавиться от тормозов на матричных клавиатурах и нужно без всяких сдвиговых регистров как на чипе на фото умудриться их туда уместить с одновременными нажатиями целых 172 примерно шт. не меньше влезло и без сдвиговых регистров!!!. Резисторы+диоды+winbond или ардуино осилит.
У пуха появился оратор-конкурент
У пуха появился оратор-конкурент
Спасибо всем большое!
Как Китайцы смогли а мы на форуме неужели не сможем? Братцы давайте докажем Китайцам что мы не глупее их.
Давайте! Начинайте, я пока IDE запускаю!
В общем даешь большой скачек на нашем форуме.https://ru.wikipedia.org/wiki/Большой_скачок
Давайте! Начинайте, я пока IDE запускаю!
Спасибо большое!
Главная причина: нах никому не нужно (ну, кроме Вас),
Так что Вам одному придётся.
Главная причина: нах никому не нужно (ну, кроме Вас),
Так что Вам одному придётся.
Я справлюсь) вышло 176 диодов, всем поможет зато решение вопроса
как и предполагалось кнопок 176
диодов 176
это важно!
В общем даешь большой скачек на нашем форуме
Большой скачёк дам!
Давайте! Начинайте, я пока IDE запускаю!
Спасибо большое!
Одному человеку часто трудно понять другого, но попробуй понять - ПОЧЕМУ над тобой глумятся?
Ты смешно агитируешь за решение примитивной задачи. Её уже много раз решали. Ну чуть-чуть изучи програмирование и сам сделаешь.Глуматься над предложением "всем форумом" решать примеры на "сложение и вычитание" (иносказательно).
На Нано-Уно-Мини стоит 328-ой контроллер, для программиста у него доступно 3 порта:D0..7, B0..5 и C0..5. У порта D контакты 0 и 1 заняты в UART - связь с внешним миром нужна? ;)).
Итого имеем 6+6+6 = 18 контактов, максимально клавиатура 9х9=81, удобно 6х12=72. Примеров кода для матричной клавиатуры - сколько угодно. Да и без примеров код "с листа" пишется.
Важны одновременные нажатия, если будут полезные идеи пишите.
это важно!
Я вот читал, читал... Никак не могу понять чем это занятие ВСЕМ может помочь и почему это так важно. Вы пианизмом что-ли занимаетесь?
Важны одновременные нажатия, если будут полезные идеи пишите.
1.Родное сердце! Ты больной? ЛЮБАЯ матричная клавиатура обрабатыват сколько угодно одновременных нажатий. (если про развязывающие диоды не забыто).
2. Какие идеи? Кому? Еще раз побеспокоюсь о твоем здоровье, нормально? Все уже написано до нас.
это важно!
Я вот читал, читал... Никак не могу понять чем это занятие ВСЕМ может помочь и почему это так важно. Вы пианизмом что-ли занимаетесь?
Я вот тоже не догоняю: У меня на синтезаторе - 61 клавиша, на старом Беккере - 85, для чего 120 - нихера не пойму, и почему 10 нажатий? Если музыкальный инструмент - то мало, потому что и правда можно в 4 руки играть, а если печатная машинка, то много.... я в задумчивости... ;)))))))))))))
120 - это 10 октав. Только таких инструментов нет.
120 - это 10 октав. Только таких инструментов нет.
Если еще и велосити мерить, то нужно 2 кнопки на клавишу. Тогда 5 октав. Обычный синт. Только для удобства игры всегда нужно делать не N*12, а N*12+1 или больше, чтобы гармонии удобнее закрывались.
Может на гармонике будет осьминог наяривать...
Уху, идет отбор машинисток:
одна - я печатаю 300 знаков в минуту.
другая - я печатаю 500 знаков в минуту.
третья - а я около трех тысяч в минуту.
начальник - все, вы приняты.
трятья, себе под нос - но такая х-ня выходит.
написал же 176 кнопок = 88 клавиш *2 для тех кто в танке, это больше чем 120, 120 левая рука цифрового аккордеона, 50% ответов было бесполезных. Есть что сказать - дополните, нет по теме что сказать - не дополняйте. Спасибо за ответы всем, кто ответил по теме. Кратко и понятно. Интереснее новичку услышать ваши ответы по матричной клавиатуре. Кто сделал и заработало например без сдвиговых регистров. Кому есть подсказать что про подводные камни. С матричной клавиатурой на ардуино впервые столкнулся. Лучше ближе к ардуино пишите ответы. А не "большой скачок" весело конечно, но не то что хотелось бы услышать. Вот например кто знает для чего резисторы 50ом ещё добавлены к подтяжкам. Удалось собрав все ответы понять, что ардуино справится. Но рабочих примеров находить ещё не удавалось до 10 одновременных нажатий, до 20 если в 4 руки верно, на деле используя педаль ещё больше, хотя бы до 10 нажатий осилить. Поэтому очень благодарен за ответы, 50% бесполезных ответов было, не по теме. От того что их больше информации 0.
Полезная информация была о применении микросхем ede1188, max7360, четко и сразу, о том что это и на матричной клавиатуре заработает, о эмуляции на примере atmega162, сдвиговые регистры 74hc595, это полезно очень оказалось, поддеркжу уно, нано, также важные ответы. Про большой скачок можно было и не писать. Это влилось не по теме. Для юмора есть отдельная ветка. Спасибо тем кто дал ответы по теме. На примере одной из клавиатур 88 клавиш показал на фото, что там колонки-линии, что многие и не знали как я, вот почему важен мозговой штурм. Итого большинство голосов считает что ардуино справится с одновременным нажатием без задержек свыше 10 кнопок. На деле всё не так просто бывает, но благодаря фото обычной матричной клавиатуры используемоей в MIDI инструменте все понимают, что 176 кнопок матрица и есть MIDI инструмент.
Итак продолжу показывать и ожидать новые советы если их будет не хватать, пока ответам очень рад, жду появления новых рекомендаций. Волнует пока вопрос - подтягивающие резисторы и диоды понятно, но для чего понадобился на фото резистор 50 ом ? притянутый к линии или колонке. Почему именно 50ом. Кто может сразу ответить из тех кому интересно принять участие в постройке миди клавиатуры.
вот ещё фото 176 диодов реальной миди клавиатуры. Что говорит о том, что китайцы поставили по 1 диоду на каждой из 176 кнопок. Вот где ещё такое узнать удастся как не здесь. Поэтому кому некогда ничего не пишите, а кому есть что сказать, пишите.
Пока остановился на примере atmega162 эмуляции матрицы, очень хороший совет и интересен способ с сдвиговыми регистрами, китайцы и без регистров сделали, поэтому вполне реально без них, mega2560 не слабая микросхема. а вот здесь http://arduino.ru/forum/programmirovanie/rabota-s-knopkami-v-pomoshch-novichku#comment-21500 ответ для чего резистор 50ом кажется нашёлся.
MYFRIEND Клавиатуру будет не активная (не реагирует ни на скорость, ни на глубину нажатия). Зачем делать MIDI клавиатуру уровня обычной игрушки ? Может проще за копейки купить ? Если конечно ради набить руку в написании кода, но устройство на выходе будет никакое и практически бесполезное.
практически бесполезное.
активная, выше написано разница между нажатиями кнопок высчитывается уже после матрицы. Например прилетела кнопка A и через 0.1мс кнопка B вот так работает всё. Кстати тестировали так korg pa50 так он velocity показал из 127 лишь 30% остальное не умеет при цене 1000$ ) лучше поэтому делать свою клавиатуру. По силе нажатия - даже в 3000$ цифровых фортепиано yamaha стоят резинки на деревянной палочке. Продолжать ? ... Для интереса подключите вашу любую от 1000$ клавиатуру к midiox очень удивитесь пропарсив velocity, korg pa50 например провалил испытание, у него "выпилено" velocity в нескольких диапазонах, 30% оставили остальное выпилили разработчики и взяли 1000$ за этот "продукт" о котором никто и не знает и наверное не ощущает эти 30% из 100%. Проведите тесты собрав лог нажатий например одной клавиши в exel и не поленитесь отобрать что выдал ваш инструмент. Вот такая сила нажатия. Таймер высчитает получше инструментов от 1000$ клавиатуры там ужас. Перед покупкой цифрового рояля - синтезатора парсите в midiox velocity, сразу пропадёт желание покупать этот мусор. Поэтому покупка готового решения где стоит чип за 1$ как в начале топика на фото при цене 300$ мне не подошло. Кстати у инструмента на фото с velocity вообще 27%!!! Сила нажатия в молоточковых yamaha за 3000$ - деревянная палка с 2 резинками и т.д. По ощущениям деревянная палка на болте м6 не уступила yamaha за 3000$ там в любую сторону смещается вес, кому интересно потренируйтесь.
Буду благодарен тем кто победил одновременные нажатия и сэкономит мне время на примере именно mega2560 или любой ардуино без задержек до serial порта, вполне достаточно.
MYFRIEND У меня yamaha за 6000 руб Как раз работает по такому принципу на клавишу 2 кнопки.
Вполне нормальная 5ти октавная динамическая клавиатура. Ну и плюсом не плохая самоиграйка для дочки.
Важны одновременные нажатия, если будут полезные идеи пишите.
Послушайте, "у меня нервная система", ну какие Вам ещё идеи нужны, когда я Вам дал апоноту в которой чёрном по белому написано как это делается. причем написано грамотно, с учётом граблей и прочего (в отличие от 99% ютубовский "уроков").
Просто берите и делайте как там написано. Какие нахрен идеи?
Просто берите и делайте как там написано. Какие нахрен идеи?
У меня есть идея такого плана - устроить брейншторм в пивной. Может имеются в виду такие...
MYFRIEND У меня yamaha за 6000 руб Как раз работает по такому принципу на клавишу 2 кнопки.
Вполне нормальная 5ти октавная динамическая клавиатура. Ну и плюсом не плохая самоиграйка для дочки.
угум. Таже фигня, только Мидели за 12.
Деревянный 100летний Беккер, ясен перец, и динамически и тембрально богаче, но на то и аккустический инструмент. Тока задолбался проволочки на демпферах подгибать.
Буду благодарен тем кто победил одновременные нажатия и сэкономит мне время
время покупается за деньги, за экономию своего времени надо платить. Размер своей благодарности в баксах огласите?
А то я смотрю - ведете речь о желании переплюнуть инструменты за 1000 и 3000 баксов, а сами побираетесь, код готовый за бесплатно выпрашиваете....
пожалуй подпишусь )))
Итого большинство голосов считает что ардуино справится с одновременным нажатием без задержек свыше 10 кнопок.
Главное - демократично!
Зачем перемножать/делить числа для получения точного ответа? Это попахивает авторитарностью.
А получать ответы на технические вопросы методом голосования - демократично! Так держать!
Конечно голосуем. Я против. Одновременно было нажато или нет - зависит от системы отсчета. Теория относительности давно уже инженерная наука, необходимо учитывать преобразование Лоренца для определения одновременности. Иначе установить с задержкой или нет не выйдет.
я вообще когда посмотрел про опыт с двумя щелями, а потом ещё зачемто докучи и про отложенное квантовое стирание, то чёто расстроился, что мир не идеален.
я вообще когда посмотрел про опыт с двумя щелями, а потом ещё зачемто докучи и про отложенное квантовое стирание, то чёто расстроился, что мир не идеален.
ПС: Да что говорить . Вот сколько форумчан ТС говорило как надо, а ему надо в рамках свой неидеальной "идеальности".
... то чёто расстроился, что мир не идеален.
И сразу вспомнился старинный анекдот:
- Господь Бог создал мир за семь дней, а вы какие-то брюки шили целых пол года!
- Таки вы посмотрите на этот мир, и вы посмотрите на эти брюки!
)
MYFRIEND У меня yamaha за 6000 руб Как раз работает по такому принципу на клавишу 2 кнопки.
Вполне нормальная 5ти октавная динамическая клавиатура. Ну и плюсом не плохая самоиграйка для дочки.
угум. Таже фигня, только Мидели за 12.
Деревянный 100летний Беккер, ясен перец, и динамически и тембрально богаче, но на то и аккустический инструмент. Тока задолбался проволочки на демпферах подгибать.
так оно жеж аналоговое )))
Деревянный 100летний Беккер
так оно жеж аналоговое )))
Тёплое и даже не ламповое.
И сразу вспомнился старинный анекдот:
- Господь Бог создал мир за семь дней, а вы какие-то брюки шили целых пол года!
- Таки вы посмотрите на этот мир, и вы посмотрите на эти брюки!
)
видимо микромир допинывал уже в пятницу, короткий день как никак.
Без отладки, без ловли багов.)))
ага, и щас вот уже лет десять в коллайдере эти баги ловят. Только как пофиксить, непонятно.
ага, и щас вот уже лет десять в коллайдере эти баги ловят. Только как пофиксить, непонятно.