PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Дополнительные устройства (http://pccar.ru/forumdisplay.php?f=177)
-   -   Резистивные кнопки под андроид (http://pccar.ru/showthread.php?t=18478)

DizzJK 28.11.2016 23:59

Цитата:

Сообщение от Digitype (Сообщение 375772)
У меня китайская балалайка на андроиде. Сделано под мою машину, но не устраивает много чего. Поэтому решился переделать на планшет.

Все равно я хочу переназначить кнопки на руле на нужные мне функции. Скажите, моя предложенная схема сработает?

я слабо это представляю, как ты собираешься подпаяться к кнопкам на руле? он как минимум крутится, вокруг руля моток телефонного провода =)? самый простой способ описан с этой приблудой(ардунио) на 31 странице
а чем кетай гу не устроила? проще, мне кажется, ее допилить чем с 0 планшет

Digitype 29.11.2016 01:25

Есть еще такой вариант - подключение кнопок через ELM327-адаптер:

https://www.youtube.com/watch?v=2U2hgjjKC40

Пробовал кто-нибудь?

DizzJK 29.11.2016 08:01

А как связан обд2 с твоим кнопками? Я видео не смотрел, но там скорее всего по Кан шине все ловится. Если не хочешь морочитьтся возьми готовое устройство http://pccar.ru/showthread.php?t=20460 и не заморачивайся

Digitype 30.11.2016 19:32

Да, по CAN-шине. ELM327-адаптер улавливает все, что происходит в машине, в том числе нажатия кнопок. Далее связывается с программой. А в программе уже можно навешивать нужные кнопки. Этот способ автор описывает как самый простой. Вот и любопытно, использовал ли его кто здесь?

DizzJK 02.12.2016 11:37

Я конечно не большой знаток, но сдается мне что обд2 и Кан совсем разные протоколы, и этим адаптером ты ничерта не поймаешь, поправьте, если че не так.

blogsylar 02.12.2016 12:19

Сегодня попробую этот способ через OBDII. Как мне кажется, это реальная тема. На моем авто провода от кнопок уже идут в кан. У автора видео крайслер пацифика, не самый новый, и уж если там такое возможно, то без пробелм получится на других, которые поддерживаю полноценно OBDII

Гуглите или смотрите ютуб по запросу - CarBusInterface

oleg707 02.12.2016 13:03

Цитата:

Сообщение от DizzJK (Сообщение 376213)
Я конечно не большой знаток, но сдается мне что обд2 и Кан совсем разные протоколы, и этим адаптером ты ничерта не поймаешь, поправьте, если че не так.

обд2 это название фишки, на которой уже подключены кан, K L, и еще много чего. Причем читаются они по разным протоколам.
Так что если в эльме есть кан адаптер, то сканировать линию с его помощью можно. Это примерно то же самое, что ардуина и кан-шильд.

blogsylar 02.12.2016 13:25

Цитата:

Сообщение от oleg707 (Сообщение 376222)
Так что если в эльме есть кан адаптер, то сканировать линию с его помощью можно

эльм, желательно, не выше 1.5 версии. Дальше уже идут кастрированные

Явген 18.12.2016 17:26

А управление кнопками в Navitel реально сделать? Например, zoom +/- и скролл по карте?

ВладимирC 07.01.2017 23:41

В связи с морозами возник вопрос минимизации расхода энергии в режиме бездействия. Соответственно хотелось бы уводить Ардуино в сон.
Помогите добавить в Этот скетч засыпание Ардуинки в сон, через некоторое время после засыпания планшета и просыпания по появлению АСС.

lti1 08.01.2017 00:47

Цитата:

Сообщение от ВладимирC (Сообщение 379224)
В связи с морозами возник вопрос минимизации расхода энергии в режиме бездействия. Соответственно хотелось бы уводить Ардуино в сон.
Помогите добавить в Этот скетч засыпание Ардуинки в сон, через некоторое время после засыпания планшета и просыпания по появлению АСС.

По какому событию Ардуино будет уходить в сон? Нужна будет дополнительная обвязка, что бы её усыплять и будить.
ИМХО гораздо проще запитать Ардуино от ACC, когда машина не в движении можно и без рулевых кнопок обойтись.

ВладимирC 08.01.2017 00:58

Цитата:

Сообщение от lti1 (Сообщение 379229)
По какому событию Ардуино будет уходить в сон? Нужна будет дополнительная обвязка, что бы её усыплять и будить.
ИМХО гораздо проще запитать Ардуино от ACC, когда машина не в движении можно и без рулевых кнопок обойтись.

сорри, не ту ссылку дал, у меня же еще и питанием управляет.
Вот этот скетч

Andreiatyrau 15.01.2017 02:51

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

uncann 17.01.2017 21:14

Цитата:

Сообщение от ВладимирC (Сообщение 379224)
В связи с морозами возник вопрос минимизации расхода энергии в режиме бездействия. Соответственно хотелось бы уводить Ардуино в сон.
Помогите добавить в Этот скетч засыпание Ардуинки в сон, через некоторое время после засыпания планшета и просыпания по появлению АСС.


У меня ародуина подключена к USB хабу который в свою очередь к планшету.
При выключении планшета - он перед выключением гасит USB (и соответственно ардуину)
В режиме сон - если плеер ничего не играет с флэшки то через небольшое время он отрубает USB. (и соответственно ардуину)

Chois 24.01.2017 00:15

Дорый вечер!
1. Подскажите по питанию, правильно ли так подключать ? (60стр. осилил + соседнюю ветку, запутался напроч:wacko2:)
2. Леонардо хочу подключить параллельно магнитоле, чтоб громкость регулировать магнитолой.

Планшет nexus7 2012 (с батареей, т.е. будет сниматься) прошивка Тимура (зарядка+отг). Скетч пользую товарища lti1 за который ему огромнейшее спасибо!


http://image.prntscr.com/image/d1ca4...1c5258f042.png


Благодарю за помощь!

ВладимирC 24.01.2017 14:32

Цитата:

Сообщение от Chois (Сообщение 380535)
Дорый вечер!
1. Подскажите по питанию, правильно ли так подключать ? (60стр. осилил + соседнюю ветку, запутался напроч:wacko2:)
2. Леонардо хочу подключить параллельно магнитоле, чтоб громкость регулировать магнитолой.



Благодарю за помощь!

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

oleg707 24.01.2017 14:57

Цитата:

чтоб громкость регулировать магнитолой
нужно громкость планшета выставить на макс., магнитолу в режим АУКС ... и ВСЁ! Для магнитолы планшет просто источник звука.
Вот для управления треками, плей-пауз с руля - такая схема подойдёт, только без подтяжки, с резистором по А1, стабилитроном на 5В ( чтоб проц не спалить. Если кнопки руля больше, чем 5В выдают, то надо городить делитель напряжения ( высокоомный, чтоб не проседала напруга).
Писал как можно проще:shok:

Chois 24.01.2017 22:01

Спасибо за ответы.
Вчера проверил на столе (на макетке) в полном "боевом" состоянии, кнопки управляют и ноутбуком и планшетом. Сегодня подключил к машине как есть (т.к. Ваши посты еще не видел). результат:
на планшете не работает, монитор кнопки видит.
на кнопках 4.3V с магнитолы, никаких помех на магнитолу не ардуинка не дает, работает управление магнитолой.
подключил к ноутбуку (правда без хаба, т.е. ардуино питается от компа) - все отлично работает кнопки шикарно управляют как ноутбуком так и магнитолой..,
планшет (в USB Devices) видит Hub и видит Leonardo, а кнопки не работают.
oleg707 а подскажите куда стабилитрон ставить (на питание ардуино или между кнопками и А1) ?
нужно ли развязывать питание ардуины и хаба диодами ?
Спасибо

oleg707 24.01.2017 23:52

Цитата:

Сообщение от Chois (Сообщение 380604)
Спасибо за ответы.
Вчера проверил на столе (на макетке) в полном "боевом" состоянии, кнопки управляют и ноутбуком и планшетом. Сегодня подключил к машине как есть (т.к. Ваши посты еще не видел). результат:
на планшете не работает, монитор кнопки видит.
на кнопках 4.3V с магнитолы, никаких помех на магнитолу не ардуинка не дает, работает управление магнитолой.
подключил к ноутбуку (правда без хаба, т.е. ардуино питается от компа) - все отлично работает кнопки шикарно управляют как ноутбуком так и магнитолой..,
планшет (в USB Devices) видит Hub и видит Leonardo, а кнопки не работают.
oleg707 а подскажите куда стабилитрон ставить (на питание ардуино или между кнопками и А1) ?
нужно ли развязывать питание ардуины и хаба диодами ?
Спасибо

стаб на A1 и землю. A1 через 500 ом на кнопки ( я так понял там не больше 4,3В у вас)
Развязывать питание ардуины и хаба диодами не надо

Chois 25.01.2017 00:01

oleg707спасибо большое!
завтра буду пробовать.

Az0m@ 25.01.2017 14:19

столкнулся с такой проблемкой. все стандартно: кнопки на руле - арудино про мини - нексус 7 3г. все работает стандартно и ровно. Есть там на руле кнопки управления громкости. Так вот... установил я навител... и почему то после запуска проги функционал этих кнопок инвертируются... т.е. вместо прибавления громкости получаю уменьшение и наоборот. но если закрыть навител то все встает на свои места. в настройках навитела ничего криминального не нашел... кто нить сталкивался с таким?

fedor5800 25.01.2017 14:29

Цитата:

Сообщение от Az0m@ (Сообщение 380642)
кто нить сталкивался с таким?

а прошивка случаем не СМ? вроде у нее есть в настройках менять назначение кнопок при перевороте планшета.

Az0m@ 25.01.2017 21:27

Цитата:

Сообщение от fedor5800 (Сообщение 380643)
а прошивка случаем не СМ? вроде у нее есть в настройках менять назначение кнопок при перевороте планшета.

Стоит слимкат 9.1... Да и планшет в машине всегда в горизонтальном положении

Chois 25.01.2017 21:39

Цитата:

Сообщение от oleg707 (Сообщение 380609)
стаб на A1 и землю. A1 через 500 ом на кнопки ( я так понял там не больше 4,3В у вас)
Развязывать питание ардуины и хаба диодами не надо

Сегодня пробовал.
без хаба работает (и без питания на планшет)
с хабом определяется и то и то, но не работает :sad2:
:dntknw: я в полном замешательстве...

Digitype 10.03.2017 17:50

Приехал Joycon EXR. Настроил клавиши на руле. Но не могу настроить кнопку включения связи по Bluetooth. В программе просто нет такой клавиши на виртуальных клавиатурах. Что можно сделать?

И еще такой вопрос. Я использую плеер Poweramp. У него есть функция перелистывания: по диагонали - след/предыдущий трек (это я настроил), и по вертикали - след/предыдущий альбом или папка. Как эмулировать вертикальный свайп?

вадим006 10.03.2017 22:16

дайте ссылку arduino 1.0.5

YAM1966 10.03.2017 22:23

Цитата:

Сообщение от вадим006 (Сообщение 383860)
дайте ссылку arduino 1.0.5

Поиском пользоваться разучились?

вадим006 11.03.2017 06:12

спасибо

mihrun79 31.03.2017 05:52

Здравствуйте,люди добрые)Помогите!!!
Задачи следующие:
Имеются кнопки штатные на панели от навигации переделанные в резистивные ,и ещё хочу подключить на руле кнопки,тоже резистивные..Хочу реализовать управление мультимедиа(play/stop + клавиатуру(стрелки, enter..), и + планшетные кнопки(назад, alt/tab,главный экран)
То есть получается два источника...
Как подключить кнопки к ардуинке-двумя отдельными входами,или всё на один канал А0 пилить?

Делал как здесь http://pccar.ru/showpost.php?p=277286&postcount=182

и как здесь http://pccar.ru/showpost.php?p=319975&postcount=307

Оба скетча работают,спасибо авторам большое,но в обеих чего то нету для меня)))
Подскажите кто силён в программировании!
Ардуино-pro micro

blogsylar 31.03.2017 10:32

Цитата:

Сообщение от mihrun79 (Сообщение 385140)
То есть получается два источника...
Как подключить кнопки к ардуинке-двумя отдельными входами,или всё на один канал А0 пилить?

Два источника лучше ставить на 2 разных канала А0 и А1 и немного править в скетче. Сам сажал 2 источника на А0 и в итоге такая каша.

mihrun79 31.03.2017 13:57

Цитата:

Сообщение от blogsylar (Сообщение 385151)
Два источника лучше ставить на 2 разных канала А0 и А1 и немного править в скетче. Сам сажал 2 источника на А0 и в итоге такая каша.

Второй канал: 5в брать оттуда же,и подтяжку на А1 добавлять?

mihrun79 31.03.2017 14:01

Цитата:

Сообщение от lti1 (Сообщение 277286)
Начало здесь.
Nett, в папке \arduino-1.0.5\hardware\arduino\cores\arduino для IDE 1.0.5 или \arduino-1.6.5-r5\hardware\arduino\avr\cores\arduino для IDE 1.6.5 меняете два файла USBAPI.h, HID.cpp на те, что во вложении соответственно. И добавляете в код из поста murano нужные действия, не нужные удаляете
Код:

int analogPin=0;
int data;

void setup()
{
  Keyboard.begin();
  Serial.begin(9600);
}

void loop()
{
  data=analogRead(analogPin); //читаем значение нажатой кнопки
  Serial.println(data); //для определения кодов нажатых кнопок на мониторе порта
  /*поддерживаемые коды управляющих клавиш
  http://arduino.cc/en/Reference/KeyboardModifiers*/
  if (data==614)  Keyboard.write(176); //ENTER
  if (data==122)  Keyboard.write(216); //стрелка влево
  if (data==165)  Keyboard.write(215); //стрелка вправо
  if (data==216)  Keyboard.write(218); //стрелка вверх
  if (data==276)  Keyboard.write(217); //стрелка вниз
if (data>=315 && data<=345)  // приглушение звука
    {
      Remote.mute();
      Remote.clear();
    }
  if (data>=420 && data<=460)  // воспроизведение / пауза
    {
      Remote.play_pause();
      Remote.clear();
    }

  delay(100);
}

И как писал murano, добавить диапазон значения +- 5%, напимер если значение клавиши 330 вместо data==330 использовать data>=315 && data<=345 и т.д.
Возможные варианты мультимедиа клавиш
Код:

// Volume
Remote.increase();        Volume Up
Remote.decrease();        Volume Down
Remote.mute();                Mute
 
// Playback
Remote.play();                Play
Remote.pause();                Pause
Remote.play_pause();        Play/Pause
Remote.stop();                Stop
 
// Track Controls
Remote.next();                Next
Remote.previous();        Previous
Remote.forward();        Fast Forward
Remote.rewind();        Rewind

Remote.power();                Power
Remote.home();                WWW Home
Remote.search();        WWW Search

Кстати, какая у Вас плата? Должна быть Arduino Leonardo или Arduino Pro Micro.
Исходник здесь, Stop заменен на Play/Pause

Alt/tab и кнопки планшета не могу реализовать ?Есть решения к этому скетчу?

blogsylar 18.04.2017 12:18

Всем привет! Суть такова. Ардуино подключено к кнопкам, но не резистивно, по двум проводам, а с каждой кнопки идет по два провода и подключается каждая к своему порту. В файлике vendor.kl прописаны все действия, типа home, back, next, volume_up, и тд., эти команды отрабатывает на ура. Так же прописаны горячие клавиши, типа ctrl+1. ctrl+2... итд. Вопрос вот в чем. В 4-м андройде была панель быстрых клавиш, или типа того, quick launch, что ли, и в ней можно было назначать целые приложения на комбинации кнопок. В 6-м андройде это вырезали. Есть ли способ интерпретировать это сочетание в запуск приложения? Может через таскер? Андройд само нажатие видит, но не знаю как назначить на него запуск приложения

maxymike 20.04.2017 17:19

Не могу подружить про микро и bluetooth hc 05,hc 06. Питание давал и 3,3 и 5 вольт. RX и TX местами менял-бесполезно. Блютус виден,подключается,но данные не сыпет. По usb все хорошо. HC 05-06 работают с UNO отлично. В чем может быть собака?

ВладимирC 20.04.2017 17:29

Цитата:

Сообщение от maxymike (Сообщение 386250)
Не могу подружить про микро и bluetooth hc 05,hc 06. Питание давал и 3,3 и 5 вольт. RX и TX местами менял-бесполезно. Блютус виден,подключается,но данные не сыпет. По usb все хорошо. HC 05-06 работают с UNO отлично. В чем может быть собака?

3.3В не питание нужно, а логические уровни, делители попробуйте поставить на TX RX.

Alladim 30.04.2017 01:49

Всех приветствую! Нужна Ваша помощь!
Недавно раздобыл себе вот такую панель управления от финика.
https://mail.google.com/mail/u/0/?ui...&sz=w1280-h845

Давняя мечта что то подобное заточить под управление планшетом.
С кнопками разобрался, там матрица 5*5=25 кнопок (26-я аварийка выведена отдельно)
Использую Arduino pro micro. Подключил, залил для теста простенький скетч- на мониторе отзываются все кнопки без проблем. Вот скетч:

Код HTML:

#include <Keypad.h> // подключаем нашу библиотеку
const byte ROWS = 5; //число строк у нашей клавиатуры
const byte COLS = 5; //число столбцов у нашей клавиатуры
char hexaKeys[ROWS][COLS] = {
{'1','2','3','4','5'}, // здесь мы располагаем названия наших клавиш, как на клавиатуре,для удобства пользования
{'6','7','8','9','0'},
{'A','B','C','D','E'},
{'F','G','H','I','J'},
{'K','L','M','N','O'}
};
byte rowPins[ROWS] = {2, 3, 4, 5, 6}; //к каким выводам подключаем управление строками
byte colPins[COLS] = {7, 8, 9, 10, 16}; //к каким выводам подключаем управление столбцами
//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup(){
Serial.begin(9600);
}
void loop(){
char customKey = customKeypad.getKey();
if (customKey){
Serial.println(customKey);
}
}

Собственно вопрос: как мне реализовать управление по подобию поста Ув. lti1
http://pccar.ru/showpost.php?p=319975&postcount=307
С учетом того что клавиатура не резистивная? В програмировании мягко говоря не очень. Поэтому не могу пока понять как считать нажатие моей клавиатуры и присвоить ей действие, которое будет отправлено в планшет.

Еще как вариант, будут ли работать приложения такие как "Remote steering wheel control" или "SerialManager" с матричной клавиатурой?

Помогите пожалуйста реализовать мечту идиота)
Буду очень благодарен за помощь!

wanix 04.05.2017 09:51

Народ, направьте в правильное русло. Есть кнопки на руле резистивные, есть sony MEX-DV1600U у него есть вход для пульта судя по всему такого : https://www.drive2.ru/l/288230376152759568/ так вот у меня возникло желание впендюрить ему родные кнопки руля чтобы он их кушал.
Я это понимаю как: берем ардуину по выше указанным методам читаем кнопки, понимаем кто есть кто, а потом как это скормить соньке ?

blogsylar 04.05.2017 11:23

Цитата:

Сообщение от wanix (Сообщение 387160)
Народ, направьте в правильное русло. Есть кнопки на руле резистивные, есть sony MEX-DV1600U у него есть вход для пульта судя по всему такого : https://www.drive2.ru/l/288230376152759568/ так вот у меня возникло желание впендюрить ему родные кнопки руля чтобы он их кушал.
Я это понимаю как: берем ардуину по выше указанным методам читаем кнопки, понимаем кто есть кто, а потом как это скормить соньке ?

Нужен цифровой потенциометр. А в общем - так

wanix 04.05.2017 13:26

Цитата:

Сообщение от blogsylar (Сообщение 387169)
Нужен цифровой потенциометр. А в общем - так

спасибо

Alladim 06.05.2017 02:02

В общих чертах накидал с горем пополам вот такой скетч
Код HTML:

#include <Keypad.h> // подключаем нашу библиотеку

const byte ROWS = 5; //число строк у нашей клавиатуры

const byte COLS = 5; //число столбцов у нашей клавиатуры

char hexaKeys[ROWS][COLS] = {

{'1','2','3','4','5'}, // здесь мы располагаем названия наших клавиш, как на клавиатуре,для удобства пользования

{'6','7','8','9','0'},

{'A','B','C','D','E'},

{'F','G','H','I','J'},

{'K','L','M','N','O'}



};

byte rowPins[ROWS] = {2, 3, 4, 5, 6}; //к каким выводам подключаем управление строками

byte colPins[COLS] = {7, 10, 16, 14, 15}; //к каким выводам подключаем управление столбцами

//initialize an instance of class NewKeypad

Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

void setup()
{
  PCICR=1<   PCMSK0=(1<   pinMode (8,INPUT_PULLUP);
  pinMode (9,INPUT_PULLUP);

  Keyboard.begin();
  Serial.begin(9600);
}
// настройка функциональных клавиш
void loop(){
  char customKey = customKeypad.getKey();



// назначение действий на кнопки


if (customKey == 'B') {
 
Keyboard.press(KEY_UP_ARROW);
delay (100);
Keyboard.releaseAll();
}
if (customKey == '2') {
 
Keyboard.press(KEY_DOWN_ARROW);
delay (100);
Keyboard.releaseAll();


}
if (customKey == 'O') {
 
Remote.previous();
delay (100);
Remote.clear();


}if (customKey == '7') {
 
Remote.next();
delay (100);
Remote.clear();

}if (customKey == '4') {
 
Remote.play_pause();
delay (100);
Remote.clear();

}if (customKey == '5') {
 
Remote.mute();
delay (100);
Remote.clear();

}if (customKey == '9') {
 
Keyboard.press(KEY_RETURN);
delay (100);
Keyboard.releaseAll();
 

Serial.println(customKey);
}

}


// часть кода для регулировки громкости энкодером 

ISR (PCINT0_vect){
static byte old_n=PINB&B00110000;
byte new_n=PINB&B00110000;
if (old_n==32&&new_n==48||old_n==16&&new_n==0) {
        Remote.increase(); 
        delay(10); 
        Remote.clear();}
if (old_n==16&&new_n==48||old_n==32&&new_n==0) {
        Remote.decrease();
        delay(10); 
        Remote.clear();}
old_n= new_n;
}



Все кнопки работают, энкодер работает, нажатия на кнопки назначать получается. Но ! очень хочется реализовать управление с коротким/ длинным нажатием как в скетче Ув. lti1
http://pccar.ru/showpost.php?p=319975&postcount=307.
Ну ни как я не могу въехать, как переделать строки
Код HTML:

if(millis()-eventTime>10 && millis()-eventTime<499 && data>=165 && data<=185) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499)
{
flag = 7;
}

под матричную клавиатуру, в которой нету дребезга, не надо ничего сравнивать.
Очень прошу, на примере одной команды перемотки вперед, подскажите что нужно добавить в мой скетч, в том числе над циклом loop.


Часовой пояс GMT +4, время: 13:15.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot