Управління з керма планшетом

Давайте розберемося як це реалізувати по кроків.
Для початку нам необхідно придбати плату Arduino Leonadro або ArduinoMicro. головна відмінність цих контролерів в тому що на них встановлені мікропроцесори Atmega32u4 яка має на борту вбудовану підтримку USB-з'єднання, завдяки чому не потрібно допоміжний процесор. Це дає їм змогу на Atmega32u4 з'являтися на підключеному планшеті (з підтримкою OTG) або комп'ютері в якості миші або клавіатури на додаток до віртуального (CDC) послідовного порту (COM). Загалом підійде будь-який arduino сумісний контролер який побудований на Atmega32u4.
Другим кроком після того як придбали необхідний вам контролер необхідно завантажити ArduinoIDE і встановити для того щоб встановилися драйвера, потім щоб працювали всі функції скачайте підготовлену мною портативну версію ArduinoIDE ось ТУТ. в цей архів уже додані всі необхідні бібліотеки і змінені файли для роботи в якості медіа клавіатури.

Тепер після того як ми підключили підтягаючий резистор необхідно підключити резистивні кнопки, для цього беремо 1 резистор на 1 кОм ще один на 2 кОм, (будемо збирати свого роду дільник напруги) і 2 кнопки. По ідеї це все можна і не збирати якщо у вас на руках резистивні кнопки автомобіля у них зазвичай 4 і більше кнопок але лише 2 дроти. Як можна бачити на схемі справа у нас 2 кнопки але їх кількість можна збільшити скажімо до 100 але буде управлятися всього 2 ма проводами. 1 кінець дроту з'єднуємо до порту A0 другий до порту 5v


І так ми все підключили, тепер будемо програмувати, запустіть arduino з розпакованої папки arduino-1.0.5-r2 яку скачували трохи вище. Тепер скопіюйте код який під спойлером нижче і вставте в ArduinoIDE. Після того як завантажитися програма в Ардуіно, відкрийте Сервіс -> Монітор порту. Якщо все правильно підключено ви побачите що кожні пів секунди у вас з'являється 0. Коли я натискаю кнопку S1 у мене з'являється значення
930 воно трохи може змінюватися, коли натискаю кнопку S2 з'являється значення
853. Ось ми і вважали резистивні кнопки, запишемо їх на який-небудь листок S1 - 930, S2-853.
Нижче скетч для зчитування значень кнопок.
І так значення вважали, тепер давайте зробимо перемикання музики і т.д. нам знадобляться наступні команди:
Remote.next (); // наступна пісня
Remote.previous (); // попередня пісня
Remote.play_pause (); // плей і паузу
Remote.increase (); // гучність додати
Remote.decrease (); // гучність зменшити
Remote.mute (); // Вимкнути аудіо
Remote.stop (); // Зупинити відтворення
Remote.forward (); // Прискорити відтворення
Remote.rewind (); // Повернення назад
Після того як завантажте цей скетч в arduino, включіть на комп'ютері плеєр з музикою і спробуйте натиснути кнопку S1 по ідеї повинно статися перемикання музики на наступну при нажитого кнопки S2 на попередню. Для того щоб додати інші команди просто додаємо ще один пункт значень присвоюємо їм потрібні значення і завантажуємо в Ардуіно, в загальному то і все. (Якщо пристрій працює на комп'ютері то буде і працювати на планшеті з OTG)
Далі поговоримо як зв'язати один керманич пульт з планшетом і магнітолою:
Магнітоли фірми Sony і Pioneer для управління використовують певні опору (номінали на картинках нижче), від фірм Alpain і Kewoor певний протокол схожий на IR сигнал пульта від телевізора тільки він передається по дроту.
Для того щоб управляти всім цим я розробив спеціальну плату для управління з рульових кнопок. схема пристрою

Для управління магнітолами Pioneer і Sony використовується мікросхема MCP4131-104 це цифровий потенціометр на якому можна регулювати опір від 0 кОм до 100 кОм в 129 кроків (цього достатньо щоб управляти магнітолами) Для управління Alpain і Kenwood мікросхему MCP4131-104 ставити не потрібно а просто замкнути перемичку 1 і 2 або якщо дивитися на ноги мікросхеми MCP-4131-104 замкнути CS (D5) з P0W (JACK 3.5 +), в цьому випадку вихід D5 arduino безпосередньо піде на висновок JACK3.5 + і в прошивці необхідно вказати сигнальний висновок порт D5 для передачі кодів на магнітоли. В якості джерела живлення використовується мікросхема MC34063 вона має відмінне ккд в порівнянні з LM7805, але обв'язка трохи складніше щоб отримати 5в. Напруга на висновок + 12V можна подавати від 6-до40. За ідеєю харчування можна і не розводити, а брати безпосередньо з USB пристрою але в такому випадку значення АЦП плавають залежно від напруги на порту USB внаслідок чого важко налаштувати резистивні кнопки або взагалі не можливо.


Далі під спойлерами представлені скетчі для управління магнітолами
Скетч для управління магнітолами Pioneer