roboforum.ru

Технический форум по робототехнике.


Однопроводная клавиатура в VMLab

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Однопроводная клавиатура в VMLab

Сообщение vitalik » 27 апр 2009, 22:23

В VMLab однопроводной клавиатуры как таковой нет. Можно пользоваться переменным резистором это не то.
Попробовал описать схему -все работает как надо только при наличии одной лишней строчки. Эта строка получилась даже незнаю как.

Вот схема:
Изображение


Проэкт в VMLab
; ------------------------------------------------------------
.MICRO "ATmega8"
.TOOLCHAIN "GCC"
.GCCPATH "C:\WinAVR"
.GCCMAKE "makefile"
.TARGET "proba.hex"
.SOURCE "proba.c"
.TRACE ; Activate micro trace
; ------------------------------------------------------------
.POWER VDD=5 VSS=0 ; Power nodes
.CLOCK 1meg ; Micro clock
.STORE 2000m ; Trace (micro+signals) storage time
;------------------------------------------------------------
R0 PC0 r1node 0.001k; 1 Ом подключаем делитель ко входу АЦП
;------------------------------------------------------------
R1 VDD r1node 1k; цепочка резисторов делителя
R2 r1node r2node 0.120k;
R3 r2node r3node 0.120k;
R4 r3node r4node 0.180k;
R5 r4node r5node 0.240k
R6 r5node r6node 0.330k;
R7 r6node r7node 0.510k;
R8 r7node r8node 1k;
R9 r8node r9node 1.5k;
r10 r9node r10node 5.1k
;-----------------------------------------------------------
K0 vss r1node; подключение кнопок
K1 vss r2node;
K2 vss r3node;
K3 vss r4node;
K4 vss r5node;
K5 vss r6node;
K6 vss r7node;
K7 vss r8node;
K8 vss r9node;
K9 vss r10node;
;-----------------------------------------------------------

KE PC0 r10node;//без этой строки не работает!!!! НО ЭТО ЛИШНЕЕ!!!! кнопка любая свободная.

.PLOT v(PC0);

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

В архиве примера написан на С просто кусок работы с АЦП чтобы можно было видеть измеренное значение в окне:
VMLab-View-Peripherals-A/D converters
Аватара пользователя
vitalik
 
Сообщения: 7
Зарегистрирован: 27 апр 2009, 22:13
Откуда: г.Монте Карло

Re: Однопроводная клавиатура в VMLab

Сообщение contr » 27 апр 2009, 23:41

R0 & Rx не нужны, R1=10k, далее 1к, 2к, 5к и т.д. Используется во многих устройствах, где нет возможности организовать более помехоустойчивую матрицу кнопок.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: Однопроводная клавиатура в VMLab

Сообщение vitalik » 28 апр 2009, 07:49

R0 это только для проета VMLab чтобы привязать вход АЦП к делителю, я и поставил 1 Ом. А вот Rx действительно необходим. При измерения АЦП несколько странно меряет чистый ноль - проверено практикой.

Меня итересует, кто подскажет почему
KE PC0 r10node; //без этой строки не работает!!!! это ненужная строка

contr
По поводу выбора резисторов делителей, то если следовать 1к, 2к, 5к... то какой номинал тогда будет на 10й или 15й кнопке, а важен и шаг напряжений. У меня 7 кнопок, напряжения от 0 до 3В с шагом ~0.5В
Аватара пользователя
vitalik
 
Сообщения: 7
Зарегистрирован: 27 апр 2009, 22:13
Откуда: г.Монте Карло

Re: Однопроводная клавиатура в VMLab

Сообщение avr123.nm.ru » 28 апр 2009, 10:08

Если не будет одновременного нажатия то наверно резисторы можно все одинаковые поставить.

Чтоб найти проблему уменьшите проект до пары кнопок.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Однопроводная клавиатура в VMLab

Сообщение Victorovych » 28 апр 2009, 10:16

При одновременном нажатии работать будет самая левая нажатая (по схеме)
Аватара пользователя
Victorovych
 
Сообщения: 491
Зарегистрирован: 20 сен 2007, 11:44
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич

Re: Однопроводная клавиатура в VMLab

Сообщение avr123.nm.ru » 28 апр 2009, 10:49

Victorovych писал(а):При одновременном нажатии работать будет самая левая нажатая (по схеме)

сумнительно.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Однопроводная клавиатура в VMLab

Сообщение contr » 28 апр 2009, 11:06

какой номинал тогда будет на 10й или 15й кнопке

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

Если реализовано кнопка-разряд АЦП (исключая 4 младших), то одновременное нажатие можно тоже обрабатывать.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: Однопроводная клавиатура в VMLab

Сообщение vitalik » 28 апр 2009, 19:04

1.В жизни бывает клавиатура 4х4 итого 16 кнопок.
2.Если нажато две или более кнопки - то отрабатывается только левее по схеме: дальше КЗ на землю и делитель не учитывается. Поетому сколько бы небыло разрядов -непоможет.
3.И самое главное - клавиатура работает больше года на 7 кнопок, всё окей
Самое главное кто знает в чем загвоздка в описании проекта для VMLab.
Две кнопки или десять- таже самая лажа, без записи на свободную (KA, KB...KE) кнопку KE PC0 r10node;
на последний узел r10node (или r9node - при 9 кнопках ...) неработает.

Может я чего неправильно описываю в проекте?????

Модератор blindman:Для ответа есть кнопка Ответить! Кнопка Цитата служит для вставки цитаты, когда она нужна
Последний раз редактировалось blindman 28 апр 2009, 19:08, всего редактировалось 1 раз.
Причина: Излишнее цитирование!
Аватара пользователя
vitalik
 
Сообщения: 7
Зарегистрирован: 27 апр 2009, 22:13
Откуда: г.Монте Карло


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7