PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Клавиатуры (http://pccar.ru/forumdisplay.php?f=162)
-   -   Еще одна HID-клавиатура (combo) (http://pccar.ru/showthread.php?t=18514)

CheGuevara 22.01.2013 23:01

Еще одна HID-клавиатура (combo)
 
Вложений: 3
Всем привет!

Для своего проекта pccar на андроиде слепил такую клавиатуру.
Возможности -- регулировка громкости с помощью энкодера, и 4 (пока четыре) кнопки: home, menu, back, off.

Исходные коды и прошивка в архиве.

Значения входных напряжений с резистивной клавиатуры и генерируемые коды клавиш зашиты сразу в прошивку: смотрим файл "varForKeys.c"
Массив adcValues -- значения, выдаваемые АЦП, массив keyMsg -- соответствующие коды клавиш.

Как посчитать значения adcValues:
1. измеряем напряжение питание контроллера -- Ucc
2. измеряем напряжение на выводе 2 при нажатой кнопке -- Ukey
3. вычисляем значение АЦП -- округл(Ukey * 1024 / Ucc; 0)

M@troskin 30.03.2013 18:10

А такого плана вещь можно замутить на Тини13? или не хватит памяти?

awtoap 30.03.2013 21:39

Не хватит памяти.

gilroy 26.06.2013 15:48

Разработанное программное обеспечение позволяет распознавать нажатия кнопок на ИК пульте и сопоставлять их с нажатием практически любой комбинации клавиш на клавиатуре.

Винни_Пух 29.08.2013 11:31

Подскажите, в винде эта клавиатура будет работать? Правильно понимаю что количество кнопок можно легко увеличить так как дискретность измерения АЦП 1024.

Винни_Пух 06.09.2013 12:43

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

CheGuevara 19.09.2013 07:36

Цитата:

Сообщение от Винни_Пух (Сообщение 268895)
Подскажите, в винде эта клавиатура будет работать? Правильно понимаю что количество кнопок можно легко увеличить так как дискретность измерения АЦП 1024.

Конечно будет -- это же обычная HID-клавиатура...
Более того скажу -- разработка и тестирование велось под виндой...
Количество кнопок можно увеличить (не 1024, конешно)

З.Ы. если кнопки подключить к резистивной матрице R-2R, то и одновременные нажатия можно организовать... (алгоритм распознавания нажатия кнопкок, конечно, другой надо)

сорри, что не отвечал -- редко здесь бываю...

Винни_Пух 19.09.2013 11:34

Большое спасибо!

Alekssandr 14.12.2013 11:15

Ребята на сколько я понял правильно;
собираем как показано на схеме, подбираем нужные сопротивление, вычисляем значение АЦП,

потом полученные данные вводим в файл varForKeys.c

в строку

static int adcValues[KEY_COUNT] = { 770, 680, 510, 0 };
static char keyMsg[KEY_COUNT] = { 0x4a, 0x3a, 0x29, 0x3d }; // "Home", "Menu", "Back", "Off"

вопрос, можно ли добавить в этот файл новые значения и новые кнопки с кодами клавиш?

например так
static int adcValues[KEY_COUNT] = {900, 800, 770, 680, 510, 0 };
static char keyMsg[KEY_COUNT] = {0x12, 0x81, 0x4a, 0x3a, 0x29, 0x3d }; // "Alt", "F12", "Home", "Menu", "Back", "Off"

и как сделать так чтобы зажать одновременно 2 кнопки при помощи одного значения? Допустим на значении ацп 900 нам нужно зажать Alt+F12.

Винни_Пух 14.12.2013 13:42

У меня не получилось. Прошивка заливается в процессор, считывается, проходит сравнение. При подключении к usb пишет что устройство не опознано.


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

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot