Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 20.07.2010, 21:00  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Как нажать на кнопку в матрице 4х4?

Сообщение от AVL Посмотреть сообщение
и "враги" не смогут легко "передрать" конструкцию .
Очень даже смогут. Это смотря какие враги попадутся ))))))))

Сообщение от niXto Посмотреть сообщение
Можно сделать все гораздо проще. Обычно на одних рядах матрицы висят единицы через подтягивающие резисторы, на других - появляются нули (или наоборот).
То же самое прекрасно делается и на биполярных транзючках. Нужно тольк оразобратся в полярностях импульсов. Коллектор к ножкам по которым считывается состояние, а эмитеры к ножкам которые формируют импульсы опроса. В базу подаём сигнал на замыкание через резистор, опять же соблюдая полярность.
Реклама:
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов

Последний раз редактировалось picavr; 20.07.2010 в 21:03.
picavr вне форума  
Сказали "Спасибо" picavr
AVL (20.07.2010)
Непрочитано 20.07.2010, 21:23  
AVL
Временная регистрация
 
Регистрация: 12.06.2006
Адрес: Україна
Сообщений: 95
Сказал спасибо: 19
Сказали Спасибо 19 раз(а) в 9 сообщении(ях)
AVL на пути к лучшему
По умолчанию Re: Как нажать на кнопку в матрице 4х4?

niXto, спасибо, понял.
Вот я набросал програмку для тиньки.
Если кому не сложно, гляньте, плз, не намутил-ли я с входами-выходами. Я о том, не будет-ли наш проц коротить клаву радиостанции.

// Пины Атиньки:
// 0 - вход датчика тревоги
// 1 - вход с клавиатуры
// 2 - выход на управление передатчиком
// 3 - выход на клавиатуру


while (1)
{
// Place your code here
if (PINB.0==0) // Если замкнут контакт датчика
{
PORTB.2=0; //Включаем передатчие
delay_ms(250); // Немного ждём
DDRB.3=0; // Делаем пин сканирования цифровой кнопки выходом
PORTB.3=PINB.1; // Копируем сигнал с входа на выход
}
else {
PORTB.2=1; // выключаем передатчик
PORTB.3=0; // Делаем выход входом, что б не коротил клавиатуру.
DDRB.3=0;
};

}
AVL вне форума  
Непрочитано 20.07.2010, 21:31  
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
По умолчанию Re: Как нажать на кнопку в матрице 4х4?

Сообщение от AVL Посмотреть сообщение
if (PINB.0==0) // Если замкнут контакт датчика
А может разомкнут?


Сообщение от AVL Посмотреть сообщение
DDRB.3=0; // Делаем пин сканирования цифровой кнопки выходом
А может входом?

Сообщение от AVL Посмотреть сообщение
PORTB.3=0; // Делаем выход входом, что б не коротил клавиатуру.
Это регистр порта, а не направления он не может делать выход входом.
harchenko_pavel вне форума  
Сказали "Спасибо" harchenko_pavel
AVL (20.07.2010)
Непрочитано 20.07.2010, 21:38  
AVL
Временная регистрация
 
Регистрация: 12.06.2006
Адрес: Україна
Сообщений: 95
Сказал спасибо: 19
Сказали Спасибо 19 раз(а) в 9 сообщении(ях)
AVL на пути к лучшему
По умолчанию Re: Как нажать на кнопку в матрице 4х4?

Сообщение от harchenko_pavel Посмотреть сообщение
А может разомкнут?
Вроде замкнут, ибо замыкается он на "ноль", а в разомкнутом состоянии к плюсу резистором притянут.
С остальным написанным иду разбираться, читая даташит. Ибо последний раз что-то программил более года наза, всё забыл уже
AVL вне форума  
Непрочитано 20.07.2010, 23:25  
MasterMushi
Вид на жительство
 
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
MasterMushi на пути к лучшему
По умолчанию Re: Как нажать на кнопку в матрице 4х4?

Я кому рассказывал про замыкание в НУЖНОЕ время. нужно замыкать тогда когда скан приходит на нужную кнопку.
Ведь приемная линия строки матрицы обслуживает еще 4-6 столбцов.
Если мы просто замкнем и сделаем задержку, то будут "коротить"
все соседние кнопки!!

Так что никаких delay_ms

Все задержки делать нужно в цикле!!

PHP код:
// Пины Атиньки:
// 0 - вход датчика тревоги
// 1 - вход с клавиатуры для линии тангенты
// 4 - вход с клавиатуры для линии кнопки DTFM. Линии то могут быть разные там. Матрица!
// 2 - выход на управление передатчиком
// 3 - выход на клавиатуру

//зададим "зерно" частоты для задержки в цикле на нужное количество миллисекунд
#define XTALFQ 4000 
//это значение множим на миллисекунды, получаем 
примерную задержку для циклов.

unsigned long int delay_ms_custom;

///бла бла бла все дела по инициализации
// и тут кстати пишем наши первые значения для портов
DDRB.1=0DDRB.4=0//Входы делаем высокоомными
PORTB.1=0PORTB.4=0;//И больше не трогаем!!!

DDRB.2=0DDRB.3=0//Выходы делаем для начала также
PORTB.3=0PORT3.4=0;//высокоомными


while (1)
{
// Place your code here
if (PINB.0==0// Если замкнут контакт датчика
{

delay_ms_custom=XTALFQ*250//первый цикл по нажатию тангенты будет 0.25 секунды для подавления "дребезга"

PORTB.1=0PORTB.4=0;


DDRB.2=1DDRB.3=1//Теперь выходы делаем выходами
PORTB.3=0PORT3.4=0;// нулевым значением. Возможно в самом 
//устройстве нужно будет первое значение задать единичное. В 
//зависимости от того как работает скан в устройстве 
//Т.Е. сканируются состояния перехода из высокого в 
// низкие уровни или или из низкого в высокий 


while(delay_ms_custom--)
{
// Жмем тангенту
PORTB.2=PINB.1;
}

delay_ms_custom=XTALFQ*1000//Второй цикл будет держать и тангенту и DTFM. Будет это дело держаться целую секунду!.

while(delay_ms_custom--)
{
// Жмем тангенту
PORTB.2=PINB.1;
// и DTFM
PORTB.3=PINB.4;
}

DDRB.2=0DDRB.3=0//Вырубаем передатчик
PORTB.3=0PORT3.4=0;//и DTFM методом переброса выходов в 
//высокоомное состояние


__________________
Найди путь или проложи сам!
MasterMushi вне форума  
Непрочитано 21.07.2010, 08:10  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Как нажать на кнопку в матрице 4х4?

Сообщение от picavr Посмотреть сообщение
То же самое прекрасно делается и на биполярных транзючках
У биполярного ток базы может проникать через переходы на матрицу, особенно если разность напряжений больше 7 В. У полевика изолированный затвор и достаточно ничтожные емкости, если конечно не ставить 0,05-Ом канал
niXto вне форума  
Непрочитано 21.07.2010, 12:22  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Как нажать на кнопку в матрице 4х4?

Сообщение от niXto Посмотреть сообщение
У биполярного ток базы может проникать через переходы на матрицу, особенно если разность напряжений больше 7 В. У полевика изолированный затвор и достаточно ничтожные емкости, если конечно не ставить 0,05-Ом канал
Но ТОК этот очень мал. Если нагрузкой (подтяжкой) является скажем резюки по 10 кОм. То 5В/10000= 0,5мА. Это ток коллектора. Ток базы будет в h21э (коэфициент усиления транзистора) раз меньше. Например коэф равен 200-500 (КТ3102 3107 или BC557 547)
Итого ток базы будет 0,5 мА / 300 = 1,6 мка. Для выходов PIC 20 мА, 1,6 мкА. НИЖТОЖНО МАЛ.
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов

Последний раз редактировалось picavr; 21.07.2010 в 12:24.
picavr вне форума  
Непрочитано 21.07.2010, 14:20  
AVL
Временная регистрация
 
Регистрация: 12.06.2006
Адрес: Україна
Сообщений: 95
Сказал спасибо: 19
Сказали Спасибо 19 раз(а) в 9 сообщении(ях)
AVL на пути к лучшему
По умолчанию Re: Как нажать на кнопку в матрице 4х4?

MasterMushi, спасибо за замечание, но пока-что с твои кодом я не разбирался, ибо рискну с тобой не согласиться с тем, что будут коротить соседние кнопки. Ибо, на мой взгляд, нет принципиальной разницы чем мы коротим столбик и строчку и на сколько времени. Принципиально то, что б сигнал с одной шины переходил во вторую, а как и на сколько - без разныцы. Я пока-что ТАК думаю. Будет ОЧЕНЬ стындо, если я ошибаюсь .
Зашил я в Тиньку свою прошивку. на макетке работает тинька так, как запланировано. Ближе к вечеру впузырю её в рацию и всё станет на свои места и я отпишусь о результатах. Ещё раз спасибо.
AVL вне форума  
Непрочитано 21.07.2010, 14:40  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Как нажать на кнопку в матрице 4х4?

Сообщение от AVL Посмотреть сообщение
Ибо, на мой взгляд, нет принципиальной разницы чем мы коротим столбик и строчку и на сколько времени. Принципиально то, что б сигнал с одной шины переходил во вторую, а как и на сколько - без разныцы. Я пока-что ТАК думаю.
Та ну!?
Ключами мы просто замыкаем, а процом мы подаём определённый уровень в нужный момент, который, быстрее всего, ещё и согласовывать надо.
А то можно "подключиться и проститься".
st_1 вне форума  
Непрочитано 21.07.2010, 15:39  
AVL
Временная регистрация
 
Регистрация: 12.06.2006
Адрес: Україна
Сообщений: 95
Сказал спасибо: 19
Сказали Спасибо 19 раз(а) в 9 сообщении(ях)
AVL на пути к лучшему
По умолчанию Re: Как нажать на кнопку в матрице 4х4?

st_1, не согласен с тем, что процом мы подаём определённый уровень. Мы подаём сигнал на выход процы снятый со входа проца. То-есть дублируем на выходе вход, и если задержка прохождения через проц небольшая,то, возможно и нажмём НУЖНУЮ кнопку. Ближе к вечеру всё будет ясно
AVL вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Глушилка громкой музыки у соседей VVK Отвлекитесь, эмбеддеры! 355 10.01.2019 20:09
[Решено] Как внедрялась АСУ chermnv Отвлекитесь, эмбеддеры! 743 14.02.2010 23:11
[Решено] Третье Послание Человечеству lelkanet Отвлекитесь, эмбеддеры! 201 06.01.2010 00:33


Часовой пояс GMT +4, время: 08:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot