Управление музыкой в машине с кнопок на руле

Кирилл Перминов

✩✩✩✩✩✩✩
25 Июн 2020
18
0
Всем привет! Есть желание приколхозить к штатной магнитоле Субару USB для чтения флешек и BlueTooth. В магнитоле есть AUX, остается реализовать управление с кнопок, кнопок на руле на мой взгляд достаточно. Сам модуль для чтения флешек и блютуз взял готовый у китайцев, в качестве адаптера к кнопкам думаю использовать ардуино. Кнопки представляют из себя резистивные делители, каждой кнопке соответствует свое сопротивление, нужно научить ардуино распознавать кнопки, и выдавать соответствующий сигнал на модуль чтения флешки. На модуле уже есть кнопки для управления, думаю их можно заменить сигналами с ардуино. Нужна помощь в реализации. Для начала как научить Ардуино распознавать кнопки?
 

Александр Симонов

★★★★✩✩✩
2 Авг 2018
727
207
Если с кнопок идёт напряжение от 0 до 5В в зависимости от кнопки, то и заводи его на аналоговый пин Ардуино и читай с помощью analogRead
 

Кирилл Перминов

✩✩✩✩✩✩✩
25 Июн 2020
18
0

Кирилл Перминов

✩✩✩✩✩✩✩
25 Июн 2020
18
0
Померил тестером, напряжение без нажатия - 4,5 вольта, при нажатии на кнопки падает на каждой кнопке по разному. Если я правильно понимаю, нужно сделать вольтметр с функцией компаратора. Ардуинку питать от бортовой сети или отдельный источник питания лучше сделать? И по управлению самим блютуз, кнопки там замыкаются на массу, т.е. у блютуза и ардуино должен быть один уровень "логического 0"?
 

Кирилл Перминов

✩✩✩✩✩✩✩
25 Июн 2020
18
0
Аналоговый вход ардуины без труда должен различить эти нажатия.
думаю что да, АЦП вроде понятно, по схеме могут ещё возникнуть вопросы, ставить ли диод на входе или резистор на всякий случай, 5 вольт же вроде предел измерений для ардуинки. По управлению, самим процессором блютуза вопросы как реализовать управление? Планирую использовать
BK3254 Bluetooth модуль 4,1 F6888
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,159
1,267
Москва
Токоограничивающий резистор не повредит. Диод ? Не знаю. Он снизит напяжение, а вот есть ли возможность сильного минуса, ниже земли, я не знаю.
По управлению надо читать даташиты того, чем управлять
 

Кирилл Перминов

✩✩✩✩✩✩✩
25 Июн 2020
18
0
Токоограничивающий резистор не повредит. Диод ? Не знаю. Он снизит напяжение, а вот есть ли возможность сильного минуса, ниже земли, я не знаю.
По управлению надо читать даташиты того, чем управлять
пересмотрел, похоже управление всё такие "1" идёт, тогда просто запитать от одного ИП ардуино и блутуз?
 

Кирилл Перминов

✩✩✩✩✩✩✩
25 Июн 2020
18
0
Планируемый декодер не смог запустить. Взял готовую плату VHM-314 V2.0, у неё управление замыканием на землю, при чём по заднему фронту импульса, т.е. при отпускании кнопки, и логика 3,3 Вольта. Через делитель подаём логический 0 с ардуинки, но делитель нужно подстраивать очень точно до 3.2-3.3 вольта, больше подавать не пробовал, иначе не срабатывает, учитывая не очень стабильное питание от борт сети авто, может есть другие варианты управлять, имитировать нажатие кнопок?
 

kostyamat

★★★★★★✩
29 Окт 2019
1,097
630
@Кирилл Перминов, у вашего модуля уже есть подтяжка на 3.3в. никаких дополнительных делителей там не нужно. Там нужно использовать Z-состояние пина ардуино. Это такое состояние, когда пин не прижат к массе, но и собственное напряжение не выдает. Достигается сменой мода пина.
Пример:
pinMode(pin, OUTPUT);
digitalWrite (pin, LOW); // ардуино запомнит такое поведение

Теперь
pinMode(pin, OUTPUT); // прижать пин к земле

pinMode(pin, INPUT); // отпустить пин
 

Кирилл Перминов

✩✩✩✩✩✩✩
25 Июн 2020
18
0
@Кирилл Перминов, у вашего модуля уже есть подтяжка на 3.3в. никаких дополнительных делителей там не нужно. Там нужно использовать Z-состояние пина ардуино. Это такое состояние, когда пин не прижат к массе, но и собственное напряжение не выдает. Достигается сменой мода пина.
Пример:
pinMode(pin, OUTPUT);
digitalWrite (pin, LOW); // ардуино запомнит такое поведение

Теперь
pinMode(pin, OUTPUT); // прижать пин к земле

pinMode(pin, INPUT); // отпустить пин
Спасибо, всё заработало! Завтра попробую внедрить на место.