PDA

Просмотр полной версии : Установка Nexus 7 2013 WiFi в Hyundai Grandeur


ВладимирC
20.10.2014, 23:04
Отъездив с РС CAR c 2008 захотелось чего - нибудь новенького. Давненько задумывался о планшете на андроид, видимо время пришло.
Закуплен Nexus 7 2013 Wifi - 2 шт ( на одном спалил хост, все работает, только данные через USB не идут - подарил дочке)
Шнур OTG
Флешка на 64Гб
Arduino Pro Micro (https://duino.ru/arduino-pro-micro.html)
EAsyCAP UTV 007

Из железа пожалуй и все.
Из прошлого проекта перешло по наследству:
Звуковая карта Creative Sound Blaster Omni Surround 5. (http://www.ixbt.com/multimedia/soundcard-duel-dec-2013.shtml)
USB HUB D-Link старой версии
DC/DC преобразователь для питания HUB и периферии 3A (https://duino.ru/nsd15-12s5.html)
Радио Гага
Рутанул, заменил ядро с поддержкой USB Audio по этому методу.
1 качаем Nexustoolkit (http://www.skipsoft.net/?page_id=1072)
2 устанавливаем
toolkit в использовании очень прост. внимательно читаем все пункты, набираем нужный пункт на клавиатуре и жмем "энтер"
3 запускаем, выбираем нужный нексус, (14,17 эти пункты навсегда)
4 разлачиваем bootloader (3,1,Y)
5 скачиваем и прошиваем сток (9,1,09 потом он спросит прошить или нет, подтведить)
6 получаем ROOT (4,1,2 не надо ставить ни как левых рекавери, это не нужно, в них просто нет необходимости)
7 Прошиваем ядро с поддержкой USB AUDIO скачиваем ядро тут (https://drive.google.com/folderview?id=0Bwr7YSD_cSLLMEczNFdtdUpvV2c&usp=sharing)для своей модели. кладем его в папку C:\Unified_Android_ToolKit\put_img_files_to_flash_ here\Nexus7 потом прошиваем как boot.img (11, пишем руками boot.img, 2, 1)

все

PS с тулкитом главное внимательно смотреть какой пункт выбираешь. а так все очень просто и удобно.
после всех процедур можно обратно залочить бутлоадер, а можно и не делать этого.
автор сборки ядра Daniel (http://pccar.ru/member.php?u=23716) точнее его друг.
Заменил библиотеки
Путь system/lib для libtinyalsa.so и system/etc для audio_policy.conf, изменил права доступа 644.
Теперь у нас работают USB звуковые карты от Creative (Спасибо Daniel).
Звук стал гораздо приятнее.
Установил программы:
Stick Mount PRO (Монтируются флешки и Плеер свободно играет с них музыку)
Power AMP (Наиболее удобный для меня плеер)
Tasker+Secure settings+Quick Boot+Action Box - Tasker Plug-in
RemoteInputsMgr (http://forum.xda-developers.com/attachment.php?attachmentid=2963129&d=1412704208)
Titanium Backup
Yandex .Навигатор
Стрелка
Google start
Total commander
Эфирное FM радио Для андроид (http://pccar.ru/showthread.php?t=20225) Еще раз огромное спасибо Daniel.
EAsyCAP Viewer
Испытал в машине планшет, благо у меня вся периферия PCCAR на USB HUBе висит.Оставалось только переткнуть хаб в планшет. Музыка играет, радио ловит лучше, чем с компом, комп все таки эфирные помехи прилично наводит. Остается продумать алгоритм управления питанием, и в путь.

ВладимирC
20.10.2014, 23:38
Кнопки подключаю к Arduino Pro micro (https://duino.ru/arduino-pro-micro.html)
Благодаря lti1 (http://pccar.ru/member.php?u=11425) получилось следующее:
Совмещенный скетч:
int ACC = 4;
int Hub = 5;
int Hall = 6;
int flagACC = 0;
unsigned long pauseTime = 0;

int analogPin=A0;
int data;
int data1 = 0;
int flag = 0;
unsigned long eventTime = 0;

void setup()
{
pinMode(ACC, INPUT);
pinMode(Hub, OUTPUT);
pinMode(Hall, OUTPUT);

Serial.begin(9600);
digitalWrite(analogPin, HIGH);
}


void loop()
{
if (digitalRead(ACC)== HIGH && flagACC == 0)
{
digitalWrite(Hub, HIGH);
pauseTime = millis();
flagACC = 1;
}
if (millis()-pauseTime>=2000 && flagACC == 1) // пауза 2 секунды
{
digitalWrite(Hall, HIGH);
pauseTime = 0;
}

if (digitalRead(ACC)== LOW && flagACC == 1)
{
digitalWrite(Hall, LOW);
pauseTime = millis();
flagACC = 0;
}
if (millis()-pauseTime>=600000 && flagACC == 0) // пауза 10 минут
{
digitalWrite(Hub, LOW);
pauseTime = 0;
}

data=analogRead(analogPin);

if(data>=950 && data1 != 0 && flag <= 1)
{
Serial.print("<release:");
Serial.print(data1);
Serial.print(">");
data1 = 0;
flag = 0;
delay(10);
}

if(data>=950)
{
eventTime = millis();
}

if(data<=949 && flag != 13 && millis()-eventTime>=50 && millis()-eventTime<=800)
{
flag = 2;
data1 = data;
}

if(data>=950 && flag == 2)
{
Serial.print("<click:");
Serial.print(data1);
Serial.print(">");
flag = 0;
delay(10);
}

if(data<=949 && flag == 2 && millis()-eventTime>800)
{
Serial.print("<hold:");
Serial.print(data);
Serial.print(">");
data1 = data;
flag = 1;
delay(10);
}
}

ВладимирC
21.10.2014, 00:26
Алгоритм контроля питания на Ардуино:
DC-DC 12/5 подключен к постоянным "+" и "-" бортовой сети ( позже добавлю реле контроля питания.
АСС через резистор 10K подключен к входу оптрона PC123. Нужен для гальванической развязки от земли авто.
С выхода оптрона подаем высокий уровень на вход Ардуино (ставим подтяжку по земле резистором).
При появлении "1" на входе ардуино:
Подает "1" на управление реле питания USB HUB (выход "Hub").
Ждет 2 сек и выводит "1" на управление реле датчика Холла (выход "Hall") К датчику Холла подключена нормально замкнутые контакты.
Таскер по включению экрана включает все, что нужно.
При пропадании АСС на входе "0"
На Hall - "0", контакты реле замыкают Датчик Холла, экран гаснет.
Таскер по гашению экрана выключает все что можно.
На Hub Ждем N минут, если АСС не появляется , реле отрубает питание USB HUB.
Реле на 5 В, ток 41 ma, подключены через транзисторные ключи на КТ315.
Для автоматического включенияиз выключенного состояния делаем следующую процедуру:
Нашел вот такую инструкцию

1. Скачайте и распакуйте SDK пакет http://developer.android.com/sdk/index.html#download для вашей системы (86/64)
2. Зайдите в папку SDK, и запустите SDK Manager.exe, выберите стандартный пакет утилит, начнется установка.
3. При выключенном планшете зажмите одновременно кнопки громкость вверх + громкость вниз и не отпуская вкл/выкл чтобы войти в fastboot режим.
4. Подключите планшет к PC, драйвера для него должны уже стоять.
5. Запустите командную строку и перейдите в папку C:\Program Files (x86)\Android\android-sdk\platform-tools>
6. В командной строке введите:
fastboot oem off-mode-charge 0
7. Если все пройдет нормально, то планшет готов к автоматическому запуску.
Чтобы вернуть как было, в командной строке нужно прописать:
fastboot oem off-mode-charge 1

Но, планшет просто так включаться не захотел, чтобы его включить, нужно чтобы помимо питания на батарее, он увидел, хоть какое-нибудь питание на USB разъеме. Можно было спаять Y кабель , но я пошел по пути попроще. В USB перемычкой подал "+" с питания на "+" USB, а в разъеме шнурка USB со стороны планшета оторвал "+" и впаял в разрыв диод, анодом к планшету. Теперь на момент включения планшет получает "зарядку" по USB от питания планшета, соответственно включается, дальше инициализируется OTG, а диод не дает планшету пытаться питать хаб, даже если отвалится питание от хаба.

ВладимирC
22.10.2014, 14:44
Штатные резистивные кнопки на Ардуино.
Имеется 6 кнопок и 2 вида нажатий короткое и длинное (K) и (Д):
MODE - К переключает между радио и плеером
- Д переключает между навигацией и медиаисточником, играющим в данный момент
NEXT - К следующий трек
- Д следующая папка
PREV - Аналогично
VOL- - Управление громкостью
VOL+ - Управление громкостью
MUTE - К Play/Pause
- Д MUTE

Благодаря опять же Iti1 (http://pccar.ru/member.php?u=11425) (чтобы я без него делал)) реализуем следующим образом:
ВладимирC, по порядку:
1. Устанавливаете RemoteInputsMgr-1.3.2.apk (http://forum.xda-developers.com/attachment.php?attachmentid=2963129&d=1412704208) от сюда (http://forum.xda-developers.com/showthread.php?t=2635159).
2. Заливаете этот скетч
3. Подключаете кнопки по этой схеме http://pccar.ru/attachment.php?attachmentid=37395&stc=1&thumb=1&d=1413662414
4. Настраиваете RemoteInputsMgr на короткие и длинные нажатия необходимые Вам действия.
Если необходимо листать папки в PowerAMP:
5. Устанавливаете Tasker (https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&hl=ru). В настройках ставим галку "Разрешить внешний доступ".
6. Устанавливаете Action Box - Tasker Plug-in (https://play.google.com/store/apps/details?id=pe.lastingchild.actionbox&hl=ru)
7. Создаете задачу в Tasker: Плагин -> Action Box -> Конфигурация -> PowerAMP -> Player Control -> Next Dir или Previous Dir -> Готово -> Сохранить.
8. Далее созданную задачу вешаете в RemoteInputsMgr на необходимую кнопку.
Всё.
И для циклических переключений одной кнопкой вот так:
ВладимирC, если нужно совместно с Remote steering wheel control (http://pccar.ru/showpost.php?p=309621&postcount=27), на одну кнопку по удержанию повесить переключение плеера и радио, а по короткому нажатию переключатся между навигатором и плеером или навигатором и радио, в зависимости от того, что было последнее запущено плеер или радио. Используйте для удержания кнопки первую задачу (под именем "2"), а для короткого нажатия вторую задачу (под именем "3").

lti1
24.10.2014, 23:42
Буду искать пути как удержанием кнопок перемотки перелистывать плейлисты в плеере.Листать папки в PowerAmp можно с помощью этой софтины (http://forum.xda-developers.com/showthread.php?t=2635159).

ВладимирC
24.10.2014, 23:59
Листать папки в PowerAmp можно с помощью этой софтины (http://forum.xda-developers.com/showthread.php?t=2635159).

Сейчас как раз пытаюсь вникнуть, что и как)).

mcf1
25.10.2014, 00:29
powerAmp и без всякой софтины листает папки двойным нажатием NEXT
но советую от poweramp отказаться, портит звук, заметно. как одеяло на динамики положили.

ВладимирC
25.10.2014, 00:32
powerAmp и без всякой софтины листает папки двойным нажатием NEXT
но советую от poweramp отказаться, портит звук, заметно. как одеяло на динамики положили.

ща испытаем, а что из плееров посоветуешь? Из хотелок чтение CUE ибеспроблемное чтение с флешки.

mcf1
25.10.2014, 04:13
я не много перебрал плееров, по звуку лучший встроенный "Play музыка", точно так же поет jetAudio, но ни тот ни другой CUE читать не умеют. *.flac читают оба
пробовал еще несколько других плееров, но все портят звук как и poweramp, хотя он наверное на первом месте по удобству пользования.

для разбивки CUE на треки использую CUE tool без изменения. а еще лучше самому при помощи cuetool содрать с диска, если конечно есть нужный диск.

ВладимирC
14.11.2014, 00:04
Сегодня провел замеры потребления системы в разных режимах.
1.Все включено (DC/DC 3A (https://duino.ru/nsd15-12s5.html), Nexus 7 2013, SB X-Fi PRo, Ардуино Micro Pro (https://duino.ru/arduino-pro-micro.html), Радио, хаб D-Link старой версии, флешка 64Gb, пара релюшек), экран включен, играет музыка, запущен яндекс навигатор, включены Wi-Fi, BT, GPS. Потребление по 12В 0,8-1,0A
2. Планшет спит, экран погашен, сети отключены , на хабе оставляем питание -0,5А
3. Выключено все, кроме DC/DC и ардуинки - 39-40 мА, что порадовало, в таком режиме можно оставлять питание надолго.
4. Планшет выключен, хаб включен, но спит. -170мА.,

Denkos
14.11.2014, 11:01
2. Планшет спит, экран погашен, сети отключены , на хабе оставляем питание -0,5А
3. Выключено все, кроме DC/DC и ардуинки - 39-40 мА, что порадовало

500mA, что то дохрена, даже с включенным Хабом.
планшет во сне без Хаба максимум 50mA. с DC/DC.

ВладимирC
14.11.2014, 11:13
500mA, что то дохрена, даже с включенным Хабом.
планшет во сне без Хаба максимум 50mA.

Так в хабе звуковуха, радио и флешка

ВладимирC
15.11.2014, 20:45
Установил. Как то так. Прием спутников во дворе вполне приемлемый.

AlexNec
06.12.2014, 14:37
Владимир, если можно схему Б.П.

AmNik
31.12.2014, 02:11
Владимир, если можно схему Б.П.

Тоже бы не отказался от схемы бп

ВладимирC
21.08.2015, 12:32
Давненько сюда не заходил. Все работает. Правда зимой в морозы как-то за пару дней стоянки высадило АКБ, что пришлось прикуривать. И еще разок почти в 0, еле завелся. На быструю руку убрал режим сна, т.е. включил зажигание - на системе питание есть, выключил - все жестко обрубилось, думал так же быстро переделать... но нет ничего более постоянного , чем временное. Та с зимы и езжу). Залил обновленную прогу Даниеля для радио, пропали заикания, радио теперь прекрасно работает. Кстати прием лучше, чем с этим же радио на PC. Видимо сказывается отсутствие помех компа и его блока питания.

ZliN
21.08.2015, 16:37
ВладимирC, Тоже недавно задался вопросом отключения питания при длительном простое. Как вариант, подсказали таймер FRM01. Один из режимов его работы: пропал сигнал АСС - таймер начинает обратный отсчет и при достижении заданного значения вырубает питание, сигнал АСС появился - таймер сбрасывается. Как приедеи из Китая - буду ставить! :)

ВладимирC
21.08.2015, 17:59
ВладимирC, Тоже недавно задался вопросом отключения питания при длительном простое. Как вариант, подсказали таймер FRM01. Один из режимов его работы: пропал сигнал АСС - таймер начинает обратный отсчет и при достижении заданного значения вырубает питание, сигнал АСС появился - таймер сбрасывается. Как приедеи из Китая - буду ставить! :)

Тык не проще реле регтаймовское повесить?

ZliN
22.08.2015, 00:13
Тык не проще реле регтаймовское повесить?

Не проще. Регтайм идет максимум на 14400 секунд, т.е. 4 часа задержки - маловато будет. Да и жрет оно как не в себя - 65 мА!
А вот frm01 выдает максимальную задержку 270 часов и потребляет 3мА. Чувствуете разницу? :)
Бонусом идет еще 18 различных программ использования.

ВладимирC
22.08.2015, 01:05
посмотрел,интересно,только одного не понимаю,как он потрбляет 3 мА, если у него на борту реле,обмотка которого потребляет те же 50 мА, на поляризованое оно вроде не похоже. Если речь о потреблении только в состоянии покоя, то смысла нет.

RyuuKiiroi
22.08.2015, 02:11
Ну на работу контроллера.

ВладимирC
22.08.2015, 09:30
Ну на работу контроллера.

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

ZliN
22.08.2015, 14:01
посмотрел,интересно,только одного не понимаю,как он потрбляет 3 мА, если у него на борту реле,обмотка которого потребляет те же 50 мА, на поляризованое оно вроде не похоже. Если речь о потреблении только в состоянии покоя, то смысла нет.

Сегодня забрал с почты и сразу померил потребление. В состоянии покоя ток потребления действительно около 3 мА, когда же реле срабатывает потребление скачет до 30-40 мА, в зависимости от того включен дисплей или нет.

ZliN
22.08.2015, 14:06
А 4х часов мне за глаза , я планирую поддерживать планшет на время коротких остановок.

А я вот планирую такой режим: если машина 2 дня не заводится - таскером вырубается планшет, если машина стоит 4 дня - срабатывает реле и отрубает питание полностью. А каждый день включать полностью обесточенный планшет слишком долго и нудно, как мне кажется...

ВладимирC
22.08.2015, 14:28
А я вот планирую такой режим: если машина 2 дня не заводится - таскером вырубается планшет, если машина стоит 4 дня - срабатывает реле и отрубает питание полностью. А каждый день включать полностью обесточенный планшет слишком долго и нудно, как мне кажется...

За 3 дня в морозы с выключенным планшетом но работающим NSD и Ардуинкой акб высадило в 0. АКБ новый. Возможно сказывается, что зимой у меня короткие поездки из дома на работу и подзаряжаться не успевает. НО не кататься же ради планшета просто так).

ZliN
22.08.2015, 15:38
ВладимирC, Зимой частые короткие поездки и без планшета аккумулятор ушатать могут. У меня до полного разряда, аккумулятор держался дней 5, поэтому и решил заморочиться с реле - не нужно каждый раз думать: "Выключил ли я планшет?"

ВладимирC
22.08.2015, 15:45
ВладимирC, Зимой частые короткие поездки и без планшета аккумулятор ушатать могут. У меня до полного разряда, аккумулятор держался дней 5, поэтому и решил заморочиться с реле - не нужно каждый раз думать: "Выключил ли я планшет?"

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

ZliN
22.08.2015, 16:39
Лучше с утра подожду лишнюю минуту, загрузв с нуля, чем буду бегать в поисках, где бы прикурить)

Дело хозяйское! ))

YAM1966
22.08.2015, 17:15
посмотрел,интересно,только одного не понимаю,как он потрбляет 3 мА, если у него на борту реле,обмотка которого потребляет те же 50 мА, на поляризованое оно вроде не похоже. Если речь о потреблении только в состоянии покоя, то смысла нет.

Из инструкции (https://docs.google.com/file/d/0B2lE0nuxkO4cVTJnLWcteUVneUU):
2. Working Current:
12V / less than 50mA (when the relay is not operating less than 15mA, turn off the display less than 3mA)
Я надеюсь переводить не надо....

ВладимирC
24.08.2015, 01:54
Из инструкции (https://docs.google.com/file/d/0B2lE0nuxkO4cVTJnLWcteUVneUU):
2. Working Current:
12V / less than 50mA (when the relay is not operating less than 15mA, turn off the display less than 3mA)
Я надеюсь переводить не надо....

Спасибо за точную инфу , но я и по внешнему виду понял , что в режиме сна (планшета) оно меньше 50 мА потреблять не может и это только сам таймер а еще поеобразователь с ардуинкой и плашетом добавят. просто тут упомянули , что регтайм “жрет как не в себя“ 65мА , а таймер типа только 3.

anton2204
24.08.2015, 10:25
Спасибо за точную инфу , но я и по внешнему виду понял , что в режиме сна (планшета) оно меньше 50 мА потреблять не может и это только сам таймер а еще поеобразователь с ардуинкой и плашетом добавят. просто тут упомянули , что регтайм “жрет как не в себя“ 65мА , а таймер типа только 3.
Оно и понятно! Если внешне Регтайм похоже на обычное реле с простейшей катушкой, не думайте, что это так(тут (https://www.drive.net/l/2975277/) фото "расковыренного" реле)! Там конечно есть релюшка внутри, но она маленькая и управляется от встроенного простейшего микропроцессора/таймера (http://i1.m8928.ru/1/1592/15917138/afacdb/rele-vremeni-12v-60-600-sek-2.jpg), которому для работы и надо постоянное питание! Собственно он, таймер и "кушает" свои 3mA.
P.S. Второй год езжу на БП, собранных на релюшках Регтайм(их там ТРИ!) -зимой никаких проблем с заводкой авто НЕ БЫЛО, как впрочем и с самими реле Регтайм!

ВладимирC
24.08.2015, 11:32
Оно и понятно! Если внешне Регтайм похоже на обычное реле с простейшей катушкой, не думайте, что это так(тут (https://www.drive.net/l/2975277/) фото "расковыренного" реле)! Там конечно есть релюшка внутри, но она маленькая и управляется от встроенного простейшего микропроцессора/таймера (http://i1.m8928.ru/1/1592/15917138/afacdb/rele-vremeni-12v-60-600-sek-2.jpg), которому для работы и надо постоянное питание! Собственно он, таймер и "кушает" свои 3mA.
P.S. Второй год езжу на БП, собранных на релюшках Регтайм(их там ТРИ!) -зимой никаких проблем с заводкой авто НЕ БЫЛО, как впрочем и с самими реле Регтайм!

Че то меня все стали убеждать в том, что и так понятно)).

RyuuKiiroi
24.08.2015, 13:58
Планшет и ардуину посадить на один БП, периферию - на другой.
При отключении ACC периферия отключается например через час и запускается отсчет на ардуине, например день.
Ардуиной обрубается реле и отключает себя и планшет.
Вот только реле подумать какое, желательно которое не будет потреблять ток в покое. Поставить может магнит на контакт и обратной полярностью размыкать.

ВладимирC
24.08.2015, 17:14
Планшет и ардуину посадить на один БП, периферию - на другой.
При отключении ACC периферия отключается например через час и запускается отсчет на ардуине, например день.
Ардуиной обрубается реле и отключает себя и планшет.
Вот только реле подумать какое, желательно которое не будет потреблять ток в покое. Поставить может магнит на контакт и обратной полярностью размыкать.

Периферию можно питать и тем же блоком, просто через дополнительное реле, у меня сейчас так и сделано. Собственно осталось полностью вырубать БП с ардуинкой и планшетом, через заданное время. Единственно думаю, часов 14 надо интервал задать. как раз примерно между приездом с работы и выездом из дому. Если поехал - планшет проснулся, не поехал, значит выходной , надо вырубаться.

RyuuKiiroi
24.08.2015, 19:08
Тогда петля получается, от которой все хотят избавиться. Я бы отдельно питание звуковухи посадил, а периферию с планшетом.

ВладимирC
25.08.2015, 13:32
Тогда петля получается, от которой все хотят избавиться. Я бы отдельно питание звуковухи посадил, а периферию с планшетом.

Какая петля? асс отвязан через оптрон, само питание вообще через реле. И звуковуха такая же периферия).

Kent5601
26.08.2015, 10:41
Кнопки подключаю к Arduino Pro micro (https://duino.ru/arduino-pro-micro.html/)
Благодаря lti1 (http://pccar.ru/member.php?u=11425) получилось следующее:
Совмещенный скетч:
int ACC = 4;
int Hub = 5;
int Hall = 6;
int flagACC = 0;
unsigned long pauseTime = 0;

int analogPin=A0;
int data;
int data1 = 0;
int flag = 0;
unsigned long eventTime = 0;

void setup()
{
pinMode(ACC, INPUT);
pinMode(Hub, OUTPUT);
pinMode(Hall, OUTPUT);

Serial.begin(9600);
digitalWrite(analogPin, HIGH);
}


void loop()
{
if (digitalRead(ACC)== HIGH && flagACC == 0)
{
digitalWrite(Hub, HIGH);
pauseTime = millis();
flagACC = 1;
}
if (millis()-pauseTime>=2000 && flagACC == 1) // пауза 2 секунды
{
digitalWrite(Hall, HIGH);
pauseTime = 0;
}

if (digitalRead(ACC)== LOW && flagACC == 1)
{
digitalWrite(Hall, LOW);
pauseTime = millis();
flagACC = 0;
}
if (millis()-pauseTime>=600000 && flagACC == 0) // пауза 10 минут
{
digitalWrite(Hub, LOW);
pauseTime = 0;
}

data=analogRead(analogPin);

if(data>=950 && data1 != 0 && flag <= 1)
{
Serial.print("<release:");
Serial.print(data1);
Serial.print(">");
data1 = 0;
flag = 0;
delay(10);
}

if(data>=950)
{
eventTime = millis();
}

if(data<=949 && flag != 13 && millis()-eventTime>=50 && millis()-eventTime<=800)
{
flag = 2;
data1 = data;
}

if(data>=950 && flag == 2)
{
Serial.print("<click:");
Serial.print(data1);
Serial.print(">");
flag = 0;
delay(10);
}

if(data<=949 && flag == 2 && millis()-eventTime>800)
{
Serial.print("<hold:");
Serial.print(data);
Serial.print(">");
data1 = data;
flag = 1;
delay(10);
}
}

опиши пожалуйста работу скетча! как работают кнопки на руле и вкл/выкл ардуино очень понравилась задумка но разобраться не получается! :dntknw:
у меня ардуино леонардо скейч на кнопки такой образец
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>=315 && data<=345) // приглушение звука
{
Remote.mute();
Remote.clear();
}
if (data>=420 && data<=460) // воспроизведение / пауза
{
Remote.play_pause();
Remote.clear();
}
delay(100);
}
хочу добавить в него еще включение и выключение!
поможешь????

Kent5601
26.08.2015, 11:36
https://pp.vk.me/c623424/v623424177/45c08/L3lHNbAz538.jpg

lti1
26.08.2015, 11:39
опиши пожалуйста работу скетча! как работают кнопки на руле и вкл/выкл ардуино очень понравилась задумка но разобраться не получается! :dntknw:
у меня ардуино леонардо скейч на кнопки такой образец

хочу добавить в него еще включение и выключение!
поможешь????
В скетче у ВладимирC, обрабатывает кнопки Remote steering wheel control (http://forum.xda-developers.com/showthread.php?t=2635159), исходник здесь (http://pccar.ru/showthread.php?p=309621#post309621).
Алгоритм управления питанием следующий:
включили ACC -> сразу подалось питание на хаб, через две секунды сигнал на датчик холла
выключили ACC -> сразу сигнал на датчик холла, через десять минут отключается питание хаба.
Вот скетч управления питанием отдельно:
int ACC = 4; // D4 вход ACC
int Hub = 5; // D5 выход управления хабом
int Hall = 6; // D6 выход управления датчиком холла
int flagACC = 0;
unsigned long pauseTime = 0;

void setup()
{
pinMode(ACC, INPUT);
pinMode(Hub, OUTPUT);
pinMode(Hall, OUTPUT);
}


void loop()
{
if (digitalRead(ACC)== HIGH && flagACC == 0)
{
digitalWrite(Hub, HIGH);
pauseTime = millis();
flagACC = 1;
}
if (millis()-pauseTime>=2000 && flagACC == 1) // пауза 2 секунды
{
digitalWrite(Hall, HIGH);
pauseTime = 0;
}

if (digitalRead(ACC)== LOW && flagACC == 1)
{
digitalWrite(Hall, LOW);
pauseTime = millis();
flagACC = 0;
}
if (millis()-pauseTime>=600000 && flagACC == 0) // пауза 10 минут
{
digitalWrite(Hub, LOW);
pauseTime = 0;
}
}

ВладимирC
26.08.2015, 12:10
хочу добавить в него еще включение и выключение!
поможешь????

Я же явно сослался на lti1 без него этого скетча бы не было, я способен был только прописать желаемый алгоритм, а он любезно помогал его реализовать. Так что с этим вопросом лучше к нему.
А кнопки работают, бывает, что по какой то причине планшет загружается , но не видит ардуинки, помогает перезагрузка, но это один раз из 50 наверное.
PS А вот и сам lti1)).
ЗЗЫ Забыл добавить, НАШ с lti1 (мы пахали))) хорош тем, что позволяет изменять назначение кнопок без перепрошивки ардуины. Собственно прошить то ее совсем несложно, но уже в установленном проекте это создает определенные трудности.

ВладимирC
26.08.2015, 12:31
опиши пожалуйста работу скетча! как работают кнопки на руле и вкл/выкл ардуино очень понравилась задумка но разобраться не получается! :dntknw:


Про питание уже все пояснили, а секция управления кнопками проста до безобразия (когда знаешь, как ее реализовать). Назначаем аналоговый вход, к нему подключаем кнопки и он читает значение, если оно меньше состояния покоя (1023), но берем с запасом защищаясь от ложных срабатываний (950), то значит нажата кнопка. Вводим переменную flag, для отслеживания времени нажатия ( чтобы различать длинные и короткие нажатия. Все, на этом функции скетча заканчиваются. Дальше коды кнопок обрабатывает Remote steering wheel control. Захотелось поменять функцию какой-либо кнопки (или всех кнопок) - заходим в приложение и меняем на ходу.
Тут еще один большой плюс - на столе и в машине кнопки выдавали разные значения (особенности питания). В случае если бы назначение кнопок задавались жестко в скетче мне бы пришлось замерять значения в машине, потом опять снимать, нести домой, прошивать, и устанавливать обратно.

Kent5601
26.08.2015, 13:49
спасибо большое lti1 и ВладимирC!

Kent5601
26.08.2015, 13:52
В скетче у ВладимирC, обрабатывает кнопки Remote steering wheel control (http://forum.xda-developers.com/showthread.php?t=2635159), исходник здесь (http://pccar.ru/showthread.php?p=309621#post309621).
Алгоритм управления питанием следующий:
включили ACC -> сразу подалось питание на хаб, через две секунды сигнал на датчик холла
выключили ACC -> сразу сигнал на датчик холла, через десять минут отключается питание хаба.
Вот скетч управления питанием отдельно:
int ACC = 4; // D4 вход ACC
int Hub = 5; // D5 выход управления хабом
int Hall = 6; // D6 выход управления датчиком холла
int flagACC = 0;
unsigned long pauseTime = 0;

void setup()
{
pinMode(ACC, INPUT);
pinMode(Hub, OUTPUT);
pinMode(Hall, OUTPUT);
}


void loop()
{
if (digitalRead(ACC)== HIGH && flagACC == 0)
{
digitalWrite(Hub, HIGH);
pauseTime = millis();
flagACC = 1;
}
if (millis()-pauseTime>=2000 && flagACC == 1) // пауза 2 секунды
{
digitalWrite(Hall, HIGH);
pauseTime = 0;
}

if (digitalRead(ACC)== LOW && flagACC == 1)
{
digitalWrite(Hall, LOW);
pauseTime = millis();
flagACC = 0;
}
if (millis()-pauseTime>=600000 && flagACC == 0) // пауза 10 минут
{
digitalWrite(Hub, LOW);
pauseTime = 0;
}
}

а int flagACC = 0 это аналоговый вход или цифровой? просто на леонардо рядом с цифровым выходом 0 написано RX это нормально или лучше другой выбрать????

lti1
26.08.2015, 14:04
а int flagACC = 0 это аналоговый вход или цифровой? просто на леонардо рядом с цифровым выходом 0 написано RX это нормально или лучше другой выбрать????
Все входы и выходы я обозначил в скетче, int flagACC = 0; и unsigned long pauseTime = 0; - переменные которые используются в скетче, их трогать не нужно.

Kent5601
26.08.2015, 14:45
то есть они цифровые! я попробую сейчас скетч собрать посмотрите нормально или не правильно?

Kent5601
26.08.2015, 14:58
посмотрите плиз!!! не селен я в ардуино(((


int ACC = 4; // D4 вход ACC
int Hub = 5; // D5 выход управления хабом
int Hall = 6; // D6 выход управления датчиком холла
int flagACC = 0;
unsigned long pauseTime = 0;
int analogPin=0;
int data;

void setup()
{
pinMode(ACC, INPUT);
pinMode(Hub, OUTPUT);
pinMode(Hall, OUTPUT);
Keyboard.begin();
Serial.begin(9600);
}


void loop()
{
data=analogRead(analogPin); //читаем значение нажатой кнопки
Serial.println(data); //для определения кодов нажатых кнопок на мониторе порта


if (digitalRead(ACC)== HIGH && flagACC == 0)
{
digitalWrite(Hub, HIGH);
pauseTime = millis();
flagACC = 1;
}
if (millis()-pauseTime>=2000 && flagACC == 1) // пауза 2 секунды
{
digitalWrite(Hall, HIGH);
pauseTime = 0;
}

if (digitalRead(ACC)== LOW && flagACC == 1)
{
digitalWrite(Hall, LOW);
pauseTime = millis();
flagACC = 0;
}
if (millis()-pauseTime>=600000 && flagACC == 0) // пауза 10 минут
{
digitalWrite(Hub, LOW);
pauseTime = 0;
}

// упровление кнопками

if (data>=315 && data<=345) // приглушение звука
{
Remote.mute();
Remote.clear();
}
if (data>=315 && data<=345) // Volume Up
{
Remote.increase();
Remote.clear();
}
if (data>=315 && data<=345) // Volume Down
{
Remote.decrease();
Remote.clear();
}
// Track Controls
if (data>=315 && data<=345) // Next
{
Remote.next();
Remote.clear();
}
if (data>=315 && data<=345) // previous
{
Remote.previous();
Remote.clear();
}
if (data>=420 && data<=460) // воспроизведение / пауза
{
Remote.play_pause();
Remote.clear();
}
delay(100);
}

цифры значений не правильные так что не обращайте внимания!

ВладимирC
26.08.2015, 16:02
Не туда посмотрел

ВладимирC
26.08.2015, 16:49
то есть они цифровые! я попробую сейчас скетч собрать посмотрите нормально или не правильно?

Они не цифровые, точнее это вообще не входы, это переменные.

Kent5601
26.08.2015, 17:08
ВладимирC ВАШ почтовый ящик переполнен!

sirota
26.08.2015, 17:23
ВладимирC ВАШ почтовый ящик переполнен!

Ему лень или некогда :yes2:

ВладимирC
26.08.2015, 19:02
Освободил))

ВладимирC
26.08.2015, 19:46
Ему лень или некогда :yes2:

Ну шо ж ты меня палишь то)))

ВладимирC
17.10.2015, 01:48
Притомившись каждый раз включать точку доступа на телефоне ( а также учитывая очень плохой мобильный инет на даче) приобрел себе Вот такой мобильный роутер (https://moscow.megafon.ru/mobile_devices/detail/#88625) Цена по акции 1200 руб + 30Gbв подарок (правда израсходовать его нужно за 2 недели).
Так как МТС теперь позволяет раскидывать пакет инета на несколько устройств, приобрел еще одну симку МТС, и буду делиться с ней инетом с телефона.
На 4PDA ему посвящена большая ветка (http://4pda.ru/forum/index.php?showtopic=671662&st=800) и тамошние гуру дают по нему хорошие отзывы. Есть уже достаточно много наработок по нему. Легко и бесплатно осуществляется разблокировка и можно использовать симку любого опсоса. Сегодня как раз выложили альтернативную прошивку, которая позволяет включать роутер при подаче питания.
Еще из приятностей:
Автоматически подключается к инету
Может работать как репитер WiFi, т.е если видит знакомую сеть - подключается к ней и раздает инет с нее - экономит мобильный трафик.
Может служить модемом, будучи соединенным с компом через USB, одновременно раздавая инет по WiFi.
Можно создать 2 разных сети
Имеет 2 разъема для внешних антенн (возможность подключения МИМО антенн) правда тип разъема не очень популярный - TS9
При сравнении со смартфоном LG G2 гораздо лучшие показатели приема интернета в плохих условиях, даже без подключения внешней антенны.
Имеет на борту батарейку 2700мАh, которой при средней загрузке хватает примерно на несколько часов работы.

ВладимирC
28.10.2015, 22:20
Вчера приобрел Изикап UTV 007. Ждать было неохота нашел на авито по 1000 руб.
Приобрел EasyCap Viewer, воткнул в хаб, приготовился наслаждаться видом сзади. Но не тут то было. При первом включении задней передачи все отработало корретно, но при выключении передачи экран не переключился, на темном фоне цветные шумы. И если переключиться на драугой экран кнопками на экране, то на повторное включение задней передачи планшет уже никак не реагирует.Поизучал тему, выяснил, что устройство не отличает наводок от полезного сигнала,соответственно переключаться обратно не хочет.
Поставил реле на разрыв "+" на USB устройства. Теперь все отрабатывает корректно,но при переключении задней передачи перед выводом на экран сигнала от камеры на доли секунды проскакивает картинка с ч/б шумом. Ну тут понятно, что устройство не успевает инициализироваться.
Почитал еще, попробовал разрывать не "+" а "D+" - прога выдает ошибку и вылетает, вернул как было.
Качество картинки не особо впечатлило ( но тут еще вопросы к камере и проводу, когда стоял РС и Лилипут, картинка тоже не ахти была, но получше), но парковаться можно. Периодически почитывая темы про изикап - ожидал худшего, много писали про задержку включения и задержку сигнала. Включается быстро, сопоставимо (даже побыстрее) с переключением входа на лилипуте. Задержка сигнала, если и есть, то очень мала. Спецом сегодня вплотную парковался к безопасному препятствию. Все четко.

ВладимирC
28.10.2015, 22:29
Кстати, порекомендуйте хорошую камеру заднего вида.

anru
01.11.2015, 11:41
Кстати, порекомендуйте хорошую камеру заднего вида.

Здравствуйте Владимир
Готов поделиться опытом по камере заднего хода. На моем счету 3 камеры: нонейм китай,российский бренд но тот же китай но получше качеством и бренд Clarion.Могу сделать обзор для вас клариона но в двух словах поищите Alpine,Clarion,pioneer,JVS я брал из штатов. Остановился на среднячке Clarion 510 по цене устроило и качество хорошее. Есть алпайны вообше космос по возможностям но цена. По клариону не нашел обзоров на русском вообще на английском один и то ни о чем.Если интересно пишите.

ВладимирC
21.10.2016, 23:28
Поставил на днях Андроид 6.0.1 Все работает, по ощущениям даже лучше, чем на 4.4.4 . Но , нет самого главного. Звук через звуковую не выводится. Играет через динамик планшета. Хотя поддержка USB DAC в шестерке присутствует. Видимо не поддерживается частота 48кГц на которой работает моя карта. Скачал USB audio pleer pro. Он звуковуху после некоторого шаманства увидел, но играл молча. случайно обнаружил одну папку, которую он все таки нормально заиграл. После изучения оказалось, что у нее частота дискретизации 48кГц. Причем звук очень даже приличный. В настройках аудиоплеера есть выбор частоты, но он никакого влияния не оказал. Пока не тыкнул в еще один пункт. "Воспроизводить с максимальной частотой DAC. После его включения все папки стали проигрываться нормально, но с перекодировкой в 96 кГц.

ВладимирC
28.10.2016, 11:20
Экспериментирую с прошивками. Установил Кастомную 7.1 (http://forum.xda-developers.com/nexus-7-2013/development/p-aosp-7-0-0r14-nougat-nrd90z-t3481374) Несмотря на сырость прошивки очень понравилась. Все что нужно работает, проблема с креативовской картой осталась. И еще одна странная хрень. Цифровое радио Дижи****** запускается и показывает черный экран, при этом запустившись из Лаки патчера работает нормально, запускается сколько угодно до следующей перезагрузки. Есть ощущение, что оно перестало запрашивать права суперпользователя.
Поначалу была такая же проблема и с EasyCap Viewer, прога запускалась, показывала цветные квадратики, но в настройки не пускала, даже не было такого пункта в меню. После запуска из лаки патчера, пустила в настройки и теперь работает нормально.

Denkos
28.10.2016, 11:42
Экспериментирую с прошивками. Установил Кастомную 7.1 (http://forum.xda-developers.com/nexus-7-2013/development/p-aosp-7-0-0r14-nougat-nrd90z-t3481374) Несмотря на сырость прошивки очень понравилась. Все что нужно работает, проблема с креативовской картой осталась. И еще одна странная хрень. Цифровое радио Дижи****** запускается и показывает черный экран, при этом запустившись из Лаки патчера работает нормально, запускается сколько угодно до следующей перезагрузки. Есть ощущение, что оно перестало запрашивать права суперпользователя.
Поначалу была такая же проблема и с EasyCap Viewer, прога запускалась, показывала цветные квадратики, но в настройки не пускала, даже не было такого пункта в меню. После запуска из лаки патчера, пустила в настройки и теперь работает нормально.

В SU то что пишет.

ВладимирC
28.10.2016, 12:07
В SU то что пишет.

Да в том то и дело, в логах нет запроса от радио. После того как запускается - рут предоставлен.

Rage2
28.10.2016, 16:50
Если EasyCap Viewer не пускала в настройки, значит не прошла валидацию лицензии. Нужен интернет, установленный маркет и залогиниться в аккаунте. Лучше заново скачать от туда.
Креатив тоже пожно попробовать подшамить правкой конфига /system/etc/audio_policy.conf

Посмотреть там внизу раздел usb->outputs->usb_device
и поменять DYNAMIC на значения помеченные красным
sampling_rates 44100
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_USB_DEVICE

ВладимирC
28.10.2016, 17:10
Есть EasyCap Viewer не пускала в настройки, значит не прошла валидацию лицензии. Нужен интернет, установленный маркет и залогиниться в аккаунте. Лучше заново скачать от туда.
Креатив тоже пожно попробовать подшамить правкой конфига /system/etc/audio_policy.conf

Посмотреть там внизу раздел usb->outputs->usb_device
и поменять DYNAMIC на значения помеченные красным
sampling_rates 44100
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_USB_DEVICE


Да, с /system/etc/audio_policy.conf игрался, правда ставил не sampling_rates 44100 а 48000.
EasyCap Viewer скачивал с плеймаркета, переустанавливал пару раз. И он видит, что она у меня куплена. Но заработал лишь после того, как запустил его из Лаки патчера, без всяких патчей и подмен лицензий, просто нажал кнопку запустить приложение.

Rage2
29.10.2016, 03:34
да, прошу прощения, 48к. т.к карта не может по аналогу на частоте ниже работать.

ВладимирC
02.11.2016, 18:45
С Радио и Изикапом разобрался, им требовались разрешения SELinux

ВладимирC
03.11.2016, 14:38
Сегодня поставил PCM 2704 (Спасибо Rage2) На 7.1 работает без проблем, звук понравился больше креативовского..Таким образом можно смело сказать, несмотря на то что сборка еще даже не Бета, а тестовая - В Андроид 7.1 работает все (во всяком случае, что я использую) и без нареканий. Кстати запускается она с полного нуля на 8 секунд меньше, чем 4.4.4 с тем же набором программ.

ВладимирC
11.02.2017, 11:11
Сегодня пришел из Китая BNC Мужчин и Женщин Аудио Коаксиальный Контура Заземления Изолятор Новый))) (https://ru.aliexpress.com/item/BNC-Male-to-Female-Coaxial-Audio-Ground-Loop-Isolator-New/32654053372.html?spm=2114.13010608.0.0.BMCqoB) Сразу воткнул в машину, через предварительно купленные на рынке переходники BNC-RCA, помехи ушли. Правда, возможно изображение стало чуть позамыленнее. Попозже сравню "с" и "без", Зато теперь система полностью гальванически развязана по земле.

ВладимирC
11.02.2017, 11:20
В продолжении темы развязки. Не делал контроль разряда АКБ на ардуино, чтобы не заводить землю.
Благодаря
Может кому-то пригодится схема отслеживания напряжения на АКБ в машине для самостоятельного изготовления "умного" блока питания на контроллере Arduino . Я (как и многие) отслеживаю состояние АКБ через делитель напряжения и аналоговый вход на Arduino. Как это делается можно почитать здесь (http://tim4dev.com/arduino-secret-true-voltmeter/). Но есть альтернативный способ сделать это. Использовать регулируемый стабилитрон TL431 (http://www.naliwator.narod.ru/other/tl431rus.pdf).

Работает схема следующим образом:если потенциал на Ref меньше 2,5В, стабилитрон TL431 заперт и через него проходит мизерный ток - 0,4 мА. Оптрон тоже заперт и на выходе уровень "LOW"(чтобы оптрон гарантированно был заперт при токе в 0.4 мА параллельно ставим резистор на 220 Ом ) .
Величина напряжения Uз при котором открывается оптрон , определяется делителем напряжения R1 и R2. Его можно рассчитать по формуле:

R2 = 2,5 х R1/(Uз — 2,5)

Я поставил R2 на 20К, что соответствует примерно 15В. И последовательно с R2 поставил подстроечник R7 на 10К, что в итоге дало возможность плавной регулировки порога срабатывания стабилитрона в интервале напряжения от 10.4 В до 14.6 В. Стабилитрон реагирует на изменение напряжения с точностью в 0.01 В.

Когда на контакте Ref больше 2,5 В, стабилитрон TL431 откроется и оптрон тоже, что даст на выходе уровень "HIGH". Это дает возможность отследить средствами Arduino напряжение на АКБ и что-то сделать по событию: если на выходе оптрона уровень "LOW" (АКБ просел), то выключаем что-то или все по алгоритму установленной программы, если на выходе оптрона уровень "HIGH"(АКБ в норме)- программа отрабатывает по алгоритму и ждет когда АКБ "обсохнет" и на выходе оптрона снова окажется "LOW". Если использовать две такие схемы, то можно одновременно отслеживать и "просадку", и максимально высокое напряжение на АКБ. Как-то так...
Схема мною была опробована на одном из моих распределителей питания и как мне показалось - работала более стабильно, нежели с отслеживанием через аналоговые входы Arduino.
На мой взгляд этот метод гораздо проще и заслуживает внимания...
Но это мое мнение...

Небольшой простенький код :


int inPin = 5; // контакт, к которому подключен выход стабилитрона
int outPin = 13; //контрольный светодиод "АКБ в норме"
int outPin1 = 8; //контрольный светодиод "АКБ разряжен"

void setup()

{
pinMode(inPin, INPUT);// Устанавливаем контакт, как "Вход"
pinMode(13, OUTPUT); // Устанавливаем контакт, как "Выход" (просто для конторля работы):
pinMode(8, OUTPUT); // Устанавливаем контакт, как "Выход" (просто для конторля работы):
}

void loop()

{

if (digitalRead(inPin) == LOW)//если АКБ разряжен, то
{
digitalWrite (13, LOW);// выключаем контроль "АКБ в норме"
digitalWrite (8, HIGH); // и включаем контроль "АКБ разряжен"
}

else // иначе

{
digitalWrite (13, HIGH); // включаем контроль "АКБ в норме"
digitalWrite (8, LOW); // и выключаем контроль "АКБ разряжен"
}
}
Теперь появилась возможность контролировать разряд развязав земли. Причем можно вообще не задействовать Ардуино, подключив оптрон к управляющему входу DC-DC и тем самым, в случае уменьшения напряжения на АКБ ниже минимального, выключать все полностью.