Здравствуйте помогите пожалуйста реализовать управление на руле в Киа Рио 3g 2012 года. sl.aliexpress.ru/p?key=6tQeCa вот этот модуль к аукс подключается, с него же можно и реализовать управление перемоткой треков и громкости?
Здравствуйте помогите пожалуйста реализовать управление на руле в Киа Рио 3g 2012 года. sl.aliexpress.ru/p?key=6tQeCa вот этот модуль к аукс подключается, с него же можно и реализовать управление перемоткой треков и громкости?
Комментарии 36
www.drive2.ru/c/622990436197209563/
вот тут описано как раз такое же. только шире, там ещë и от кнопок штатной панели магнитолы добавлено управление. а один из входов от кнопок руля.
Тебе нужен адаптер, который будет понимать резистивные кнопки и на нажатие каждой — выдавать на отдельный выход команду на транзистор с открытым коллектором, а этот транзистор будет "нажимать" кнопки на блютус-интерфейсе.
Несложное поделие.
www.drive2.ru/b/2096351/
Одна фигня — с доставкой сейчас проблемы
Вы просто хотите управлять бт модулем с кнопок руля? Могу сделать такую приблуду.
Да именно
Когда то в детстве, решал подобную задачу. Был телек без пульта ДУ, ИК естественно. С помощью универсального пульта вычислил коды команд, не все, остальные подобрал. Главное понять метод кодирования.
Потом брал любой пульт (от ресивера взял), переписал все коды кнопок на нем, а дальше — ардуина. Она принимает команду по ИК от пульта (OPENBOX был) и транслирует ее в свой ИК передатчик. Последний расположен внутри телека рядом со штатным ИК приемником. Вот и все. Команды набиты в прошивку ввиде таблицы, где при получении одного кода ардуина выдает на гора свой закрепленный за ним нужный код. В вашем случае можно без ИК. А по проводам передавать. Если не потер то гляну пример свой.
Во, нашел, тоже в сети содрал но под себя поправил.
#include <irremote.h>
#define POWER_KEY 0x10110EF // ДУ "NEC" Openbox X820 (STV Resiver)
#define VOLM 0x10112ED //VOL PLUS
#define VOLP 0x101926D //VOL MINUS
#define CHP 0x101906F //CH PLUS
#define CHM 0x10150AF //CH MINUS
#define OK 0x101F00F //OK
#define CAP 0x101609F //СТРЕЛКА ВВЕРХ
#define CDW 0x101E01F //CTPELKA BHI3
#define CLF 0x101708F //BLEBO
#define CRI 0x101E817 //B PRABO
#define MUTE 0x10158A7 //MUTE
#define MENU 0x1018877 //MENU
#define EXIT 0x101D02F //EXIT
#define UHF 0x101C23D //X3 — 4TO
#define AUDIO 0x101827D //TV-AV
#define PAUSE 0x10142BD //Sleep+15Min
#define RECAL 0x10108F7 //CH<->CH
#define CH1 0x101C03F //1
#define CH2 0x101C837 //2
#define CH3 0x101D827 //3
#define CH4 0x10120DF //4
#define CH5 0x10128D7 //5
#define CH6 0x10138C7 //6
#define CH7 0x101A05F //7
#define CH8 0x101A857 //8
#define CH9 0x101B847 //9
#define CH0 0x1017887 //0
#define EPG 0x101E21D //DCC ON/OFF
#define GROUP 0x101B04F //Servis Menu
#define INFO 0x10122DD //INFO
//#define STBTV 0x10118E7 //STB/TV пока не знаю
#define RC5_POWER_KEY 0x832 // коды пульта ДУ
#define RC5_VOLM 0x811 //VOL PLUS
#define RC5_VOLP 0x831 //VOL MINUS
#define RC5_CHP 0x829 //CH PLUS
#define RC5_CHM 0x819 //CH MINUS
//#define RC5_OK 0x000 //OK
#define RC5_CAP 0x829 //СТРЕЛКА ВВЕРХ +CH
#define RC5_CDW 0x819 //CTPELKA BHI3 -CH
#define RC5_CLF 0x811 //BLEBO -VOL
#define RC5_CRI 0x831 //B PRABO +VOL
#define RC5_MUTE 0x834 //MUTE
#define RC5_MENU 0x826 //MENU
#define RC5_EXIT 0x82C //EXIT
#define RC5_UHF 0x82C //X3 — 4TO
#define RC5_AUDIO 0x836 //TV-AV
#define RC5_PAUSE 0x802 //Sleep+15Min
#define RC5_RECAL 0x83C //CH<->CH
#define RC5_CH1 0x820 //1
#define RC5_CH2 0x810 //2
#define RC5_CH3 0x830 //3
#define RC5_CH4 0x808 //4
#define RC5_CH5 0x828 //5
#define RC5_CH6 0x818 //6
#define RC5_CH7 0x838 //7
#define RC5_CH8 0x804 //8
#define RC5_CH9 0x824 //9
#define RC5_CH0 0x800 //0
#define RC5_EPG 0x812 //DCC ON/OFF
#define RC5_GROUP 0x816 //Servis Menu
#define RC5_INFO 0x81C //INFO
//#define RC5_STBTV 0x10118E7 //STB/TV пока не знаю
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN); // приемник, на 11 ногу
IRsend irsend;
decode_results results;
void setup() {
Serial.begin(9600);
pinMode(12, OUTPUT); // питание приемника -минус
pinMode(13, OUTPUT); // питание приемника +плюс
digitalWrite(12, LOW); // что б его отключать и включать
digitalWrite(13, HIGH); // программно!
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results))
{ // если пришла команда
Serial.println(results.value, HEX); // для отладки
irsend.enableIROut(38);// включаем перечу на 38кгц (хз сколько там по умолчанию)
delay(40);
// в цикле, который крутится 3 раза для SONY только
// сверяем команду и если совпала отправляем от сони(ЕСЛИ sony)
// техника сони понимает только с третьего раза
//ХОТЬ И РАБОТАЕТ НО ПОДРАБОТАТЬ ДО 1-ГО РАЗА
for (int i = 0; i < 2; i++){
if (results.value == POWER_KEY) irsend.sendRC5(RC5_POWER_KEY, 12);
else if (results.value == VOLM) irsend.sendRC5(RC5_VOLM, 12);
else if (results.value == VOLP) irsend.sendRC5(RC5_VOLP, 12);
else if (results.value == CHP) irsend.sendRC5(RC5_CHP, 12);
else if (results.value == CHM) irsend.sendRC5(RC5_CHM, 12);
//else if (results.value == OK) irsend.sendRC5(RC5_OK, 12);
else if (results.value == CAP) irsend.sendRC5(RC5_CAP, 12);
else if (results.value == CDW) irsend.sendRC5(RC5_CDW, 12);
else if (results.value == CLF) irsend.sendRC5(RC5_CLF, 12);
else if (results.value == CRI) irsend.sendRC5(RC5_CRI, 12);
else if (results.value == MUTE) irsend.sendRC5(RC5_MUTE, 12);
else if (results.value == MENU) irsend.sendRC5(RC5_MENU, 12);
else if (results.value == EXIT) irsend.sendRC5(RC5_EXIT, 12);
else if (results.value == UHF) irsend.sendRC5(RC5_UHF, 12);
else if (results.value == AUDIO) irsend.sendRC5(RC5_AUDIO, 12);
else if (results.value == PAUSE) irsend.sendRC5(RC5_PAUSE, 12);
else if (results.value == RECAL) irsend.sendRC5(RC5_RECAL, 12);
else if (results.value == CH1) irsend.sendRC5(RC5_CH1, 12);
else if (results.value == CH2) irsend.sendRC5(RC5_CH2, 12);
else if (results.value == CH3) irsend.sendRC5(RC5_CH3, 12);
else if (results.value == CH4) irsend.sendRC5(RC5_CH4, 12);
else if (results.value == CH5) irsend.sendRC5(RC5_CH5, 12);
else if (results.value == CH6) irsend.sendRC5(RC5_CH6, 12);
else if (results.value == CH7) irsend.sendRC5(RC5_CH7, 12);
else if (results.value == CH8) irsend.sendRC5(RC5_CH8, 12);
else if (results.value == CH9) irsend.sendRC5(RC5_CH9, 12);
else if (results.value == CH0) irsend.sendRC5(RC5_CH0, 12);
else if (results.value == EPG) irsend.sendRC5(RC5_EPG, 12);
else if (results.value == GROUP) irsend.sendRC5(RC5_GROUP, 12);
else if (results.value == INFO) irsend.sendRC5(RC5_INFO, 12);
//else if (results.value == SERV) irsend.sendRC5(RC5_SERV, 12);
//else if (results.value == STBV) irsend.sendRC5(RC5_STBV, 12);
//else if (results.value == CHM) irsend.sendRC5(RC5_CHM, 12);
//else if (results.value == CHM) irsend.sendRC5(RC5_CHM, 12);
//else if (results.value == CHM) irsend.sendRC5(RC5_CHM, 12);
delay(40);
Сейчас занимаюсь подобным на Mercedes w203. Но у меня кнопки подключены через Can-шину. И аудиомудуль поинтереснее. Итого получается: от авто- каншилд mcp2515 к ардуино Уно, а от уны управление через UART на бт модуль bt201( всё с Алика).
А где узнать какие на Киа управление?
У Киа скорее всего резистивные кнопки на руле, смотрите какое сопротивление у какой кнопки, и подключившись параллельно с помощью цифрового потенциометра имитируете нажатия меняя значения сопротивления потенциометра.
Я себе купил блютус аукс Baseus Audio Adapter BA01 CABA01, а для перключения трэков купил блютусные кнопки
sl.aliexpress.ru/p?key=6eQe0k
Да в том то и дело не хотелось бы эти кнопки… Есть штатные)
У меня тоже есть, но увы и ах) я уже себе мафон заказа другой, жду когда приедет)
Данным модулем будет сложно управлять.
У нас на руле резистивные кнопки, а тут управление кнопками независимое.
Можешь у меня почитать, как я реализовал управление магнитолой с кнопок.
Хотя по опыту могу сказать — би модуль не удобный. Лучше уж чутка потратиться и купить магнитолу с би, а уж лучше с экраном )
Но если задача стоит именно этот модуль завести — то его можно подключить к Ардуино, которая будет управлять штатной магнитолой
А на фото товара, человек который вставил модуль в разъем с аукс и юсб управление не расключил. Только питание и аудиовыход
Увы данной сумой не располагаем на магнитолу. Хотелось бы найти другой способ может быть другой какой модуль
Думаю что через Ардуино возможно реализовать, единственная сложность прочитать сигнал с кнопок. Если же ни резистивные то вообще проблем нет
Вроде не резистивные
Тогда чуть сложнее, нужно прочитать сигналы lin шины и уже посредством Ардуино реализовать управление.
А там фиг знает как управление идет
Sharanovod
Тогда чуть сложнее, нужно прочитать сигналы lin шины и уже посредством Ардуино реализовать управление.
Резистивное управление кнопок идёт.
Так для начала нужно знать что у тебя стоит и исходя из этого и решать вопрос
Управление резистивное
artyrpro
Увы данной сумой не располагаем на магнитолу. Хотелось бы найти другой способ может быть другой какой модуль
Стандартные сопротивления кнопок стандартной магнитолы доступны в интернете. Используя электронный потенциометр можно минимизировать использование пинов ардуино
KarpEXE
Данным модулем будет сложно управлять.
У нас на руле резистивные кнопки, а тут управление кнопками независимое.
Можешь у меня почитать, как я реализовал управление магнитолой с кнопок.
Хотя по опыту могу сказать — би модуль не удобный. Лучше уж чутка потратиться и купить магнитолу с би, а уж лучше с экраном )
Но если задача стоит именно этот модуль завести — то его можно подключить к Ардуино, которая будет управлять штатной магнитолой
А на фото товара, человек который вставил модуль в разъем с аукс и юсб управление не расключил. Только питание и аудиовыход
Можете помочь с этим вопросом в частности скетч подобрать помочь написать, куда копать
функция аналогреад для чтения напряжения на проводе от кнопок. функция "если" напряжение на входе такое то, то подать 5 вольт на такойто выход и так столько раз, сколько кнопок есть. это уже помощь. за месяц точно разберëшься. и напишешь, и раз 50 сбегаешь от компа до машины для проверки :-)
Таким не сделаете. Если магнитола штатная, то только менять. Если не штатная, то ищите подходящий модуль сопряжения или универсальный.
Например, для магнитол Pioneer есть модули Connect5, которые дают возможность управлять кнопками.
А через ардуинку не как чтобы модуль переключал треки ведь в нем есть такая возможность
Почитал поподробнее. Нужно разбираться.
Все универсальные модули сопряжения работают через интерфейс remote на магнитоле (3,5 jack). Кнопки на руле Рио 3 создают определенное сопротивление, которое преобразуется в нужное модулем и отправляется на магнитолу.
На родной магнитоле такого интерфейса нет. Куда паять провода управления — не понятны (может в инструкции что-то есть?)
Если через ардуину, то тут я не спец))) предполагаю, что надо с этого модуля как-то получить сигнал, преобразовать его в нужное сопротивление и отправить на магнитолу (где-то в шлейфе надо найти провода, которые передают сигнал от кнопок руля.)
Вот схема подключения такая есть. Ещё есть такой модуль sl.aliexpress.ru/p?key=pw9eVl
тут все немного сложнее. Через ардуину вам придется на телефон отправлять сигнал переключения трека, через aux вы это не сделаете, то есть надо как-то ВТ использовать. А вот сигналы громкости надо передавать уже на магнитолу.
В общем, огород городить еще тот…Мне кажется оно того не стоит.
Привет! А на самом руле кнопки есть? Или предполагается приколхозить что-нибудь блютусное?
Кнопки есть штатные
K-Rest
Привет! А на самом руле кнопки есть? Или предполагается приколхозить что-нибудь блютусное?
В магнитоле флешка и аукс. Может быть с другим каким нибудь модулем.не обязательно с этим
Рабочий вариант: магнитола со входом для дистанционного управления + переходник со штатных кнопок на этот тип магнитолы.
Можно в уме представить самодельный модуль, преобразующий сигнал от кнопок в сигналы, необходимые этому блютус-модулю. Но человек, способный спаять такую схему, не стал бы задавать подобные вопросы.
Поясню суть проблемы: от штатных кнопок идет сигнал только по одному проводу. Штатная магнитола узнает, какая кнопка нажата, по изменению сопротивления в этой цепи. У показанного модуля на разные действия нужно замыкать разные контакты. Значит, что-то должно измерять сопротивление в цепи на входе и замыкать нужные контакты на выходе.
Может можно реализовать через ардуинку же как то это? Учиться я готов. Написание скетча сложно конечно для меня. Но научиться не поздно. Ведь можно же чтобы на ардуинку шел сигнал с кнопок и передавал на модуль блютуз соответственно тот уже переключал трек. Или громкость меньше больше делал.
Можно, конечно. Вон уже сколько вариантов накидали. Но помни — Ардуино затягивает. Сначала светодиодиком помигал, потом кнопки на руле, потом ESP32 с вайфаем, потом не успел оглянуться — как ремонт в квартире делаешь с проводкой под умный дом :-)
Не страшно. Теперь надо разобраться как все это реализовать…
Начни с простого — узнай сопротивление при нажатии кнопок на руле. Что-нибудь типа:
Плей — 100 Ом
Стоп — 200 Ом
Прибавить громкость — 1КОм
и так далее…
Когда будет понятно, какие сопротивления, реши задачу "как преобразовать данные о нажатии кнопок в понятный Ардуино формат" (читать про функцию AnalogRead и делать выводы). Это основная задача, остальное уже мелочи.
И останется только финальный штрих — заставить всё, работавшее в домашних условиях, заработать на машине. С тамошним нестабильным электропитанием и горой помех.
И не нужно надеяться, что это выйдет дешевле, чем купить готовое. Ардуина по цене двести рублей — это только вершина айсберга.