|
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 24
|
|
Матричная клавиатура22.04.2015, 10:12. Показов 14694. Ответов 16
Метки нет (Все метки)
Подскажите пожалуйста.Матричная клавиатура,столбцы подтянуты к 0 и опрашиваются.Нужно ли в этой схеме применение защитных диодов и куда их повесить?
0
|
|
| 22.04.2015, 10:12 | |
|
Ответы с готовыми решениями:
16
Матричная клавиатура Матричная клавиатура на атмега8, как сохранить вводимые мною данные STM32F103 + матричная клавиатура + Sleep mode |
|
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
|
|
| 22.04.2015, 10:45 | |
|
Подтяжка к нулю лишняя, вы все равно при сканировании на столбцы выводите нули, а строки используют встроенную подтяжку к плюсу
Диоды могут понадобиться только для защиты от статики и наводок. Если у вас провода от клавиатуры короткие, внутри общего корпуса, диоды не нужы
0
|
|
|
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
|
|
| 22.04.2015, 10:56 | |
|
Вероятно имелись ввиду диоды предотвращающие выгорание порта при одновременном нажатии нескольких кнопок, этот вариант нужен если используется внешний регистр у которого нельзя индивидуально переводить пины в высокоомное состояние, внешние резисторы также нужны для этого варианта. Если клавиатура подключена к МК напрямую то при правильном управлении портом ни диоды ни резисторы не нужны.
0
|
|
|
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
|
|
| 22.04.2015, 11:10 | |
|
Внешние подтяжки в схеме все-равно лучше поставить. Резисторы можно и не паять, но вдруг потом понадобится - будет под них место на плате. Бывает, что внутренних не хватает.
0
|
|
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
|
|
| 22.04.2015, 11:49 | |
|
Диоды нужны также в том случае, если надо отслеживать одновременное нажатие трех и более кнопок. Иначе могут появляться "фантомные" нажатия
0
|
|
|
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 24
|
|
| 22.04.2015, 12:01 | |
|
Диоды хотелось бы поставить для защиты от выгорания порта при нажатии нескольких кнопок.Но я не пойму,если я их так поставлю,как же будет работать.. ведь PB.0-PB.3 будут в высоком уровне,как же диод пропустит его.извините за простые вопросы.
P.s для начала бы хотел потренироваться на ардуинке,если без диодов при одновременном нажатии не выгорит порт?
0
|
|
|
0 / 0 / 0
Регистрация: 15.03.2014
Сообщений: 258
|
|
| 22.04.2015, 12:14 | |
|
Как говориться в правильном вопросе половина ответа :) Посмотрите другие схемы и поищите отличия (например http://sxim.net/mc/book45.php). У меня замыкание порта на ардуине на 0 или 1 приводило только к рестарту, пока ничего не выгорело за год с лишним, но гарантий никаких, зависит от конкретной платы, компонентов, какой ток usb отдает и фазы луны.
0
|
|
|
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
|
||
| 22.04.2015, 12:26 | ||
за раз считываем одну строку, но сканирование настолько быстрое, что для пользователя будет равносильно мгновенному считыванию состояние всех клавиш
0
|
||
|
0 / 0 / 0
Регистрация: 24.08.2014
Сообщений: 389
|
|
| 22.04.2015, 12:39 | |
|
без всяких диодов и внешних резисторов, проверено, работает на AVR и на STM32, ничего не выгорает
http://prottoss.com/orshive/keyboard_6w_9k.htm
0
|
|
|
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
|
|
| 22.04.2015, 12:39 | |
|
axil, обычно делают так:
например, все строки это входы с подтяжкой к высокому уровню, а на столбики поочередно выводится сканирующий ноль. Таким образом, в каждый момент времени на одном столбике силовой ноль, на остальных силовая единица. Считывание полного состояния клавиатуры состоит в считывании состояния строк для каждого сканируемого столбика. Но, если при такой обработке нажать две+ кнопки, которые сидят на разных столбиках, то через них коротим два+ столбика и получается конфликт уровней. Спасаться от этого можно или диодной развязкой, или держать столбики в высоком уровне не силовой единицей, а подтяжкой. С диодами и внешними подтяжками проще обслуживать клаву, а если разруливать это чисто программно, то контроллеру больше работы по переконфигурированию выводов.
0
|
|
|
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 24
|
|
| 22.04.2015, 12:49 | |
|
на строке будет высокий уровень ,как диод пропустит?он же в одном направлении пропускает ток.и никак не пойму ведь в такой схеме какие бы кнопки одновременно не нажать замыкания то не будет или я ошибаюсь?
0
|
|
|
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
|
|
| 22.04.2015, 13:19 | |
|
Что-то типа этого. На ROW включаем внутренние подтяжки (или добавляем внешние).
COL настраиваем на выход и выводим туда высокие уровни. При опросе: 1. Ставим 0 на COL1. 2. Даем время линиям устаканиться. 3. Считываем ROW1, ROW2. 4. Ставим 1 на COL1. 5. Ставим 0 на COL2. 6. Даем время линиям устаканиться. 7. Считываем ROW1, ROW2. 5. Ставим 1 на COL2. И дальше по циклу. <Изображение удалено>
0
|
|
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
|
||
| 22.04.2015, 13:40 | ||
за раз считываем одну строку, но сканирование настолько быстрое, что для пользователя будет равносильно мгновенному считыванию состояние всех клавиш Вот жеж неверующие ) Замкнуты три красные кнопки. Сколько нажатых будет при сканировании?
0
|
||
|
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
|
|
| 22.04.2015, 14:25 | |
|
согласен, три кнопки это перебор) без диодов не распознать
0
|
|
|
0 / 0 / 0
Регистрация: 15.03.2014
Сообщений: 258
|
||
| 22.04.2015, 15:14 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
|
|||||||||||||||||||||
| 22.04.2015, 22:39 | |||||||||||||||||||||
|
Если не требуется одновременное нажатие нескольких кнопок, то можно сделать следующим образом:
Из рабочего проекта. Си. kbd_drv.h
0
|
|||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 24
|
|
| 27.04.2015, 12:42 | |
|
Всем большущее спасибо!!!
0
|
|
| 27.04.2015, 12:42 | |
|
Помогаю со студенческими работами здесь
17
STM32 + матричная клава STM32f100ret6b и матричная клава Матричная клавиатура Матричная клавиатура и Ардуино Вопрос по статье Матричная клавиатура Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|