Страница 1 из 2

Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Вс окт 27, 2013 23:54:50
Xrust
Уважаемые матерые радиокоты! Помогите решить проблему. Существует микроконтроллер с матричной клавиатурой. Нужно симитировать нажатие клавиш на этой клавиатуре, используя сигналы с выходов другого контроллера. Как это можно реализовать?
З.Ы. Электромагнитные реле не предлагать. Не подойдут по габаритам и энергопотреблению. Первый контроллер питается от 3.3в, Ренесас какой-то с ПЗУ. Второй контроллер attiny13a в смд корпусе, но можно при необходимости и другой применить, главное габариты чтоб маленькие были. "Нажимать" нужно по очереди 2 кнопки.

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пн окт 28, 2013 07:36:54
Аlex
Помогите решить проблему.
Для этого, как минимум, нужно видеть схему подключения этих кнопок. А дальше - осциллограммы в указанных точках.

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пн окт 28, 2013 08:01:28
pyzhman
Тинькой считываем строки, анализируем, выставляем на столбцы нужные сигналы. Или наоборот, ссчитываем столбцы, а выдаем на строки. Зависит от того, где у приблуды входа и выхода. А анализировать методом тыка либо как предложил Аlex - с помощью осциллограмм.

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пн окт 28, 2013 09:54:48
Xrust
Аlex писал(а): нужно видеть схему подключения этих кнопок.

Изображение
Если упростить и избавиться от лишних элементов, то схема будет выглядеть так. Справа - два выхода. Слева - один вход с подтяжкой к +3.3в

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пн окт 28, 2013 10:14:36
Аlex
Ну значит ловим на левом входе низкий уровень и , в зависимости от нажатой кнопки, подаём его на правые выходы, на время удержания этого низкого уровня.
Или просто повторяем на выходах (до диодов) то, что на входе, в зависимости от нажатой кнопки.

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пн окт 28, 2013 11:38:20
Xrust
Аlex писал(а):Ну значит ловим на левом входе низкий уровень

Хм... А откуда там возьмется низкий уровень? Кнопка не нажата и вход подтянут к питанию...
Я думал надо на выходе ловить момент сканирования, и тогда на вход сигнал подавать...

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пн окт 28, 2013 11:41:18
pyzhman
Всё верно. Просто Аlex принял входы за выходы, а выходы за входы. Но и ваше описание, что у чего вход, выход неоднозначно.

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пн окт 28, 2013 12:04:01
Xrust
Понятно. Значит тинька должна считывать состояние двух выходов ренесаса и управлять своим выходом по результатам? Можно просто переключать с выхода на вход состояние вывода тиньки?
И еще. Сейчас память тиньки уже на 90% забита. Может не программное решение применить, а схемотехническое? Например, ключ транзисторный туда воткнуть?

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пн окт 28, 2013 12:21:22
pyzhman
Переключать-то можно. Но нужно следить по схеме, когда и какие сигналы будут поступать на тиньку - в смысле чтоб не попалить порт, когда он настроен как выход и на него же поступает внешний сигнал.
В плане что воткнуть - дело хозяйское. Что вам даст ключ?

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пн окт 28, 2013 12:29:16
Xrust
pyzhman писал(а): в смысле чтоб не попалить порт, когда он настроен как выход и на него же поступает внешний сигнал.

Ну можно же диод постивить как на выходах ренесаса?

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пн окт 28, 2013 12:31:18
Xrust
pyzhman писал(а):В плане что воткнуть - дело хозяйское. Что вам даст ключ?

Цель - чтобы тиньке не пришлось состояние выходов ренесаса считывать. А что и как воткнуть - я сам еще не придумал, потому и спрашиваю.

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пн окт 28, 2013 18:08:53
Xrust
Изображение
Вот такая схема заработает? Снизу земля - это столбец в момент опроса, когда на нем логический 0. Справа вход строки, подтянутый резистором к питанию. Вместо (а вернее параллельно) кнопке ставим транзистор. Затвором управляет Attiny, когда нужно "нажать" клавишу. Это будет работать? Или я что-то неправильно понимаю?

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пт ноя 01, 2013 18:17:44
Xrust
Короче, собрал схему из предыдущего поста. И вот что имеем.
Изображение
Вроде все правильно, и должно работать. Импульсы идут на вход (смотрю осциллографом в точке А), если подать управляющий сигнал на затвор (точка В), а результата нет. От кнопки нажатие регистрируется, а от ключа - нет. :dont_know: Амплитуда импульсов вроде нормальная для логического 0 и 1.
Подскажите, в чем может быть моя ошибка?

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

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пт ноя 01, 2013 21:44:37
Аlex
А вот схема клавиатуры, которую я пытаюсь переделать.
Ну всё не так сложно. K0-К3 по-очереди прижимаются к Vss, а на K10-13 ловятся нулевой уровень.
По сути никаких ключей не нужно - ловим своим МК на линиях K0-К3 нулевой уровень и , в зависимости от необходимой нажатой кнопки, прижимаем к Vss линию K10-13, соответственно.

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Пт ноя 01, 2013 22:03:16
Xrust
Аlex писал(а):По сути никаких ключей не нужно - ловим своим МК на линиях K0-К3 нулевой уровень и

Это все понятно. Скорее всего в итоге так и сделаю. Но сейчас этап отладки. И есть определенные сложности. Это съемная панель магнитолы. Доступ к ее плате достаточно сложный. И я решил сначала попробовать с ключами. И вроде ключ срабатывает как надо, а магнитола не реагирует... Хочу разобраться: почему? Или лыжи не едут или я... :dont_know:

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Сб ноя 02, 2013 10:09:46
Jack_A
Я бы сделал приблизно так :
Изображение

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Сб ноя 02, 2013 17:55:50
Xrust
Разобрался в проблеме. Оказывается, не хватало длительности "нажатия". Увеличил длину импульса в 4 раза и все заработало.
Jack_A, такое включение необходимо, если требуется гальваническая развязка. Но в моем случае источник питания общий и смысла усложнять нет. Остается попробовать по совету Аlex подключить без транзисторов. Теперь примерно ясны требования к длительности импульсов. Осталось придумать, как это осуществить программно.

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Сб ноя 02, 2013 18:02:10
АлександрЛ
А что так против оптопар? цена вопроса- то всего- 10 рублей....

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Сб ноя 02, 2013 18:44:50
Xrust
... и 4 лишних детали и провода. Если схема до этого из всего 4 деталей состояла - тинька, 2 транзистора и энкодер - это слишком. Лучше я вообще без транзисторов сделаю.

Re: Вопрос по матрчной клавиатуре или как нажать клавишу?

Добавлено: Вс ноя 03, 2013 10:34:55
SergKT
Прошу прощения, что влажу в беседу умных людей.
С оптопарой - очень красивое решение, только если нужно иммитировать нажатие кнопок расположенных на одной "линии" будут программные сложности, типа длительностей импульсов, когда импульс подать, когда снять...
Если немного изменить предложенную схему, Тинька сможет просто выставить импульс "1" - "кнопка нажата" и держать его сколько нужно, и снять импульс "0" - когда "кнопку отпустили".
Правда для этого нужно, светодиод запитать не от "+5", а от выхода Тиньки, после резистора 330 Ом, поставить транзистор на "GND", базу транзистора подключить к "линии опроса клавиатуры".
Расчет на то, что у Тиньки выход не "открытый коллектор".
Собственно светодиод будет загораться только если Тинька "разрешила" и опрашивается именно эта линия клавиатуры, а значит фототранзистор будет замыкать только нужную кнопку и только на нужное время, всегда пока Тинька "жмет кнопку".

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