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

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

Alekssandr 19.03.2016 16:00

Проект KeyRes настраиваемый пульт руля, с Android
 
Вложений: 4
По просьбе Форумчан создал отдельную тему для своего проекта.

Приложение и прошика здесь (пост 24)

Всем привет! Я здесь в общем конкретно заморочился с управлением планшета и магнитолы с рулевых кнопок. Сделал устройство (фото ниже) И написал для него приложение на Andoid (приложение работает от android v4.0 и выше).

Суть такова, подключаем: резистивные кнопки по 2-м проводам, планшет в USB, и магнитолу по jack 3.5.

Далее чтоб всё настроить необходимо зажать необходимую клавишу на руле и в приложении выбрать что с ним делать (переключить трек т.д) в общем на лету можно настраивать и менять кнопки не влезая в прошивку.

PS для магнитол скетч ещё не дописан, но для планшетов всё работает

Прикрепил архив где само приложение и скетч для ардуино микро вход для резистивных кнопок A0 дальше скетч и приложение всё сделают за вас ! PS в скетче используется EEPROM2 для записи значений кнопок в энэргонезависимую память!

Видео работы устройства


На схеме справа это БП с 12 на 5В

Alex EX 19.03.2016 16:13

Красиво, а если резистивных кнопок-линеек много ? У меня например 4 линейки используются (а всего их 5, две вместе) и схемы у 4х линеек одинаковые, так в машине сделано японцами. Есть варианты ?

Alekssandr 19.03.2016 16:15

Цитата:

Сообщение от Alex EX (Сообщение 355531)
Красиво, а если резистивных кнопок-линеек много ? У меня например 4 линейки используются (а всего их 5, две вместе) и схемы у 4х линеек одинаковые, так в машине сделано японцами. Есть варианты ?

:blink2: у вас сколько там кнопок?? 50шт чтоль?

Alex EX 19.03.2016 16:25

Цитата:

Сообщение от Alekssandr (Сообщение 355532)
:blink2: у вас сколько там кнопок?? 50шт чтоль?

Ну не 50 конечно но: 9 на руле (две линии) 12 на панели (три линии) управление штатное так сделано. Юрин контроллер поддерживает 4 линейки, все задействованы. http://pccar.ru/showpost.php?p=347212&postcount=6
Я к тому что машины все разные, бывают и такие конструкции...

Alekssandr 19.03.2016 16:32

Цитата:

Сообщение от Alex EX (Сообщение 355534)
Ну не 50 конечно но: 9 на руле (две линии) 12 на панели (три линии) управление штатное так сделано. Юрин контроллер поддерживает 4 линейки, все задействованы. http://pccar.ru/showpost.php?p=347212&postcount=6
Я к тому что машины все разные, бывают и такие конструкции...

Ясно, но прогу и плату тогда придётся переделывать. Чтоб 4 линии подцепить. В общем пока только 1 линия.

Alekssandr 19.03.2016 16:34

Кстати у вас там можно легко переделать на 1 линию, просто сопротивления повтыкать 2шт, 1шт между KD0 - KD1 и 1шт KD1 - KD2

Alex EX 19.03.2016 16:58

Цитата:

Сообщение от Alekssandr (Сообщение 355538)
Кстати у вас там можно легко переделать на 1 линию, просто сопротивления повтыкать 2шт, 1шт между KD0 - KD1 и 1шт KD1 - KD2

Можно, но во первых штатная доска используется чтобы рулить родной системой и по желанию переключаться на дополнительную (андроид) во вторых не сторонник глубоких изменений, все в заводских разьемах... Там же защитные интервалы в кнопках по километру (надежность), штатные контроллеры простые дещевые (машины массово производятся) изменения по температуре влажности и пр. предусмотрены... Вобщем инженеры думали же чем то чтобы такую систему в авто вставить.
Я к тому что две линии вообще не редкость, в идеале 4 конечно...

Вячеслав С. 21.03.2016 18:15

А питание планшета потянет?

oleg707 21.03.2016 18:40

о, схемка появилась. Я так понял MC34063 тупо даёт Vcc+5V.
Возникает вопрос, какое потребление ВСЕЙ схемы?
У меня , допустим, есть на БП в машине +5V, я так понимаю, правый кусок для себя я выкидываю. MCP4131 рулится по SPI. это для управления магнитолой, понятно.
А если вместо неё поставить MCP413X/415X/423X/425X datasheet, будет ли работать регулировка сразу в стерео? Я для чего спрашиваю, хочу звук регулировать АППАРАТНО, брать линейный выход с планшета и подавать его через цифровой потенциометр на усилитель 50*4 Вт.

Актуальным остаётся вопрос прикрутить энкодер.

nikopol70 22.03.2016 11:19

вопрос - управление планшетом и магнитолой реализовано одновременно?
в том смысле что если на планшет назначена кнопка плей\пауза - ее можно использовать и на магнитолу? или как?

sandr2010 22.03.2016 11:48

Нет,раздельное : планшет с кнопок руля, магнитола - что-то типа энкодера.

nikopol70 22.03.2016 11:51

Цитата:

Сообщение от sandr2010 (Сообщение 355814)
Нет,раздельное : планшет с кнопок руля, магнитола - что-то типа энкодера.

т.е. надо две пары кнопок фактически? по двум каналам (переключение) не будет?

sandr2010 22.03.2016 13:39

Я так понял,что да. Хотелось бы ,конечно,одной кнопкой на руле выбирать,где переключать/регулировать. Например,при нажатой и удерживаемой кнопке аукс/ам происходит регулировки планшета,при отпущенной - магнитолы(или на оборот,лучше с правом выбора алгоритма в приложении).

Alekssandr 22.03.2016 13:41

одной пары кнопок достаточно, для переключения между устройствами думаю сделать виджет на android. Энкодер пока не поддеривается.

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

nikopol70 22.03.2016 13:45

Цитата:

Сообщение от sandr2010 (Сообщение 355842)
Я так понял,что да. Хотелось бы ,конечно,одной кнопкой на руле выбирать,где переключать/регулировать. Например,при нажатой и удерживаемой кнопке аукс/ам происходит регулировки планшета,при отпущенной - магнитолы(или на оборот,лучше с правом выбора алгоритма в приложении).

на данный момент рулю обоими устройствами одним пультом, просто переключаю банки с кнопками, одна и та же кнопка запрограмирована на разные команды (планшет\магнитола)
подробнее тут
все работает как надо

Цитата:

одной пары кнопок достаточно, для переключения между устройствами думаю сделать виджет на android. Энкодер пока не поддеривается.

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

Alekssandr 22.03.2016 14:13

Цитата:

Сообщение от nikopol70 (Сообщение 355844)
вот это и хотел узнать - а по какому принципу будет реализовано?

Думаю добавлю возможность переключать с удержанием кнопки. И виджет на андроид (писал выше).

yuriy m 22.03.2016 20:33

Вот это наш человек, красивое исполнение, все очень аккуратно.:good: Для многих наверное тема актуальна будет..
Единственный вопрос ,а на фига внешний еепром ? В 32U4 там 1 кб мало ?:blink2:

Цитата:

Сообщение от Alekssandr (Сообщение 355529)
PS в скетче используется EEPROM2 для записи значений кнопок в энэргонезависимую память!


oleg707 22.03.2016 21:13

Цитата:

Сообщение от yuriy m (Сообщение 355875)
Вот это наш человек, красивое исполнение, все очень аккуратно.:good: Для многих наверное тема актуальна будет..
Единственный вопрос ,а на фига внешний еепром ? В 32U4 там 1 кб мало ?:blink2:

а де ты там еепром увидел?

Alekssandr 22.03.2016 22:28

Цитата:

Сообщение от yuriy m (Сообщение 355875)
Вот это наш человек, красивое исполнение, все очень аккуратно.:good: Для многих наверное тема актуальна будет..
Единственный вопрос ,а на фига внешний еепром ? В 32U4 там 1 кб мало ?:blink2:

?? еепром внутренний, просто использую библиотеку EEPROM2.h которая без проблем работает с данными типа float т.е. с плавающей запятой типа 0.1:rolleyes2:

yuriy m 22.03.2016 22:52

Цитата:

Сообщение от oleg707 (Сообщение 355878)
а де ты там еепром увидел?

Все !!! Столько работать НЕЛЬЗЯ ! Начинает мерещится всякая фигня :shok:

Цитата:

Сообщение от Alekssandr (Сообщение 355880)
?? еепром внутренний, просто использую библиотеку EEPROM2.h которая без проблем работает с данными типа float т.е. с плавающей запятой типа 0.1:rolleyes2:

Да все ,все понятно , эт чето меня глючит...:smile2:

Senya87 30.03.2016 13:14

А можно вместо резистивный кнопок, подключить по ibus ? На bmw используют. Здесь есть тема как просто к планшету подключится, но мне громкость на магнитоле надо регулировать. На алпа
Йне

Tommy_Gun 07.04.2016 03:37

Senya87, а можно подробнее про управление дуиной с планшета и наоборот как тут? Особо интересна смена яркости экрана планшета сторонним датчиком освещенности через дуину.

Alekssandr 07.04.2016 22:11

Вложений: 5
Цитата:

Сообщение от Tommy_Gun (Сообщение 357609)
Senya87, а можно подробнее про управление дуиной с планшета и наоборот как тут? Особо интересна смена яркости экрана планшета сторонним датчиком освещенности через дуину.

Сейчас я доделаю этот проект потом буду делать второй, там будет управление яркостью и питанием андроид устройства с arduino.

Проект не заглох, потихоньку приближаю его к завершению.

Добавил переключение между устройствами (магнитола, планшет) с приложения

Alekssandr 11.04.2016 11:50

Вложений: 3
Завершил работу над приложением, сейчас он может работать с любым андроид начиная с версии 4.0 и магнитолами фирмы pioneer, для других фирм нужно править скетчь в ардуино. В общем напишу как время будет. :rolleyes2:

В архиве приложение и скетч.

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

Для работы скетча нужна библиотека EEPROM2 http://freeduino.ru/arduino/sample_EEPROM.html

ali_vlad 11.04.2016 12:51

Случайно нет планов добавить каналы резистивных кнопок? А Kenwood (протокол NEC) будет поддержка?
P.S. Маленькая просьба - выложить схему в более удобочитаемом виде.
P.P.S. Посмотрел скетч. В самой ардуине добавить лишние каналы опроса кнопок - делов на 1 минуту. Так же и управление магнитолами типа кенвуд (понимающими только ик-код) тоже делов на 1 минуту. Добавить строчку в начале #include и заменить SPI.transfer(Х) на irsend.sendХХХ(0xАААА, ВВ)

Alekssandr 11.04.2016 15:58

Цитата:

Сообщение от ali_vlad (Сообщение 358016)
Случайно нет планов добавить каналы резистивных кнопок? А Kenwood (протокол NEC) будет поддержка?
P.S. Маленькая просьба - выложить схему в более удобочитаемом виде.
P.P.S. Посмотрел скетч. В самой ардуине добавить лишние каналы опроса кнопок - делов на 1 минуту. Так же и управление магнитолами типа кенвуд (понимающими только ик-код) тоже делов на 1 минуту. Добавить строчку в начале #include и заменить SPI.transfer(Х) на irsend.sendХХХ(0xАААА, ВВ)

Каналы резистивных кнопок, добавлю позже, пока устал от всего этого, отдохнуть хочу)).
NEC будет, делов там действительно переделать не проблема, я и пытался сделать так чтобы было понятно даже новичку. Хотя и сам новичек=))

ali_vlad 11.04.2016 16:33

Цитата:

Сообщение от Alekssandr (Сообщение 358034)
Каналы резистивных кнопок, добавлю позже, пока устал от всего этого, отдохнуть хочу)).
NEC будет, делов там действительно переделать не проблема, я и пытался сделать так чтобы было понятно даже новичку. Хотя и сам новичек=))

Хватит скромничать, если ты новичок, тогда я кто? Ещё не родился?:big: Да, библиотека IRemote.h жестко завязано на pin3. Есть несколько вопросов:
1. Устройство работает автономно (без планшета)?
2. Если немного доработать устройство и скетч, то можно сделать функцию считывания ик-команд для последующего запоминания и отправки по каналу управления магнитолой. Физическая доработка - добавления 1го ик-фотодиода. Доработка скетча - взять готовый пример, тот, что идёт вместе с библиотекой IRemote.h и так же записывать в еепром.
3. С дребезгом как борешься?
Кстати, на счет моего вопроса (в личке) как?

Alekssandr 11.04.2016 16:38

Виджеты пока не умею делать, и изучать лень =)

С дребезгом подтяжка на 1кОм к +5в и программно диапазон значений +-20.

lti1 11.04.2016 18:36

Цитата:

Сообщение от Alekssandr (Сообщение 358049)
С дребезгом подтяжка на 1кОм к +5в и программно диапазон значений +-20.

Вот так было бы ещё лучше, то есть когда заполняется почти весь диапазон и почти без пробелов.

ali_vlad 11.04.2016 19:22

Цитата:

Сообщение от lti1 (Сообщение 358064)
Вот так было бы ещё лучше, то есть когда заполняется почти весь диапазон и почти без пробелов.

Это лишь часть решения проблемы. Есть ещё паразитные срабатывания, когда нажал один раз, а замыканий больше одного. Для цифровых входов есть библиотека bounce.h. Подавляет дребезг 99.99%. Есть ли что-то подобное для резистивных кнопок?

Alekssandr 12.04.2016 21:30

У меня нет никаких проблем с дребезгом даже на макетной плате, а на спаенной так вообще всё должно быть замечательно.:wink2:

Если кому интересно вот смонтировал видеоролик как всё работает, всё просто идеально.


oleg707 12.04.2016 22:25

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

Alibek_ch 17.04.2016 13:22

А что за контроллер? Это ардуино?!

oleg707 17.04.2016 14:28

Цитата:

Сообщение от Alibek_ch (Сообщение 358619)
А что за контроллер? Это ардуино?!

да. Хотя можно даже атмегу использовать:wink2:.

Alibek_ch 21.04.2016 22:32

Сорри, как то в описании проскочил, дуино микро про? И на чем он сидит ( физически)?
Еще оффтопный вопрос, готовый бп через усб может питать ардуино или надо отдельно питание подавать на него?

ali_vlad 21.04.2016 23:39

Цитата:

Сообщение от Alibek_ch (Сообщение 359001)
Сорри, как то в описании проскочил, дуино микро про? И на чем он сидит ( физически)?
Еще оффтопный вопрос, готовый бп через усб может питать ардуино или надо отдельно питание подавать на него?

Сидит на этом
Запитать ардуину можно как с USB, так и со входа внешнего питания. Вот.

Graval08 09.06.2016 11:40

У кого нибудь получилось залить выложенный здесь скетч?
У меня почему-то не заливается никак. При компиляции пишет ошибку по EEPROM

Alekssandr 09.06.2016 14:02

Цитата:

Сообщение от Graval08 (Сообщение 362487)
У кого нибудь получилось залить выложенный здесь скетч?
У меня почему-то не заливается никак. При компиляции пишет ошибку по EEPROM

В проекте используется библиотека EEPROM2.h установи его и все заработает.

Graval08 09.06.2016 14:35

Цитата:

Сообщение от Alekssandr (Сообщение 362504)
В проекте используется библиотека EEPROM2.h установи его и все заработает.

А не подскажешь где ее взять?

ali_vlad 09.06.2016 18:05

Цитата:

Сообщение от Graval08 (Сообщение 362506)
А не подскажешь где ее взять?

Что, в гугле забанили?
Здесь взять.


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

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