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

Вернуться   PCCar.ru - Ваш автомобильный компьютер > Всё Остальное > Проекты

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2015, 14:21   #11
kostrum
Пользователь
 
Регистрация: 17.03.2014
Возраст: 34
Город: Гагарин - Зеленоград
Регион: 67
Машина: Opel Corsa D
Сообщений: 40
kostrum is on a distinguished road
По умолчанию

Отличная реализация, почерпнул много нового для своего проекта)
Не подскажите точнее как и куда подпаяна внешняя антенна GPS?
Как я понял - прямо к контактам на материнке, которые идут на родную антенну?
А что сделали с родной антенной?
И как подается питание на антенну?
__________________
я на Drive2
kostrum вне форума   Ответить с цитированием
Старый 30.04.2015, 17:07   #12
alexnf
Старший Пользователь
 
Регистрация: 07.04.2013
Регион: Беларусь
Машина: Opel Insignia
Сообщений: 112
alexnf will become famous soon enoughalexnf will become famous soon enough
По умолчанию

Вот на этой схеме указано:
http://pccar.ru/attachment.php?attac...5&d=1430311633
Да все подпаяно к местам родных контактов. В WiFi версии там будет два лепестка, а в 3g только один, но место под второй будет рядом, как на схеме.
Родную антенну вначале заклеил скотчем, а потом вообще оторвал, тк мешала проводу.
Питание 5в от USB на центральную жилу.
alexnf вне форума   Ответить с цитированием
Старый 30.04.2015, 17:37   #13
kostrum
Пользователь
 
Регистрация: 17.03.2014
Возраст: 34
Город: Гагарин - Зеленоград
Регион: 67
Машина: Opel Corsa D
Сообщений: 40
kostrum is on a distinguished road
По умолчанию

ясно, спасибо!)
__________________
я на Drive2
kostrum вне форума   Ответить с цитированием
Старый 08.09.2015, 12:49   #14
Furai2014
Новый Пользователь
 
Регистрация: 25.10.2014
Возраст: 40
Регион: Украина
Сообщений: 25
Furai2014 is on a distinguished road
По умолчанию

Здравствуйте, такой вопрос: для заливки скечта Вы отключаете ардуино от платы или у Вас так прошивается, у меня почемуто когда подключена к плате не определяется. Возможно ли посмотреть Ваш скеч? Спасибо
Furai2014 вне форума   Ответить с цитированием
Старый 08.09.2015, 13:33   #15
RyuuKiiroi
Старший Пользователь
 
Регистрация: 15.08.2015
Возраст: 35
Город: Жуковский
Регион: 50, 90, 150
Машина: Emgrand X7
Сообщений: 105
RyuuKiiroi is on a distinguished road
По умолчанию

Цитата:
Сообщение от Furai2014 Посмотреть сообщение
Здравствуйте, такой вопрос: для заливки скечта Вы отключаете ардуино от платы или у Вас так прошивается, у меня почемуто когда подключена к плате не определяется. Возможно ли посмотреть Ваш скеч? Спасибо
Возможно у вас что то такое
http://arduino.ua/ru/guide/ArduinoLeonardoMicro
В самом низу "Правила хорошего тона при программировании Arduino Leonardo и Micro".
__________________
Nexus 7 2013 Geely Emgrand X7
RyuuKiiroi вне форума   Ответить с цитированием
Старый 08.09.2015, 14:57   #16
Furai2014
Новый Пользователь
 
Регистрация: 25.10.2014
Возраст: 40
Регион: Украина
Сообщений: 25
Furai2014 is on a distinguished road
По умолчанию

Цитата:
Сообщение от RyuuKiiroi Посмотреть сообщение
Возможно у вас что то такое
http://arduino.ua/ru/guide/ArduinoLeonardoMicro
В самом низу "Правила хорошего тона при программировании Arduino Leonardo и Micro".
Спасибо за ответ. Плата как у автора Pro Micro ATmega32U4 5V, и схема также. Если отключить землю ардуины от общей схемы и подключить в юсб, то загорается зеленый диод и она определяется(можно прошивать), если подключить землю - диод начинает мигать плата не определяется. Возможно нужно подать питание на всю схему (12в) . Пока тестирую на столе и 12в не подключал.
Furai2014 вне форума   Ответить с цитированием
Старый 26.10.2015, 23:13   #17
Kudryash
Пользователь
 
Аватар для Kudryash
 
Регистрация: 04.10.2015
Возраст: 46
Регион: 51
Машина: ford fusion
Сообщений: 35
Kudryash is on a distinguished road
По умолчанию

Привет , а возможность подключить резистивные кнопки с подрулевого переключателя в этой схеме остались ? У меня выходит два провода с кнопок , куда их правильно подключить к Arduino ?
Kudryash вне форума   Ответить с цитированием
Старый 20.12.2015, 19:35   #18
Явген
Старший Пользователь
 
Регистрация: 30.12.2009
Возраст: 39
Город: Минск
Регион: Беларусь
Машина: Renault Laguna 3
Сообщений: 154
Явген is on a distinguished road
По умолчанию

Привет. Планирую сделать БП как у тебя. Ты случаем потребление тока в спячке не мерял?
Явген вне форума   Ответить с цитированием
Старый 21.12.2015, 11:13   #19
alexnf
Старший Пользователь
 
Регистрация: 07.04.2013
Регион: Беларусь
Машина: Opel Insignia
Сообщений: 112
alexnf will become famous soon enoughalexnf will become famous soon enough
По умолчанию

Вот буквально на днях замерял. Получилось около 60-70 милиампер. Без планшета, сам блок питания 20-25мам - это 2 дс преобразователя со спящей ардуиной.
__________________
Мой проект Nexus 7 3g в Opel Insignia
alexnf вне форума   Ответить с цитированием
Старый 29.02.2016, 21:24   #20
Kudryash
Пользователь
 
Аватар для Kudryash
 
Регистрация: 04.10.2015
Возраст: 46
Регион: 51
Машина: ford fusion
Сообщений: 35
Kudryash is on a distinguished road
По умолчанию

Объединил скетч блока питания и резистивных кнопок! Может кому пригодится.

PHP код:
//  _ ___ _______     ___ ___ ___  ___ _   _ ___ _____ ___ 
// / |_  )__ /   \   / __|_ _| _ \/ __| | | |_ _|_   _/ __| 
// | |/ / |_ \ |) | | (__ | ||   / (__| |_| || |  | | \__ \ 
// |_/___|___/___/   \___|___|_|_\\___|\___/|___| |_| |___/ 
// 
// БП Nexus 7 2012 на Arduino TEST
// 
// Made by alexnftut alexnftut
// License: CC-BY-SA 3.0
// Downloaded from: [url]https://123d.circuits.io/circuits/1187863-nexus-7-2012-arduino-test[/url]

//Добавление библиотек из состава avr 
#include <avr/sleep.h>  //библиотека для засыпания устройства [url]http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html[/url] 
#include <avr/power.h>  //библиотека включения/выключения различных устройств, портов usb, и т п, например для энергосбережения

//Объявление переменных и присвоение им значений
int ACCPin 2// Пин АСС 
int sleepStatus 0// Переменная для хранения статуса (спим, проснулись) - не используется в коде
int analogPin=0// пин для подключения кнопок, по умолчанию A0 

int release_button 855// значение при отпущенных кнопках 
int button_release_range 50// диапазон значения + - при отпущенных кнопках 
int button_range 5// диапазон значения нажатых кнопок + - 
int time_holding 500// время для удержания кнопок в миллисекундах 
int time_tinkling 30// время исключающее дребезг контактов в миллисекундах 
int vol_up 50// значение кнопки увеличить громкость 
int vol_down 130// значение кнопки уменьшить громкость 
int alt_tab 519// значение кнопки которая будет работать как Alt + Tab 
int next 235// значение кнопки которая будет работать как Next при коротком нажатии и Fast Forward при удержании 
int previous 365// значение кнопки которая будет работать как Previous при коротком нажатии и Rewind при удержании 
int play_pause 777// значение кнопки которая будет работать как Play/Pause при коротком нажатии и 

int data;  
unsigned long flag 0;  
unsigned long eventTime 0;  
unsigned long pauseMillis 0
//Объявление констант и их значений, на которые будут они заменены при компиляции.
#define pinKIS1 7 // пин управления питанием HUB
#define relePinTablet 9 // OTG + датчик холла
#define ONKIS 100 // время включения HUB
#define ONTablet 2000 // время включения планшета
#define OFFKIS 10000 // время задержки выключения HUB
#define OFFTablet 5000 // время выключения планшета

//Объявление переменных и присвоение им значений
unsigned long durationoff 0// Время включения и выключения
boolean stateACCrelestate1relestate2relestate3 0;


void wakeUpNow()                 // Прерывание сработает после пробуждения
{
  if (
sleepStatus)               // Если мы спали,
  
{
    
sleep_disable();             // то первое, что нужно сделать после просыпания - выключить спящий режим
    
sleepStatus 0;             // В переменную заносим статус бодрствования
    
detachInterrupt(1);          // Выключаем прерывание - при нормальном режиме wakeUpNow() не будет вызываться
  
}
}


void setup()       //Функция setup() вызывается, когда стартует скетч. Используется для инициализации переменных, определения режимов работы выводов, запуска используемых библиотек и т.д. Функция setup запускает только один раз, после каждой подачи питания или сброса платы Arduino.
{
  
pinMode(ACCPinINPUT);     //Установка режима работы пина 2 (ACCPin) в режим входа
  
attachInterrupt(1wakeUpNowFALLING);    // Используем прерывание 1 (pin 2) для выполнения функции wakeUpNow  При появлении сигнала FALLING (изменение сигана с высокого уровня на низкий) 
                                             // на прерывании 1, происходит выполнение функции  wakeUpNow  (прерывание 1 на входе 2 только для Леонардо, у других плат может быть иначе)
  
pinMode(pinKIS1OUTPUT);    //7 пин выход - управляет работой хаба
  
pinMode(relePinTabletOUTPUT);  //9 пин выход - управляет датчиком холла и отг
  
analogReference(DEFAULT); // подключение внутреннего напряжение AVCC к выводу AREF (опорное напряжение) 
  
Keyboard.begin();
}

void sleepNow()                          // Функция увода ардуины в спячку.
{
  
set_sleep_mode(SLEEP_MODE_PWR_DOWN);   // Здесь устанавливается режим сна
  
sleep_enable();                        // Включаем sleep-бит в регистре mcucr. Теперь возможен слип 
      
  
attachInterrupt(1wakeUpNowFALLING);   // Используем прерывание 1 (pin 2) для выполнения функции wakeUpNow при появлении низкого уровня на пине 2
  
  
sleepStatus 1;                       // В переменную заносим статус сна
  
sleep_mode();                          // Здесь устройство перейдет в режим сна!!!
  //-------------------------ПОСЛЕ ПРОСЫПАНИЯ ВЫПОЛНЕНИЕ КОДА ПРОДОЛЖИТСЯ ОТСЮДА!!!--------------------------//
}


void loop()
{
  
Power();
  
delay(10);
  
data=analogRead(analogPin);  
if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == 0)  
{  
eventTime=millis();  
}  

//********************** Громкость ************************************ 

if(millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= vol_up button_range && data <= vol_up button_range && flag == 0
{   
Remote.increase();  
flag 5;  
delay(10);  
Remote.clear();  
}  

if(
millis()-eventTime>time_holding && data >= vol_up button_range && data <= vol_up button_range && flag == || data >= vol_up button_range && data <= vol_up button_range && flag && flag == 3)  
{   
Remote.increase(); 
flag 3;  
Remote.clear();  
delay(100);  
}  

if(
millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= vol_down button_range && data <= vol_down button_range && flag == 0)  
{   
Remote.decrease();  
flag 6;  
delay(10);  
Remote.clear();  
}  

if(
millis()-eventTime>time_holding && data >= vol_down button_range && data <= vol_down button_range && flag == || data >= vol_down button_range && data <= vol_down button_range && flag == 3)  
{   
Remote.decrease();  
flag 3;  
Remote.clear();  
delay(100);  
}  

//********************** AltTab + Ещё что то ************************************   

if(millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= alt_tab button_range && data <= alt_tab button_range)  
{   
flag 1;  
}  

if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == && pauseMillis == 0)  
{  
Keyboard.press(KEY_LEFT_ALT);  
Keyboard.press(KEY_TAB);  
Keyboard.release(KEY_TAB);  
Keyboard.press(KEY_TAB);  
Keyboard.release(KEY_TAB);  
flag 0;  
pauseMillis millis();  
}  

if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == && pauseMillis != 0)  
{  
Keyboard.press(KEY_TAB);  
Keyboard.release(KEY_TAB);  
flag 0;  
pauseMillis millis();  
}  

if(
pauseMillis && millis()-pauseMillis >= 800 && data>=release_button button_release_range && data<=release_button button_release_range)  
{  
flag 0;  
pauseMillis 0;  
Keyboard.releaseAll();  
}  

if(
millis()-eventTime>time_holding && data >= alt_tab button_range && data <= alt_tab button_range && flag == 1)  
{   
flag 0;  
}  
//********************** Next и Fast Forward ************************************   

if(millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= next button_range && data <= next button_range)  
{   
flag 2;  
}  

if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == 2)  
{  
Remote.next();  
flag 0;  
delay(10);  
Remote.clear();  
}  

if(
millis()-eventTime>time_holding && data >= next button_range && data <= next button_range && flag == || data >= next button_range && data <= next button_range && flag == 3)  
{   
Remote.forward();  
flag 3;  
Remote.clear();  
delay(100);  
}  
//********************** Previous и Rewind ************************************   

if(millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= previous button_range && data <= previous button_range)  
{   
flag 4;  
}  

if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == 4)  
{  
Remote.previous();  
flag 0;  
delay(10);  
Remote.clear();  
}  

if(
millis()-eventTime>time_holding && data >= previous button_range && data <= previous button_range && flag == || data >= previous button_range && data <= previous button_range && flag == 3)  
{   
Remote.rewind(); 
flag 3;  
Remote.clear();  
delay(100);  
}  

//********************** Play/pause + Mute ************************************   

if(millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= play_pause button_range && data <= play_pause button_range)  
{   
flag 7;  
}  

if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == 7)  
{  
Remote.play_pause();   
flag 0;  
delay(10);  
Remote.clear();  
}  

if(
millis()-eventTime>time_holding && data >= play_pause button_range && data <= play_pause button_range && flag == 7)  
{   
Remote.mute(); 
flag 0
delay(10); 
Remote.clear();  
}  

if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == || data>=release_button button_release_range && data<=release_button button_release_range && flag == || data>=release_button button_release_range && data<=release_button button_release_range && flag == 6)  
{  
flag 0
}
}

void Power()

{
   if (!
digitalRead(ACCPin)&&stateACC)    //Если асс есть (НЕ высокий уровень)И не был включен
    
{
    
stateACC=0;   //записываем статус АСС - есть
    
duration millis();  //Запоминаем текущее время(с момента включения)
    
}

  if (
digitalRead(ACCPin)&&!stateACC// Если асс нет, И был до этого
    
{
    
stateACC=1;   //записываем статус асс выкл
    
off millis(); //  сохраняем время отключения асс
    
}

  if(!
digitalRead(ACCPin) && !stateACC && millis ()-duration ONKIS//Если АСС есть и был
                                // и время с момента включения более 0.1 сек
    
{
    
digitalWrite(pinKIS1HIGH);     //включаем хаб
 //   digitalWrite(pinIsoAmp, HIGH);
    
relestate1 1//записываем статус хаба - включен
 //   millisold = millis();  //сохраняем время включения хаба
    
}

  if(!
digitalRead(ACCPin) && !stateACC &&  millis ()-duration ONTablet//Если  асс есть и был
                                // время с момента включения более 2 сек
    
{
    
digitalWrite(relePinTabletHIGH); // включаем экран и отг
    
relestate2 1;      //записываем статус включения экрана
    
}

  if(
digitalRead(ACCPin) && stateACC && millis () -offOFFKIS)  // Если нет АСС и не было
                                                         //и прошло 10 сек с момента откл-я 
    
{
    
digitalWrite(pinKIS1LOW);   //отключаем хаб
    
relestate1 0;    //записываем статус хаба выкл
    
delay(100);
    
sleepNow(); //засыпаем
    


  if(
digitalRead(ACCPin) && stateACC &&  millis ()-off OFFTablet)  //если асс нет но был
                                                       //и прошло 5 сек с моента пропадания                                                                 
    
{
    
digitalWrite(relePinTabletLOW);  //тушим экран
    
relestate2 0;     //сохраняем состояние экрана выкл
    
}

Kudryash вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



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


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