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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Дополнительные устройства (http://pccar.ru/forumdisplay.php?f=177)
-   -   Резистивные кнопки под андроид (http://pccar.ru/showthread.php?t=18478)

YAM1966 09.02.2016 23:22

Цитата:

Сообщение от demtro (Сообщение 351239)
Есть такая кнопка на клавиатуре, как контекстное меню, как заставить ардуино эмулировать её нажатие?

HID Usage Tables страница 27 System Context Menu.

demtro 10.02.2016 09:32

Цитата:

Сообщение от YAM1966 (Сообщение 351240)
HID Usage Tables страница 27 System Context Menu.

Т.е получаем код кнопки 0x84, правильно понимаю?

YAM1966 10.02.2016 11:09

Цитата:

Сообщение от demtro (Сообщение 351269)
Т.е получаем код кнопки 0x84, правильно понимаю?

Нет, 0x84 не код кнопки.
Для кнопок в таблице 6 необходим свой HID дескриптор описывающий его конфигурацию типа такого:
Код:

  0x05, 0x01, //        Usage Page (Generic Desktop)
  0x09, 0x80, //        Usage (System Control)
  0xA1, 0x01, //        Collection (Application)
  0x85, REPORT_SYSTEM_CONTROL_ID, //            Report ID (6)
  0x75, 0x01, //            Report Size (1)
  0x95, 0x08, //            Report Count (8)
  0x15, 0x00, //            Logical Minimum (0)
  0x25, 0x01, //            Logical Maximum (1)
  0x09, 0x81, //            Usage (System Power Down)
  0x09, 0x82, //            Usage (System Sleep)
  0x09, 0x83, //            Usage (System Wake Up)
  0x09, 0x84, //            Usage (System Context Menu) <-Использование Вашей кнопки
  0x09, 0x85, //            Usage (System Main Menu)
  0x09, 0x86, //            Usage (System App Menu)
  0x09, 0x87, //            Usage (System Menu Help)
  0x09, 0x88, //            Usage (System Menu Exit)
  0x81, 0x02, //            Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
  0xC0        //        End Collection


demtro 10.02.2016 22:23

Цитата:

Сообщение от YAM1966 (Сообщение 351274)
Нет, 0x84 не код кнопки.
Для кнопок в таблице 6 необходим свой HID дескриптор описывающий его конфигурацию типа такого:
Код:

  0x05, 0x01, //        Usage Page (Generic Desktop)
  0x09, 0x80, //        Usage (System Control)
  0xA1, 0x01, //        Collection (Application)
  0x85, REPORT_SYSTEM_CONTROL_ID, //            Report ID (6)
  0x75, 0x01, //            Report Size (1)
  0x95, 0x08, //            Report Count (8)
  0x15, 0x00, //            Logical Minimum (0)
  0x25, 0x01, //            Logical Maximum (1)
  0x09, 0x81, //            Usage (System Power Down)
  0x09, 0x82, //            Usage (System Sleep)
  0x09, 0x83, //            Usage (System Wake Up)
  0x09, 0x84, //            Usage (System Context Menu) <-Использование Вашей кнопки
  0x09, 0x85, //            Usage (System Main Menu)
  0x09, 0x86, //            Usage (System App Menu)
  0x09, 0x87, //            Usage (System Menu Help)
  0x09, 0x88, //            Usage (System Menu Exit)
  0x81, 0x02, //            Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
  0xC0        //        End Collection


т.е для работы этой кнопки мне надо переписать библиотеку HID.cpp и USBAPI.h (которые мы используем для мультимедиа клавиатуры в этой теме)?

YAM1966 10.02.2016 23:03

Цитата:

Сообщение от demtro (Сообщение 351328)
т.е для работы этой кнопки мне надо переписать библиотеку HID.cpp и USBAPI.h (которые мы используем для мультимедиа клавиатуры в этой теме)?

Не переписать, а добавить HID дескриптор для выдачи события по нажатию нужной кнопоки и сделать соответствующую функцию для ее передачи по USB.

Kudryash 19.02.2016 21:06

Вложений: 1
Подрулевой джойстик ford fusion
Вложение 42689
Не силен в сопротивлениях , но паять умею :)
Запитал с привязкой к минусу через 20 кОм, при не подсоединенном джойстике показатель равен 0.
Присоединяю джойстик к ардуино , монитор порта выдаёт 817 (не пойму почему так)
vol + 1016
vol - 1021
track + 1008
track - 996
mute 973
Прошу совета , понимаю что кнопки очень рядом друг с другом по значениям .
Пробовал менять 20 кОм на другие сопротивления , но расхождение в показателях кнопок так и остаётся не большим.
Посоветуйте как правильно поступить ?!

oleg707 19.02.2016 21:35

del.

awtoap 19.02.2016 23:37

Контакт 1 на вход АЦП абдурины и этот же контакт подтянуть резистором 1ком к плюс 5В. Контакт 2 на массу.

Kudryash 21.02.2016 00:53

И так , подтянул к плюсу через 1 кОм
0 если не подсоединять к пульту
855 присоединил пульт , кнопки не нажаты
vol + 130
vol - 50
track + 235
track - 365
mute 519
теперь вроде разброс хороший ,кнопки не залазят друг на друга.
Спасибо за помощь !

P.S. пульт проверен , всё исправно работает !
Еще раз спасибо за помощь !

Melkior 22.02.2016 12:07

Гайз, а никто не делал отдельного ликбеза на тему "Как передавать нажатие кнопок в андроид плейер" Честно говоря читать все страници с первой не очень захватывающе, учитывая что в 2012году обсуждали совсем не ардуину.

Я так понял что основная задача перекину ардуинку в режим hid клавы и по юсб передавать сигнал в андроид девайсы. Но с конкретикой туго


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

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