Jump to content
Misereli

Выбор схемы клавиатуры

Recommended Posts

Здравствуйте.
Хочу сделать свою клавиатуру на микроконтроллере Atmel (например, ATmega8).
Знаю несколько видов схем: матричная клавиатура и резистивная.
Реализация матричной клавиатуры требует использования большого количества ног на микроконтроллере .
Реализация резистивной (в зависимости от напряжения, АЦП определяет какая нажата кнопка) не позволит зажимать сразу несколько клавиш. 

На форумах "клаводелов" нашел интересную плату (satan gh60), на основе которой собирают клавиатуру. Она работает на atmega32u4, на плате распаяно множество резисторов. Несколько нажатий поддерживает.

vybiraem-i-sobiraem-60-klaviaturu-14.jpg.7001b8bee3f58cca473d24408b6526e3.jpg

gh60-60-satan-Custom-Mechanical-Keyboard-Kit-up-tp-64-keys-Supports-TKG-TOOLS-PCB-GH60.jpg.40bee8c0e810db37b524458e7a28d421.jpg

Если кто-то поделится мыслями как она работает, буду очень благодарен, т.к. самому мозгов не хватает :(
Об использовании специализированных МК прошу не упоминать, интересно сделать на ATmega.

 

Edited by Misereli
Исправил картинку

Share this post


Link to post
Share on other sites

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

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

rkfyf.jpg

Edited by DoG70

Share this post


Link to post
Share on other sites
Guest Игроман

Если в повседневной жизни играть в игрушки, то две буквы очень даже встречаются. В каком-нибудь сталкере, например, движешься вперёд кнопкой W и, не отпуская, кнопкой X переключаешься между бегом и шагом.

Share this post


Link to post
Share on other sites

Обновленный ассортимент тактовых кнопок Omron!

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

Подробнее

Игры - это отдельная тема, там наверное только ж@пой еще не нажимают :blink: Ну тогда вообще без вариантов -только матричная клавиатура.

Share this post


Link to post
Share on other sites

Вебинар «Экосистема MEAN WELL. Решения для любых задач электропитания» (20.05.2021)

Приглашаем 20 мая на вебинар, посвященный линейке поставок компании MEAN WELL и ее подходу к производству источников питания — как экосистемы продукции и услуг, которая позволяет подобрать оптимальный источник питания для любых задач электропитания. Рассмотрим весь спектр выпускаемой продукции MEAN WELL в области AC/DC-, DC/DC- и DC/AC-преобразователей с подробным разбором интересных и уникальных новинок, их применении и многое другое

Подробнее

В том то и дело, что на матричную не похоже. Резисторы разного номинала (да и зачем они на каждую кнопку припаяны) и характерные глюки не свойственны (если зажать по очереди кнопки F, D и C, то на стандартной матричной клавиатуре кнопка С уже не сработает, а на этой будет всё хорошо). Проверял у друга на механике на сайте key-test.ru

Мне пришла идея, что можно такое реализовать, если на микроконтроллер подавать сигнал только при нажатии и отпускании кнопки. А сам микроконтроллер будет эмулировать зажатие. С сигналом только при нажатии проблем нет, схемку такую уже реализовывал, а вот чтобы сигнал шёл и при отжатии кнопки, это я уже придумать пока что не в силах.

 

P.S. Извиняюсь, что долго не появлялся в теме, отдыхаю на море.

Share this post


Link to post
Share on other sites

Трансиверы ADIN1200 и ADIN1300 от Analog Devices для промышленного Ethernet

ADIN1200 и ADIN1300 – микросхемы физического уровня Ethernet (PHY), разработанные ADI для современных промышленных систем Ethernet реального времени. Микросхемы ориентированы на применения в промышленной автоматике, автоматизации зданий, заводов, робототехнике и управлением движением, а также в промышленном интернете вещей (IIoT).

Подробнее

2 часа назад, Misereli сказал:

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

Вы не поверите, но в стандартной РС-шной клавиатуре именно так и сделано: она выдаёт скан-коды именно на нажатие и отпускание клавиш.

Share this post


Link to post
Share on other sites
26.08.2019 в 11:32, Гость Игроман сказал:

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

Для игр поделка на AtMega вряд ли подойдет.

 

23.08.2019 в 22:39, Misereli сказал:

в зависимости от напряжения, АЦП определяет какая нажата кнопка

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

 

23.08.2019 в 22:39, Misereli сказал:

Хочу сделать свою клавиатуру на микроконтроллере Atmel (например, ATmega8).

Нахрена делать клаву на древнем МК, да еще и без аппаратной поддержки USB? Если уж так припекло долбаться именно с этой серией МК, то брать точно не Mega8, а хотя бы тот, где есть поддержка USB.

 

2 часа назад, Misereli сказал:

Мне пришла идея, что можно такое реализовать, если на микроконтроллер подавать сигнал только при нажатии и отпускании кнопки. А сам микроконтроллер будет эмулировать зажатие.

Вы вообще в курсе, как работает клавиатура?

Share this post


Link to post
Share on other sites
2 часа назад, BARS_ сказал:

Для игр поделка на AtMega вряд ли подойдет

Я ничего и не говорил про игры. Но могу поспорить, что на AtMega (не говорю про atmega8 конкретно, но возможно) можно сделать качественную клавиатуру. 

2 часа назад, BARS_ сказал:

Что мешает сделать матричную клаву?

То, что китайцы сделали (или скопировали) плату (которую я упомянул в 1 сообщении), которая не имеет минусов матричной. Можно зажимать сразу много кнопок. И работает она быстро. Но мне не понятно как она работает. 

2 часа назад, BARS_ сказал:

Нахрена делать клаву на древнем МК, да еще и без аппаратной поддержки USB

Просто потому что у меня много atmega8 валяется, а отсутствие аппаратной поддержки usb меня не пугает, есть проект v-usb. К тому же легко перейти на AtMega32u4 (как на той китайской плате). В итоге я вижу только один возможный минус - скорость работы, но и он пока не подтверждён.

2 часа назад, BARS_ сказал:

Вы вообще в курсе, как работает клавиатура?

Примерно. После сообщения Lexter уже больше. Надеюсь, к концу жизни темы буду знать всё )))) 

Вообще, матричную клавиатуру на макетке собирал (8 кнопок), работает плаг'н'плей, затем начал в proteus делать резистивную (т.к. в satan gh60 увидел много резисторов на плате), но остановился из-за невозможности обработки 2 или более клавиш на ряду. Затем, собсна, была создана эта тема. 

Share this post


Link to post
Share on other sites
35 минут назад, Misereli сказал:

Но могу поспорить

Не боитесь проспорить?

 

35 минут назад, Misereli сказал:

То, что китайцы сделали (или скопировали) плату (которую я упомянул в 1 сообщении), которая не имеет минусов матричной.

Кто это сказал? Там спокойно могли сменить схему матрицы и проблемной могла стать совсем другая кнопка.

 

39 минут назад, Misereli сказал:

И работает она быстро.

Опять же. Быстро - это как? Те же геймеры микросекунды в срабатывании ловят.

 

40 минут назад, Misereli сказал:

Просто потому что у меня много atmega8 валяется,

Ну и что?

 

40 минут назад, Misereli сказал:

есть проект v-usb

Серьезно? И пофиг, что работает от медленнее, чем USB1.0?

 

41 минуту назад, Misereli сказал:

делать резистивную (т.к. в satan gh60 увидел много резисторов на плате)

Для опроса резистивной нужен шустрый проц с быстрым АЦП. К AtMega это не относится. и сбоить она будет часто из-за помех.

 

42 минуты назад, Misereli сказал:

т.к. в satan gh60 увидел много резисторов на плате

Кто сказал, что они имеет хоть какое-то отношение к кнопкам? А вот наличие диодов как раз намекает на то, что клава таки матричная.

Share this post


Link to post
Share on other sites
1 час назад, Misereli сказал:

То, что китайцы сделали (или скопировали) плату (которую я упомянул в 1 сообщении), которая не имеет минусов матричной. Можно зажимать сразу много кнопок. И работает она быстро.

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

 

Share this post


Link to post
Share on other sites
5 часов назад, IMXO сказал:

кодовое слово диоды...

Не обязательно. Открытый коллектор (открытый сток) работает так же, но не требует дополнительных элементов на каждую кнопку.

Share this post


Link to post
Share on other sites

Догадки, предположения.... @Misereli , возьми эту клавиатуру, да нарисуй по ней схему, если нормальной документации нет. Нарисуй хотя бы для десяти кнопок, тогда и выводы сделать можно и поговорить. А сейчас - гадание на кофейной гуще.

Share this post


Link to post
Share on other sites
30.08.2019 в 10:47, DoG70 сказал:

возьми эту клавиатуру, да нарисуй по ней схему

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

29.08.2019 в 19:28, IMXO сказал:

кодовое слово диоды

Диоды исключат короткое замыкание, но не решат проблем матричной клавиатуры...

Извиняюсь, что набросал в paint, просто другой возможности сейчас нет. Надеюсь, более-менее понятно. 
Какая разница для микроконтроллера, нажал я 3 кнопки или 4? Если все порты получают логическую 1? 

1.png.78c26e3ae43dc3b997152c8376be978c.png2.png.5493d4ad93c5217249f524c298256bfa.png

Кстати, если в сканирующих портах использовать АЦП, то это решит проблему. Может это и будет решением проблемы. И резисторы понятно зачем нужны.

29.08.2019 в 18:52, BARS_ сказал:

Не боитесь проспорить?

Не боюсь признавать себя не правым. 

29.08.2019 в 18:52, BARS_ сказал:

Там спокойно могли сменить схему матрицы и проблемной могла стать совсем другая кнопка

Не думаю, что все так просто.

29.08.2019 в 18:52, BARS_ сказал:

Быстро - это как? Те же геймеры микросекунды в срабатывании ловят

Большинство сидит на 60 герцовых мониторах. Есть, конечно же, мега тру мониторы, но это 240 Гц (обновление раз в 4000 микросекунд). Я вообще к такой скорости и не стремлюсь. Мне для начала комфортная печать важна. 

29.08.2019 в 18:52, BARS_ сказал:

И пофиг, что работает от медленнее, чем USB1.0?

1. Usb 1.1 в v-usb.
2. Мне не ssd диск подрубать, а клавиатуру, скорость передачи не имеет значения. Возможно, что есть какая-то таблица времени отклика разных версий USB, но я ее не видел. Думаю, программная реализация больше будет влиять на скорость, чем версия usb.

29.08.2019 в 18:52, BARS_ сказал:

А вот наличие диодов как раз намекает на то, что клава таки матричная.

Да, все идет к тому, что это матричная клава. Но не обычная, а несколько доработанная. Вот и интересно как ее доработали. 

Share this post


Link to post
Share on other sites
4 минуты назад, Misereli сказал:

Какая разница для микроконтроллера, нажал я 3 кнопки или 4? Если все порты получают логическую 1? 

разница в том, что опрос ведется по строчно,  и для первой сторки ты получишь код 11, а для второй 10.

для 4х ты получишь код 11 и 11.

Share this post


Link to post
Share on other sites
5 часов назад, IMXO сказал:

опрос ведется по строчно

И правда, об этом я и не подумал. Спасибо. Получается, используя матричную схему + диоды можно считывать любое количество нажатых клавиш. 

29.08.2019 в 19:28, IMXO сказал:

главное что-бы у приемной стороны хватило мозгов обработать все варианты комбинаций

Можно поподробнее? 

Share this post


Link to post
Share on other sites
7 минут назад, Misereli сказал:

Можно поподробнее? 

рекомендую самому посчитать сколько комбинаций можно получить на 64 или 256 кнопках....

Share this post


Link to post
Share on other sites
12 часов назад, Misereli сказал:

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

Интересно, как вы тогда вообще представляли работу матричной клавиатуры? :unknw: 

13 часов назад, Misereli сказал:

 

Большинство сидит на 60 герцовых мониторах. Есть, конечно же, мега тру мониторы, но это 240 Гц (обновление раз в 4000 микросекунд). Я вообще к такой скорости и не стремлюсь. Мне для начала комфортная печать важна. 

Это вы сейчас про что? Если про ЖК монитор, то какое отношение он имеет к работе клавиатуры?

Share this post


Link to post
Share on other sites
7 часов назад, DoG70 сказал:

Интересно, как вы тогда вообще представляли работу матричной клавиатуры?

Затупил. Почему-то думал, что + на кнопки постоянный в любой матричной клавиатуре.

123.png.8c2c09c5669f7b9be33108b1485ded59.png

7 часов назад, DoG70 сказал:

Это вы сейчас про что? Если про ЖК монитор, то какое отношение он имеет к работе клавиатуры?

Это я к тому, что мне сказали, что для геймеров важны микросекунды в работе клавиатуры. На примере игрового монитора (его частоты обновления) немного попытался развеять такие предположения. :unknw:

Share this post


Link to post
Share on other sites
2 минуты назад, Misereli сказал:

Затупил.

херню ты запустил...

Share this post


Link to post
Share on other sites
5 часов назад, IMXO сказал:

херню ты запустил

Лол) Возможно. Все равно никто не ответил как работает satan gh60

Share this post


Link to post
Share on other sites



Все равно никто не ответил как работает satan gh60


В смысле? Обычная матричная клава. Что ещё надо?

Отправлено с моего Nexus 5 через Tapatalk

Share this post


Link to post
Share on other sites
01.09.2019 в 17:10, BARS_ сказал:

Что ещё надо?

Зачем на каждую кнопку кидать резистор. Причем они разного номинала. 

Share this post


Link to post
Share on other sites
18 минут назад, Misereli сказал:

Зачем на каждую кнопку кидать резистор.

Где сказано, что они на кнопках? На фото видны посадочные места под светодиоды подсветки. И, как ни странно, резисторы как раз рядом с каждым посадочным местом стоят. Не наталкивает на мысли? Возьми ты уже клаву у друга и прозвони ее. В чем проблема?

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • все просто... представьте у вас кабель до датчика 20м , оплетка 20жил по 0,1мм2 итого имеем 2мОм. предположим станок где стоит датчик и шкаф управления имеют последовательное заземление, падение напряжения на этом участке путь будет 50мВ, вы заземляете экран с двух сторон, и через экран идет ток 50мВ/2мОм=25А который выжигает кабель легко и непринужденно.
    • Не знаю, поможет ли вам. На своем первом приемнике из толстой медной фольги делал добавочную антену-лопату для поски проводки в глубине под обшивкой авто. Чувствительность возрастала ощутимо. Электропроводку под напряжением на глубине 1-2 см под штукатуркой "слышала" с сантиметров 30. Затем убавлял чувстивительность для более точного определения трассы. Но бумаю, вам этот вариант не очень подойдет. Сейчас собрал другой приемник, там за место щупа медная шина 6мм длинной 5 см. Может для этих целей вам стоит поэсперементировать с самодельными приемниками хотя бы на полевых транзисторах и ОУ или китайской отверткой-индикатором со светодиодным индикатором. У него очень большая чувствительность.
    • Мне только начинает казаться что я начал понимать - Вы меня опять мордой в .... Я Вас услышал, учим матчасть дальше Получается что нету смысла под SG выделять полигон, на полигон надо пускать силовую землю ? Теперь я понял Вашу схему... Благодарю
    • Вы оба правы, но отчасти - чрез тело нам дано причастье но дальше...странная проекция бессмертие души - не индульгенция. и тело может припаять, куда и что -душе лишь знать    
    • Товарищи дорогие, а вот у меня вопрос обратный - имеется в загашнике штук 15 микросхем Тда2050, причём не новодел а оригинальных. Как на них построить композит? подскажите .
  • Similar Content

    • By Teo74
      Есть проект состоящий из Atmega 8, Uart, и lcd Nokia 5110.Проблема лишь в том что дисплей 5110 очень маленький, так как показания нужно читать с расстояния 3-6 метров. В интернете нашёл 7 дюймовый TFT дисплей  но не понимаю как его использовать в моём проекте. В протеус его нет, библиотек для него тоже не нашёл. Если я правильно понял, у этого дисплея есть свой контролер STM32, но как совместить с Atmega 8? Как симулировать в протеус?
    • By Slavyanfpn
      Всем привет! подскажите что могло выйти из строя в мех.клавиатре, после нескольких ударов статикой больше не включается! 
      При подключении к пк сломанной клавиатуры другая клавиатура и мышь гаснут и заново подключаются 

    • By Любовь Бертулите
      Компания производитель вендинговых автоматов для розлива питьевой воды в поисках инженера-системотехника/инженера электронщика.
      График 5/2 с 9 до 18, здесь удаленный формат не рассматриваем.
      Место работы – г. Екатеринбург.
      Мы ищем специалиста, который будет делать прототипы нового для контроллера, курировать производство, проверять, дорабатывать, перепаивать, а также:
      Переписывать текущие программы на С++; Создавать программу для Android для конфигурации параметров контроллера через bluetooth. (т.е. предлагать новые, современные идеи и подходы для развития имеющихся контроллеров, которыми вы владеете); Предлагать новые программные продукты, среды разработки. Будет в тренде мира микроэлектроники, китайского контрактного производства. Может предложить совершенно новую реализацию наших текущих задач, чтобы это было лучше и эффективнее. В идеале, нам нужен специалист, который имеет:
      Опыт программирования микроконтроллеров Atmega, STM32, ESP32; Опыт работы в Altium Designer; Опыт работы в c++ (IAR, QT); Опыт работы с modbus, rs485/232, SPI. Готовы рассматривать специалистов с разным опытом, поэтому пишите, задавайте вопросы.
      Резюме можно отправить на почту lb@ktekt.ru (да, мы кадровое агентство), позвонить можно по следующему тел. 89068001212 - Любовь. 
       
    • By Igor_Golub0
      На днях перестала работать подсветка на механической клавиатуре, поле того как сам по себе перезагрузился комп. Разобрал, внутри корпуса была дырка, что то плавилось. Разбираю дальше и вижу непонятную твёрдую жидкость на плате у микрочипа.Когда включаю клавиатуру, то этот чип очень сильно греется. Так же что то не понятное у кондёра. Что делать? Что сгорело? Можно ли как то починить?  Сама клавиатура рабочая.






    • By Trute
      Цена 700 р.
      Доставка по России Почтой России от 250 р. до 400 р. зависит от региона.
       
       Продаётся Плата в Сборе с Прошитым Микроконтроллером.
      ОПИСАНИЕ:
      Это устройство запитывается от любого источника питания 5 вольт, например, USB порт ПК или ноутбука, зарядка для телефона и т. п..., и не нуждается в подключении к источнику 12 вольт, в отличии от других прототипов.
      Предназначено для восстановления "убитых" микроконтроллеров AVR ATmega и ATtiny путем записи в них корректных значений бит фьюзов.
      Atmega Fusebit Doctor исправит Ваши брикнутые микроконтроллеры за доли секунды.
      Поддерживаемые контроллеры:
       
       



       
×
×
  • Create New...