ANTIpendos

Сделать Из Клавиатуры-Кучу Датчиков!

41 сообщение в этой теме

ANTIpendos    0

Всем здравствуйте! Появилась необходимость создать систему из кучи датчиков. Много всего передумал на эту тему- сделать может подключая к usb какую то самопальную плату; к LPT плату; arduino в конце концов... Все варианты не очень радовали из за относительной сложности реализации. И тут появилась мысль -ЭВРИКА! Что представляет собой практически полностью готовое решение? КЛАВИАТУРА!!! Берем клавиатуру, разбираем, припаиваем к выходу каждой кнопки провода-и делаем на конце этих проводов тоже кнопочку-и вуаля! имеем аж 101 датчик(за 400-500руб!). Длина проводов не будет превышать 2-2,5 метров поэтому думаю затухание сигнала из за сопротивления провода можно опустить(ну или усилить сигнал как то -если совсем все плохо)...Остается только написать программку, которая будет эти срабатывания обрабатывать-что не проблема!

Но есть такое соображение: чтобы сделать кнопку износоустойчивой и надежно срабатывающей(хотя может зря заморачиваюсь) - на конце этих проводов сделать не механический датчик а допустим какой то простецкий оптический(простецкий по устройству и обвесу-ибо надо их штук 50-70). Что можете посоветовать в моем случае? Буду благодарен за любые полезные и не очень советы!

P.S. что должны регистрировать датчики? Отклонения металлической легкой пластинки. Но отклонения будут не плавные-а с довольно резкими ударами, поэтому хотелось бы продлить жизнь "кнопки" которая будет это считывать и сделать ее оптической или еще как...

Изменено пользователем ANTIpendos

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
NebsteR    742

70 датчиков в радиусе пары метров от точки? Эт что за монстр такой? И еще с многими десятками неких отклоняющихся пластинок :crazy:

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANTIpendos    0

70 датчиков в радиусе пары метров от точки? Эт что за монстр такой? И еще с многими десятками неких отклоняющихся пластинок :crazy:

к сожалению не могу сказать ;-). Могу только повторить то, что я говорил до этого-что надо продлить жизнь датчика, сделав его оптическим...

Ну или переформулирую вопрос(если несколько изменить конструкцию и взять готовое решение): сколько мышей оптических, беспроводных-можно подключить к компьютеру? есть ли некий предел или ограничение?

P.S. как то была нужда-делал дома из 1 компьютера-2: подключил 3 метровым кабелем USB мышь и клаву и 2 монитор. Скачал утилитку. И вполне удобно сидели вдвоем за 1 компом-не мешая друг другу(правда комп 8-ми ядерный)...Эта утилитка позволяет создать 24 рабочих места из одного компа-итого (чисто теоретически 24х101=2424 датчика :crazy: -да еще благодаря USB удлинителям-разнесенные в пространстве...).

Изменено пользователем ANTIpendos

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oldmao    1 206

Какой рабочий ход пластинок? Если больше 5 миллиметров, то можно применить герконы, магниты крепить на пластинках. Дешевле ничего не придумать, только микропереключатели. Но в ударном режиме они долго не живут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANTIpendos    0

Какой рабочий ход пластинок? Если больше 5 миллиметров, то можно применить герконы, магниты крепить на пластинках. Дешевле ничего не придумать, только микропереключатели. Но в ударном режиме они долго не живут.

Ход пластинок...ну примерно 40мм

хорошее решение кстати! я думал о герконах в самом начале-но что то упустил из виду! Я хотел на основе герконов и ардуино городить..А Герконы и клавиатура-это вообще святая простота...действительно проще некуда.. Самое дешевое и простое решение! Мои поздравления!

Изменено пользователем ANTIpendos

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
NebsteR    742

Кстати в старых клавиатурах и использовались герконы вместо текущих мембран. Герконы вертикально, а в высоких кнопках мелкие магниты - торы, когда то давно разбирал такую :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Igel    3 985

Действительно, святая простота...

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

  • Одобряю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 049

он то это предполагает , но код состояния нажатия всех клавиш в ПК не передает....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oldmao    1 206

Если нужно отслеживать одновременно нажатие всех клавиш - то обычная клавиатура действительно так не умеет. Зато умеет MIDI-клавиатура :)

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Igel    3 985

не факт, далеко не факт насчёт ВСЕХ :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oldmao    1 206

Ну, если не сильно упрощена матрица, то должна отработать все. В любом случае не менее 16 одновременно.

PS В любом случае, пока топикстартер играет в партизана, не понятно, нужна ли ему одновременная обработка стольких датчиков.

Изменено пользователем oldmao
  • Одобряю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
tcoder    276

Действительно, явно обрабатываются совместные нажатия нескольких стрелок. А если капнуть глубже, вероятно можно получить состояние каждой клавиши, но не уверен) Например функция WinApi "GetKeyboardState" возвращает массив с состоянием каждой клавиши. Также есть "GetAsyncKeyboardState", которая возвращает то же самое без учёта фокуса на данном приложении. Насколько там учитываются совместные нажатия "букав" точно не знаю, но стрелки однозначно ровно читаются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Igel    3 985

Узнаю программистов :)

сам аппаратный контроллер не выдаёт сканкоды, а API тут не при чём

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
tcoder    276

Узнаю программистов

Дак мы вроде и не прчемся)

сам аппаратный контроллер не выдаёт сканкоды, а API тут не при чём

Я про API упомянул только для того, чтобы стало ясно, что данные о нескольких нажатых клавишах вплоне до этого API доходят. Ясен пень, что эта функция общается с драйвером клавиатуры, а тот в свою очередь достает информацию из железки. А стало быть, информацию о нескольких нажатых клавишах можно достать как аппаратно, так и в винде. А автору как раз надобно это программно обрабатывать, как я понял. Другое дело, что там могут быть наложены ограничения на одновременные количества клавиш (слабо представляю что там может быть). Опыт чтоле поставить)

*цитатирование предыдущего сообщения целиком - я разделил его на две части и удалил смайлик от программистов - во всех смыслах оно не целое :)

**провел опыт :) В моём случае 4 клавиши одновременно - максимум. 5 и более - нет реакции. Так что идея-утопия.

*** и не все комбинации срабатывают, некоторые комбинации и до 4 не реагируют.

Изменено пользователем tcoder

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shahabbas    210
...КЛАВИАТУРА!!! Берем клавиатуру, разбираем, припаиваем к выходу каждой кнопки провода...

Ты клавиатуру разбирал когда-нибудь ? Практически во всех клавиатурах тонкая прозрачная легкоплавкая мембрана в несколько склееных слоёв с электропроводящим напылением , к которому припаяться практически невозможно !

6.jpg

Изменено пользователем Shahabbas

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANTIpendos    0

Ну, если не сильно упрощена матрица, то должна отработать все. В любом случае не менее 16 одновременно.

PS В любом случае, пока топикстартер играет в партизана, не понятно, нужна ли ему одновременная обработка стольких датчиков.

нет-именно что достаточно обработки 1 нажатия в 1 момент времени!

...КЛАВИАТУРА!!! Берем клавиатуру, разбираем, припаиваем к выходу каждой кнопки провода...

Ты клавиатуру разбирал когда-нибудь ? Практически во всех клавиатурах тонкая прозрачная легкоплавкая мембрана с электропроводящим напылением , к которому припаяться практически невозможно !

а зачем мне припаиваться к напылению? :shok:

там же плата есть! а мембрана - это просто замыкатель контактов!

P.S. и да- разбирал бессчетное число раз

Если нужно отслеживать одновременно нажатие всех клавиш - то обычная клавиатура действительно так не умеет. Зато умеет MIDI-клавиатура :)

хорошая мысль! запомню!

Кстати в старых клавиатурах и использовались герконы вместо текущих мембран. Герконы вертикально, а в высоких кнопках мелкие магниты - торы, когда то давно разбирал такую :)

ну значит вапшэ отлично, насяльника! :-)

Изменено пользователем ANTIpendos

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
o_l_e_g    1 605

Мсье, знает толк в извращениях! :crazy: Не проще, взять нормальные расширители портов, например с квадратной шиной, и не заниматься техническим онанизмом ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANTIpendos    0

Мсье, знает толк в извращениях! :crazy: Не проще, взять нормальные расширители портов, например с квадратной шиной, и не заниматься техническим онанизмом ?

поясните! не сталкивался...паять какие то схемы нужно? или это готовые блоки продаются- "подсоединил и поехали" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Jeniok    80

а зачем мне припаиваться к напылению? :shok:

там же плата есть! а мембрана - это просто замыкатель контактов!

P.S. и да- разбирал бессчетное число раз

Выше же писали, клавиатура выполнена в виде матрицы, и на плату выведены лишь пару проводков "координат" этой матрицы. Вы не сможете просто так считывать отдельно каждую кнопку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mastercom    0

Когда то я делал из компьютерной USB-ишной клавиатуры, джостик для игр. Этот джостик до сих пор живой...и даже бывает играю на нём. А по поводу " пару проводов" - то это дествительно так. Правда их не пару......а порядка15 линий, с помощью которых (используя систему координатных точек, на матрице подложки) и получается возможность получить более сотни комбинаций команд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANTIpendos    0

II.9

хм...понял о чем вы..вспомнил клаву...ну ок...стало быть-возьму usb-концентратор и подсоединю кучу проводных мышей. А от их кнопок-герконы...изврат конечно... просто паять какие то схемы катастрофически не хотелось бы...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
tcoder    276

Интересно, как вы эту кучу мышей обрабатывать будете, и какой нужен концентратор на сотню датчиков?). А "какие-то" схемы как раз есть смысл паять - это единственное правильное и адекватное решение.

В случае например с сотней датчиков нужно всего 7 корпусов микросхем - например те же расширители i2С на 16-бит или вообще мультиплексоры - ещё проще на порядок - и всё это например в LPT порт.

Изменено пользователем tcoder

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANTIpendos    0

II.9

согласен...ну-для начала мне бы сгодилось и штук 20 датчиков. итого всего то 10 мышей...

а насчет пайки...Мне сейчас самое главное-пускай технически некрасиво будет, уродливо-но работало. Допилю и отшлифую само техническое решение позже...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
tcoder    276

Вам известно, как программно получить данные с конкретной мыши отдельно от других? Ведь все мыши в системе влияют на один и тот же курсор, также как и на статусы нажатости мышинных кнопок :) Поделитесь секретом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас