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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Рабочий журнал (http://pccar.ru/forumdisplay.php?f=25)
-   -   Установка Nexus 7 2013 WiFi в Hyundai Grandeur (http://pccar.ru/showthread.php?t=21274)

ВладимирC 26.08.2015 12:31

Цитата:

Сообщение от Kent5601 (Сообщение 336450)
опиши пожалуйста работу скетча! как работают кнопки на руле и вкл/выкл ардуино очень понравилась задумка но разобраться не получается! :dntknw:

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

Kent5601 26.08.2015 13:49

спасибо большое lti1 и ВладимирC!

Kent5601 26.08.2015 13:52

Цитата:

Сообщение от lti1 (Сообщение 336457)
В скетче у ВладимирC, обрабатывает кнопки Remote steering wheel control, исходник здесь.
Алгоритм управления питанием следующий:
включили ACC -> сразу подалось питание на хаб, через две секунды сигнал на датчик холла
выключили ACC -> сразу сигнал на датчик холла, через десять минут отключается питание хаба.
Вот скетч управления питанием отдельно:
PHP код:

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

void setup() 
 {
  
pinMode(ACCINPUT);
  
pinMode(HubOUTPUT);
  
pinMode(HallOUTPUT);     
 }


void loop()
{
  if (
digitalRead(ACC)== HIGH && flagACC == 0)
   {
   
digitalWrite(HubHIGH);
   
pauseTime millis();
   
flagACC 1;
   }
  if (
millis()-pauseTime>=2000 && flagACC == 1// пауза 2 секунды
   
{
   
digitalWrite(HallHIGH);
   
pauseTime 0;
   }
   
  if (
digitalRead(ACC)== LOW && flagACC == 1)
   {
   
digitalWrite(HallLOW);
   
pauseTime millis();
   
flagACC 0;
   }
  if (
millis()-pauseTime>=600000 && flagACC == 0// пауза 10 минут
   
{
   
digitalWrite(HubLOW);
   
pauseTime 0;
   }



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

lti1 26.08.2015 14:04

Цитата:

Сообщение от Kent5601 (Сообщение 336478)
а 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 (Сообщение 336485)
то есть они цифровые! я попробую сейчас скетч собрать посмотрите нормально или не правильно?

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

Kent5601 26.08.2015 17:08

ВладимирC ВАШ почтовый ящик переполнен!

sirota 26.08.2015 17:23

Цитата:

Сообщение от Kent5601 (Сообщение 336500)
ВладимирC ВАШ почтовый ящик переполнен!

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

ВладимирC 26.08.2015 19:02

Освободил))

ВладимирC 26.08.2015 19:46

Цитата:

Сообщение от sirota (Сообщение 336503)
Ему лень или некогда :yes2:

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

ВладимирC 17.10.2015 01:48

Вложений: 1
Притомившись каждый раз включать точку доступа на телефоне ( а также учитывая очень плохой мобильный инет на даче) приобрел себе Вот такой мобильный роутер Цена по акции 1200 руб + 30Gbв подарок (правда израсходовать его нужно за 2 недели).
Так как МТС теперь позволяет раскидывать пакет инета на несколько устройств, приобрел еще одну симку МТС, и буду делиться с ней инетом с телефона.
На 4PDA ему посвящена большая ветка и тамошние гуру дают по нему хорошие отзывы. Есть уже достаточно много наработок по нему. Легко и бесплатно осуществляется разблокировка и можно использовать симку любого опсоса. Сегодня как раз выложили альтернативную прошивку, которая позволяет включать роутер при подаче питания.
Еще из приятностей:
Автоматически подключается к инету
Может работать как репитер 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

Цитата:

Сообщение от ВладимирC (Сообщение 341887)
Кстати, порекомендуйте хорошую камеру заднего вида.

Здравствуйте Владимир
Готов поделиться опытом по камере заднего хода. На моем счету 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 Несмотря на сырость прошивки очень понравилась. Все что нужно работает, проблема с креативовской картой осталась. И еще одна странная хрень. Цифровое радио Дижи****** запускается и показывает черный экран, при этом запустившись из Лаки патчера работает нормально, запускается сколько угодно до следующей перезагрузки. Есть ощущение, что оно перестало запрашивать права суперпользователя.
Поначалу была такая же проблема и с EasyCap Viewer, прога запускалась, показывала цветные квадратики, но в настройки не пускала, даже не было такого пункта в меню. После запуска из лаки патчера, пустила в настройки и теперь работает нормально.

Denkos 28.10.2016 11:42

Цитата:

Сообщение от ВладимирC (Сообщение 372820)
Экспериментирую с прошивками. Установил Кастомную 7.1 Несмотря на сырость прошивки очень понравилась. Все что нужно работает, проблема с креативовской картой осталась. И еще одна странная хрень. Цифровое радио Дижи****** запускается и показывает черный экран, при этом запустившись из Лаки патчера работает нормально, запускается сколько угодно до следующей перезагрузки. Есть ощущение, что оно перестало запрашивать права суперпользователя.
Поначалу была такая же проблема и с EasyCap Viewer, прога запускалась, показывала цветные квадратики, но в настройки не пускала, даже не было такого пункта в меню. После запуска из лаки патчера, пустила в настройки и теперь работает нормально.

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

ВладимирC 28.10.2016 12:07

Цитата:

Сообщение от Denkos (Сообщение 372823)
В 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

Цитата:

Сообщение от Rage2 (Сообщение 372866)
Есть 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 Мужчин и Женщин Аудио Коаксиальный Контура Заземления Изолятор Новый))) Сразу воткнул в машину, через предварительно купленные на рынке переходники BNC-RCA, помехи ушли. Правда, возможно изображение стало чуть позамыленнее. Попозже сравню "с" и "без", Зато теперь система полностью гальванически развязана по земле.

ВладимирC 11.02.2017 11:20

В продолжении темы развязки. Не делал контроль разряда АКБ на ардуино, чтобы не заводить землю.
Благодаря
Цитата:

Сообщение от skanch (Сообщение 381984)
Может кому-то пригодится схема отслеживания напряжения на АКБ в машине для самостоятельного изготовления "умного" блока питания на контроллере Arduino . Я (как и многие) отслеживаю состояние АКБ через делитель напряжения и аналоговый вход на Arduino. Как это делается можно почитать здесь. Но есть альтернативный способ сделать это. Использовать регулируемый стабилитрон TL431.

Работает схема следующим образом:если потенциал на 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.
На мой взгляд этот метод гораздо проще и заслуживает внимания...
Но это мое мнение...

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

PHP код:

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

void setup() 

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

void loop()
 
  {

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

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


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


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

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