Найти тему
ZDMaster

Мультируль для JVC на arduino, Часть 1 — техническая

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

Весь проект строился под #мультируль Opel Corsa C.

Сам скетч имеет подробные комментарии.

Ардуино очень доброжелательная к пользователю платформа, язык программирования упрощен, прошивка тоже. Но если вы не уверены в своих силах, проще купить адаптер, экономия сомнительна. Если не напугал, читаем дальше.

Код еще достаточно сырой и будет еще не раз изменен, но уже работает ;)

Вот сам код - Ссылка

Ещё понадобится библиотека ir remote

Этот код должен работать сразу, если подключили #ардуино по такой схеме:

Схема подключения ардуино к рулю
Схема подключения ардуино к рулю

Пояснения по схеме:

D1 - ИК светодиод

R9 - токоограничивающий резистор 10 Ом для ИК светодиода

R8 - резистор 4,7кОм, плечо делителя напряжения

Вся требуха в рамке со стрелочкой это наши кнопки на руле.

Внизу схема кнопок на руле, которую я нашел в интернете.

Внимательный читатель заметит, что в моей схеме и в схеме ниже кнопки "-" и "+" перепутаны, да, я тупо не помню как на самом деле, когда проводил измерения на руле записал их себе по верхней схеме, может проглядел =)

Принцип работы:

На аналоговый вход arduino (А0) поступает сигнал с делителя напряжения, одно плечо делителя это кнопки на руле, второе плечо это резистор R8.

Ардуино считает этот входящий сигнал в своих "попугаях" от 0 до 1024.

В шапке скетча есть настройки:

/*Описываем сколько "попугаев" в нажатых кнопках*/

define MINUS0 18 // Кнопка "-" на руле

define PLUS0 34 // Кнопка "+" на руле

define CIRCLE0 58 // Кнопка "0" на руле

define RIGHT0 91 // Кнопка ">" на руле

define LEFT0 146 // Кнопка "<" на руле

define UP0 241 // Кнопка "вверх" на руле

define ALLDOWN 447 //Все кнопки отпущены

define DELTA 5 // Погрешность в измерении приходящего сигнала, если показания скачут более чем на 5 единиц, то можно увеличить

Разберем строку: define MINUS0 18 // Кнопка "-" на руле

Это означает что когда нажата кнопка "-"(обозначена как MINUS0), на вход ардуино А0 приходит напряжение, которое она воспринимает как 18 попугаев.

Так описываются все 6-ть кнопок.

Строка: define ALLDOWN 447 //Все кнопки отпущены

Эта постоянная задает количество попугаев, когда все кнопки отпущены.

Строка: define DELTA 5

Из-за того, что напряжение может быть не стабильно, попугаев может быть больше или меньше, поэтому вводим погрешность при измерении - 5 попугаев.

Часто задаваемые вопросы:

Вопрос:

Это подойдет на мою хонду?
Это подойдет на мою хонду?

Ответ:

Если на руле резистивные кнопки, должно подойти, нужно будет измерить, какой сигнал приходит с каждой кнопки, и записать их в шапке кода
Если на руле резистивные кнопки, должно подойти, нужно будет измерить, какой сигнал приходит с каждой кнопки, и записать их в шапке кода

Вопрос: а на пионер сможешь такую штуку сделать?)

Ответ: Теоретически будет работать с любым устройством, которое управляется по ИК.

Если на магнитоле JVC есть провод #steering wheel remote , и не охота лепить куда-то ИК-светодиод, то в следующей части расскажу как это реализовать. Если не хотите пропустить, подписывайтесь.