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

Взаимодействие устройств IoT от Microchip с облаком Google

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

Подробнее

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

Share this post


Link to post
Share on other sites

Вебинар «Решения Analog Devices для гальванической изоляции. Обзор технологий и новинок» (27.04.2021)

Компания «Компэл» и Analog Devices приглашают всех желающих 27/04/2021 принять участие в вебинаре, посвященном решениям Analog Devices для гальванической изоляции. В программе вебинара: технологии гальванической изоляции iCoupler, цифровые изоляторы, технология isoPower, гальванически изолированные интерфейсы (RS-485, CAN, USB, I2C, LVDS) и другое. Вебинар будет интересен разработчикам промышленной автоматики и медицинской техники.

Подробнее

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

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

 

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

Share this post


Link to post
Share on other sites

WDR-60 от Mean Well – источник питания на DIN-рейку со сверхшироким входом

Компания Mean Well расширяет семейство одно- и двухфазных источников питания со сверхшироким диапазоном входного напряжения, предназначенных для монтажа на DIN-рейку, дополнив его серией WDR-60. Широкий температурный диапазон работы позволяет применять их для питания промышленных систем управления и контроля, устройств промышленной автоматизации и всевозможных стационарных электромеханических устройств, где важны надежность и безопасность.

Подробнее

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...

  • Сообщения

    • Можно для подстраховки...поставить шунтирующие резисторы .На затворы силовых транзисторов. Так, на очень крайний случай. По 2кОм. А можно и не ставить. Припаять на ножки транзистора.(надёжнее будет.)
    • дак в пути ещё , в среду только приезжают . как звук потом отпишусь . были 97 ые , есть с чем сравнить будет . но это как бы совсем другая лига . выше их только 9000 ые были . это был потолок диатонов по топам . их АЧХ : 20 - 60000 гц. для 82 ого года это бомба , чуйка 93 дб. заводиться должны с пол пинка , плюс по биампингу можно подключать !
    • Пуйлу нужны не шахты на глубине, а понты завоевателя, которые находятся на поверхности. Его чем-то так напугали, что даже позабыл о воде для Крыма.  Может позже проясниться положение дел по этой капитуляции.  Если честно, то это все хреново. С моей точки зрения. Блин!!! Да у него абсолютно все версии кремлёвские.  Кремлёвский спикер.
    • Котёнок пишет какую-то из версий кремлёвских конспирологов никак не связанную с Украиной! Удивительно, но вы как-то связали!
    • Проверил на этом приборе - 2 микры накрылись.
    • Да ВП хоть и страшит, но он тоже не дурак! Ему лишняя шумиха и горячая точка тоже не нужна, как и регион Донбасса в целом. Шахтные проходы находятся на глубине около 1.5 км. Ресурсы залежей угля уже сильно истощены. Многие штольни затоплены водой, так как вовремя откачка воды не производилась, в связи с военным положением. Регион приходит к бедственному состоянию. C каждым днём положение ухудшается. И что только ждёт регион Донбасса в будущем?   
    • Слыш кулибин, рисуй точную схему своей установки. Никто не знает, что и куда вы там напихали .....и чего.   Есть куча способов реализации защит. Я уже задолбался ваш кросфорд решать...То не так, это не то...иначе решайте сами. Свою проблему.
  • Similar Content

    • 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 исправит Ваши брикнутые микроконтроллеры за доли секунды.
      Поддерживаемые контроллеры:
       
       



       
    • By Evgeniy90
      Здравствуйте! Столкнулся со следующей проблемой: при сборке МД "Шанс" дошел до этапа прошивки МК, в итоге запорол 3 атмеги. Прошивал 3 способами:
      1. Через Arduino UNO(As ISP) просто МК
      2. Через Arduino UNO(As ISP) МК внутрисхемно(соответственно с обвязкой)
      3. Через USB ASP внутрисхемно(с обвязкой соответственно).
      Вышло так, что в наличии кварца 11.0592 МГц не было, и я временно впаял 12 МГц. Прошил трижды всё правильно(фьюзы , контакты и т.д). После прошивки просто не видит МК (ну и плата не работает без МК.да и Бог с ней, но МК всеравно не могу считать). В чем причина понять не могу. Одно думаю, что это разница между 11.0592 и 12 МГц. Посоветуйте как решить проблему.
      Коды ошибок после прошивки во всех трёх случаях одинаковые:
      Sinaprog -invalid device signature
      Averdude -avrdude: warning: cannot set sck period, please check for usbasp firmware update
      target don't answer
×
×
  • Create New...