Дмитрий Кузьмичёв

Пульт Для Управления Музыкой На Планшете

5 сообщений в этой теме

Задумался над созданием пульта для планшета на android. Пульт подключается через USB-OTG. Распознается планшетом как HID. Хочу знать, какие коды мне необходимо отправлять, чтобы воспроизвести/пауза, переключить трэк...

P.S. обладатели планшетов на android, которые подключали к нему клавиатуру с горячими клавишами, отзовитесь, пожалуйста, как он реагирует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

сделал схему, никак не могу разобраться с дескрипторами, и компьютер игнорирует клавиши

#define NUM_KEYS    5
/* The following function returns an index for the first key pressed. It
* returns 0 if no key is pressed.
*/
static uchar    keyPressed(void)
{
if (((PINB&(1<<PB7)) == 0)) return (1);
if (((PINB&(1<<PB6)) == 0)) return (2);
if (((PINB&(1<<PB5)) == 0)) return (3);
if (((PINB&(1<<PB4)) == 0)) return (4);
if (((PINB&(1<<PB3)) == 0)) return (5);
   return 0;
}
/* ------------------------------------------------------------------------- */
/* ----------------------------- USB interface ----------------------------- */
/* ------------------------------------------------------------------------- */
static uchar    reportBuffer[2];    /* buffer for HID reports */
static uchar    idleRate;		   /* in 4 ms units */
const PROGMEM char usbHidReportDescriptor[49] = {   /* USB report descriptor */
 0x05, 0x0C,			 // USAGE_PAGE (Consumer Devices)
 0x09, 0x36,			 // USAGE (Consumer Control)
 0xa1, 0x01,			 // COLLECTION (Application)
 0x09, 0xE9,			 //   USAGE (Volume Up)
 0x09, 0xEA,			 //   USAGE (Volume Down)
 0x15, 0x00,			 //   LOGICAL_MINIMUM (0)
 0x25, 0x01,			 //   LOGICAL_MAXIMUM (1)
 0x75, 0x01,			 //   REPORT_SIZE (1)
 0x95, 0x02,			 //   REPORT_COUNT (2)
 0x81, 0x02,			 //   INPUT (Data,Var,Abs)
 0x09, 0xCD,			 //   USAGE (Play/Pause)
 0x15, 0x00,    //   LOGICAL_MINIMUM (0)
 0x25, 0x01,    //  LOGICAL_MAXIMUM (1)
 0x75, 0x01,    //  REPORT_SIZE (1)
 0x95, 0x01,    //   REPORT_COUNT (1)
 0x81, 0x06,    //  INPUT (Data,Var,Rel)
 0x09, 0xB5,			 //  USAGE (swtrack)
 0x75, 0x01,    //  REPORT_SIZE (1)
 0x95, 0x01,    //   REPORT_COUNT (1)
 0x81, 0x06,    //  INPUT (Data,Var,Rel)
 0x09, 0xB6,    //  USAGE (swtrack)
 0x75, 0x01,    //  REPORT_SIZE (1)
 0x95, 0x01,    //   REPORT_COUNT (1)
 0x81, 0x06,    //  INPUT (Data,Var,Rel)
 0xc0,				   // END_COLLECTION
};

#define KEY_PP	   0xCD // Play/Pause key
#define KEY_PV	   0xB5 // Previous
#define KEY_NX	   0xB6 // Next
#define KEY_VUP	   0xE9 // Volume Up
#define KEY_VDN	   0xEA // Volume Down
static const uchar  keyReport[NUM_KEYS + 1][2] PROGMEM = {
/* none */  {0, 0},					 /* no key pressed */
/*  1 */    {0, KEY_PP},
/*  2 */    {0, KEY_PV},
/*  3 */    {0, KEY_NX},
/*  4 */    {0, KEY_VUP},
/*  5 */    {0, KEY_VDN},
};

remote-fw.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И как что то вышло, ато самому интересно.

сделал на сочетаниях, а в андроиде запрограммировал их

Изменено пользователем Дмитрий Кузьмичёв

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: reno
      Здравствуйте. Помогите определить причину неисправности планшета.
      Планшет Onda V813. Несколько раз слетала прошивка. Подозрение на статику (все было в зимний период).
      Заново прошивал - все работало. В том году вышел из строя USB (думаю тоже из-за статического)
      Планшет перестал распознаваться настольным компьютером. На днях опять слетела прошивка. 
      Разобрал думал проблема с разъемом, все вроде нормально.
      Прозвонил USB, результат на рисунке.
      В чем может быть проблема?
      Может у кого есть принципиальная схема на этот планшет?


    • Автор: smacorp
      Через несколько дней ожидаю у себя появления планшета Huawei Mediapad T3 7.0 8Gb, который мне будет просто не нужен.

      Параметры такие:
       
      экран 7", 1024x600, TFT IPS
      встроенная память 8 Гб, слот microSDXC, до 128 Гб
      Android 6.0, ОЗУ 1 Гб, процессор MediaTek MT8127 1300 МГц
      Wi-Fi, Bluetooth, GPS
      размеры 103.7x179x8.6 мм, вес 250 г
      тыловая камера 2 Мпикс
      фронтальная камера 2 Мпикс
      акселерометр

      Планшет будет совершенно новый, в полной заводской комплектации, с гарантией 1 год в авторизованных сервисных центрах.

      Отлично подойдёт для ребёнка или в машину, как навигатор.

      При цене в магазинах порядка 5000 руб., моя цена видится что-то на уровне 4000 руб., включая доставку почтой по России из Казани. Если не согласны с такой ценой, можно обсудить в личке или на pcbsmac@gmail.com
       
    • Автор: Борька
      Где взять такой стол ребенку и как он называется как вот тут на 1-ом фото ССЫЛКА! ?
    • Автор: Бельчонок
      Помогите, пожалуйста. 
      Планшет Texet TM-8044, не идёт зарядка. Вскрыли и нашли маленький проводок(((( откуда он может быть?


    • Автор: winice
      Подскажите как можно сделать программку на андроид для обмена данными с контроллером?
      Например дергать выводами arduino со смарта по wi-fi (само собой через соответствующий шилд) 
      Накидать кнопок ползунков... и задать им соответствие каким-то байтам в памяти контроллера. 
      С разработкой на андроид связываться не хочется)))