Приборная панель venator для авто

cncPlazma

✩✩✩✩✩✩✩
6 Авг 2019
0
0
тоже пытаюсь такую же панель сделать.

 
Изменено:

profyev

✩✩✩✩✩✩✩
28 Сен 2018
95
5
37
Именно на таком экране разве что на мото...
 

cncPlazma

✩✩✩✩✩✩✩
6 Авг 2019
0
0
экран можно купить больше. это для тестов.
пока не знаю как определять включение поворотников и света , что б на панели включить значки соответствующие. у кого есть идеи, был бы благодарен помощи!
 

profyev

✩✩✩✩✩✩✩
28 Сен 2018
95
5
37
@cncPlazma, Взять сигнал с реле, на процессор подать через делитель напряжения или опторазвязку
Гораздо проще вариант со снятием сигнала с разъема приборной панели. А как минимум делитель напряжения обязательно. Он проще в реализации, чем оптопара
 

Shamil26rus

✩✩✩✩✩✩✩
8 Ноя 2019
0
0
Я хочу создать такую панель, только с центральной платой "Venator" заморочки, наверное придется печатную плату делать
 

Константин 2010

✩✩✩✩✩✩✩
7 Апр 2019
17
2
я полтора года имею такую панель. тогда я все покупал . сейчас все есть ( в урезанном виде) в открытом доступе. единственное чего я не нашел как перевести ее на кан- шину. вот этим я сейчас и занимаюсь.
 
  • Лойс +1
Реакции: malec

malec

★★★★✩✩✩
5 Фев 2019
680
257
вообще кан шина вот это тема!!!там абсолютно все данные, наверно только поворотники и фары не у всех....
 

Константин 2010

✩✩✩✩✩✩✩
7 Апр 2019
17
2
что то придется все равно тянуть.но уже не столько проводов. я купил канхакер (еще в пути). чтобы выбрать пакеты которые мне нужны. а потом три варианта:
1. это скан-шилд ардуино преобразует данные ( в аналог или цифру) и каждый пакет по отдельному проводу передает на ардуино блока сбора данных. столько же проводов но они все в пределах приборки. зато не надо скетч менять.
2. передавать эти же данные по RX TX
3. передавать это сразу на андроид . но тогда для андроида надо менять прошивку. вот это для меня сама прблема
 

AlexSh123

✩✩✩✩✩✩✩
5 Фев 2020
1
2
Я на ардуине собрал, но размер платы получился большой. Буду переделывать на stm32 + попробую создать свою программу для андроид.
Вот видео, что в итоге получилось:

 
Изменено:
  • Лойс +1
Реакции: malec

malec

★★★★✩✩✩
5 Фев 2019
680
257
@AlexSh123, Здоровья Уважаемый, а Вемос или НОдМСУ под это не подойдут??? Сразу WiFi есть и памяти по более чем у УНО... СТМ конечно по интереснее с двумя процами, Но если Ардуино справляется, ESP 8266 на легке возьмет, а STM дороговата... ИМХО...
 

bort707

★★★★★★✩
21 Сен 2020
2,864
850
СТМ конечно по интереснее с двумя процами, Но если Ардуино справляется, ESP 8266 на легке возьмет, а STM дороговата...
Не знаю, что за "СТМ с двумя процами" Вы имеете в виду, но обычно под СТМ понимают плату "bluepill" c МК stm32f103. которая стоит на Али не дороже ардуино Нано
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
@bort707, ссори попутал))) ESP32 ))) , на ESP подзалип (каша в голове))) вот и попутал). Ну а по сути чем не платформа?
 

KinDimson

✩✩✩✩✩✩✩
20 Сен 2021
7
2
По сути же можно и нужно сделать два варианта:
1. Как в венатор, с физическим подключением к датчикам. Позволит подключать в старых авто и/или с отсутствием can-шины.
2. Вариант со считыванием с can-шины, через ардуино-шилд или через obd2. В таком варианте можно использовать панель как дублирующую, с красивым оформлением.
 

lobzik_ksl

✩✩✩✩✩✩✩
6 Янв 2022
0
1
Проект так и не реализован ? В чем проблемы ? Хочу собрать на Nano
 

AlexSh123

✩✩✩✩✩✩✩
5 Фев 2020
1
2
У меня есть движения по проекту. Я сделал новую плату, буквально на днях ее дособирал и начал тестировать, дорабатывать прошивку. Вроде как работает, но до финиша еще пока далековато. Скоро начну работать над версией с большим дисплеем.

T0EyNPfEdXg.jpg
 
  • Лойс +1
Реакции: Wan-Derer

lobzik_ksl

✩✩✩✩✩✩✩
6 Янв 2022
0
1
я так понимаю по каналу wifi данные на планшет идут, что за ПО на планшете принимает ?
 

lobzik_ksl

✩✩✩✩✩✩✩
6 Янв 2022
0
1
Здравствуйте, есть такая тема как "приборная панель Venator" . Ну так вот, сложилась у меня мысль собрать для друга такую приборку у него Toyota Corona Premio на 3s-gte (ну это просто так, к делу не относится). Приобрел я значит все составляющие для будущей приборки, а именно плату Mega2560 + wifi на борту + конечно все для подключения. Вопросов в процессе появилось несколько, имеется код
C++:
#include <OneWire.h>
//inintial settings **************************************************************************************** 
         //Номера аналоговых входов датчиков
         byte          volt      = 0;     //analog  input number voltage
         byte          fuel      = 1;     //analog  input number fuel sensor
         byte          temp      = 2;     //analog  input number coolant temp sensor
        
         byte          cren      = 3;     //analog  input number cren sensor
         byte          diff      = 4;     //analog  input number diff sensor
        
         byte          an00      = 5;     //analog  input number analog00 sensor
         byte          an01      = 6;     //analog  input number analog01 sensor
         byte          an02      = 7;     //analog  input number analog02 sensor
         byte          an03      = 8;     //analog  input number analog03 sensor


        
        
         //Номера цифровых входов зажигания и световых приборов
         byte          igni      = 4;     //digital input number ignition
         byte          trnL      = 5;     //digital input number left turn
         byte          trnR      = 6;     //digital input number right turn
         byte          ligh      = 7;     //digital input number parking lights
         byte          loli      = 8;     //digital input number low beam
         byte          hili      = 9;     //digital input number high beam
         byte          fogF      = 10;    //digital input number front fog lights
         byte          fogR      = 11;    //digital input number rear  fog lights
         byte          revr      = 12;    //digital input number revers lamp

         //Номера цифровых входов смены скина и сброса пробега
         byte          skin      = 24;    //digital input number skin change
         byte          trip      = 26;    //digital input number trip reset
        
         //Номера цифровых входов КПП
         byte          gP        = 28;    //digital input number P
         byte          gN        = 30;    //digital input number N
         byte          gD        = 32;    //digital input number D
         byte          gL        = 34;    //digital input number L
         byte          g2        = 36;    //digital input number 2
        
         //Номера входов контрольных ламп
         byte          lm00      = 23;    //digital input number warning lamp  0(-)
         byte          lm01      = 25;    //digital input number warning lamp  1(-)
         byte          lm02      = 27;    //digital input number warning lamp  2(-)
         byte          lm03      = 29;    //digital input number warning lamp  3(-)
         byte          lm04      = 31;    //digital input number warning lamp  4(-)
         byte          lm05      = 33;    //digital input number warning lamp  5(-)
         byte          lm06      = 35;    //digital input number warning lamp  6
         byte          lm07      = 37;    //digital input number warning lamp  7
         byte          lm08      = 39;    //digital input number warning lamp  8
         byte          lm09      = 41;    //digital input number warning lamp  9
         byte          lm10      = 43;    //digital input number warning lamp  10
         byte          lm11      = 45;    //digital input number warning lamp  11
         byte          lm12      = 47;    //digital input number warning lamp  12
         byte          lm13      = 49;    //digital input number warning lamp  13
         byte          lm14      = 51;    //digital input number warning lamp  14
         byte          lm15      = 53;    //digital input number warning lamp  15
        //Номера входов контрольных дверей
         byte          dfl       = 38;    //digital input number front left  door lamp  [24]
         byte          dfr       = 40;    //digital input number front right door lamp  [25]
         byte          drl       = 42;    //digital input number rear  left  door lamp  [26]
         byte          drr       = 44;    //digital input number rear  right door lamp  [27]
         byte          dtr       = 46;    //digital input number trunk            lamp  [28]
                  
         byte          sp_sens   = 6;     //PPR speed sensor
         byte          ds_pin    = 22;    //digital input number DS18B20
         byte          refr      = 20;    //data period, ms
//******************************************************************************************************
         unsigned long sp_mult   = 0;     //freq to speed
volatile unsigned long millis_t  = 0;           
//******************************************************************************************************
volatile unsigned long micros_sp = 0;
volatile byte          sz        = 0;     //zero counter
volatile unsigned long sp        = 0;     //speed
volatile boolean       st        = false; //trigger
//******************************************************************************************************
volatile unsigned long micros_th = 0;
volatile byte          tz        = 0;     //zero counter
volatile unsigned int  th        = 0;     //rpm
volatile boolean       tt        = false; //trigger
//******************************************************************************************************
OneWire ds(ds_pin);                       //initialization OneWire
volatile unsigned int  ds_tm     = 0;     //temp DS18B20
         unsigned long millis_ds = 0;
         const int     ds_upd    = 1000;  //read period DS18B20, ms
//******************************************************************************************************
volatile unsigned int  vo        = 0;     //voltage
volatile unsigned int  fu        = 0;     //fuel
volatile unsigned int  tm        = 0;     //coolant temp
byte                   GrB       = 0;
String                 Gr        = " ";   //gear
String                 Out       = "";    //data string
//******************************************************************************************************
void setup(){
  Serial .begin(115200);                  //serial port RX0/TX0(USB terminal)
  Serial2.begin(115200);                  //serial port RX2/TX2(ESP8266, HLK-RM04, DT-06) 
  attachInterrupt(0, spd, FALLING);       //speed sensor interruption
  attachInterrupt(1, tah, RISING);        //tahometr interruption
  sp_mult = 3600000/sp_sens;              //freq to speed
  pinMode (skin, OUTPUT);   digitalWrite(skin, HIGH);
  pinMode (trip, OUTPUT);   digitalWrite(trip, HIGH);
  tone(21,200);
}
void loop(){
  DallasRd();
  refresh();   
}
void refresh(){                           //read inputs
  if((millis() - millis_t) >= refr){
    millis_t = millis();
    vo = analogRead(volt);
    fu = analogRead(fuel);
    tm = analogRead(temp);
    
    switch ((digitalRead(gP) << 4)
         +  (digitalRead(gN) << 3)
         +  (digitalRead(gD) << 2)
         +  (digitalRead(gL) << 1)
         +  (digitalRead(g2))){
      case 16: Gr = "P"; break;
      case 8:  Gr = "N"; break;
      case 4:  Gr = "D"; break;
      case 2:  Gr = "L"; break;
      case 1:  Gr = "2"; break;
    }
    //******************************************************************** 
    Out += (sp / 100) % 10;                //speed        [0]
    Out += (sp / 10)  % 10;
    Out += (sp)       % 10;
    Out += ",";
    //********************************************************************
    Out += (th / 10000) % 10;              //rpm          [1]
    Out += (th / 1000)  % 10;               
    Out += (th / 100)   % 10;
    Out += (th / 10)    % 10;
    Out += (th)         % 10;
    Out += ",";
    //********************************************************************
    Out += (vo / 1000) % 10;               //voltage      [2]
    Out += (vo / 100)  % 10;
    Out += (vo / 10)   % 10;
    Out += (vo)        % 10;
    Out += ",";
    //********************************************************************
    Out += (fu / 1000) % 10;               //fuel         [3]
    Out += (fu / 100)  % 10;
    Out += (fu / 10)   % 10;
    Out += (fu)        % 10;
    Out += ",";
    //********************************************************************
    Out += (tm / 1000) % 10;               //coolant temp [4]
    Out += (tm / 100)  % 10;
    Out += (tm / 10)   % 10;
    Out += (tm)        % 10;
    Out += ",";
    //********************************************************************
    Out += analogRead(cren); Out += ",";  //analog sensor00 [5]
    Out += analogRead(diff); Out += ",";  //analog sensor01 [6]
    
    Out += analogRead(an00); Out += ",";  //analog sensor00 [7]
    Out += analogRead(an01); Out += ",";  //analog sensor01 [8]
    Out += analogRead(an02); Out += ",";  //analog sensor02 [9]
    Out += analogRead(an03); Out += ",";  //analog sensor03 [10]
    
    Out += "0,0,0,0,";                   //[11],[12],[13],[14]
    //********************************************************************
    if(ds_tm > 295){
      Out += "   ";
    }else{
      Out += (ds_tm / 100) % 10;
      Out += (ds_tm / 10)  % 10;           //temp DS18B20   [15]
      Out += (ds_tm)       % 10;
    }
    Out += ",";
    //********************************************************************
    Out += Gr;                             //gear           [16]
    Out += ",";
    //********************************************************************
    Out +=   digitalRead(igni);            //ignition        [0]
    Out +=   digitalRead(loli);            //                [1]
    //********************************************************************
    Out +=   digitalRead(revr);            //revers lamp     [2]
    //********************************************************************
    Out += ( digitalRead(trnL)             //left turn       [3]
        +    digitalRead(trnR) * 2);       //right turn
    //********************************************************************
    Out += ( digitalRead(ligh)             //parking lights  [4]
        +    digitalRead(hili) * 2);       //high beam
    //********************************************************************
    Out += ( digitalRead(fogF)             //front fog lights[5]
        +    digitalRead(fogR) * 2);       //rear fog lights
    //********************************************************************
    Out +=  !digitalRead(skin);            //                [6]
    Out +=  !digitalRead(trip);            //                [7]
  
    Out +=  !digitalRead(lm00);             //input warning lamp     0 [8]
    Out +=  !digitalRead(lm01);             //input warning lamp     1 [9]
    Out +=  !digitalRead(lm02);             //input warning lamp     2[10]
    Out +=  !digitalRead(lm03);             //input warning lamp     3[11]
    Out +=  !digitalRead(lm04);             //input warning lamp     4[12]
    Out +=  !digitalRead(lm05);             //input warning lamp     5[13]
    Out +=   digitalRead(lm06);             //input warning lamp     6[14]
    Out +=   digitalRead(lm07);             //input warning lamp     7[15]
    Out +=   digitalRead(lm08);             //input warning lamp     8[16]
    Out +=   digitalRead(lm09);             //input warning lamp     9[17]
    Out +=   digitalRead(lm10);             //input warning lamp    10[18]
    Out +=   digitalRead(lm11);             //input warning lamp    11[19]
    Out +=   digitalRead(lm12);             //input warning lamp    12[20]
    Out +=   digitalRead(lm13);             //input warning lamp    13[21]
    Out +=   digitalRead(lm14);             //input warning lamp    14[22]
    Out +=   digitalRead(lm15);             //input warning lamp    15[23]

    Out +=  !digitalRead(dfl);              //front left  door lamp   [24]
    Out +=  !digitalRead(dfr);              //front right door lamp   [25]
    Out +=  !digitalRead(drl);              //rear  left  door lamp   [26]
    Out +=  !digitalRead(drr);              //rear  right door lamp   [27]
    Out +=  !digitalRead(dtr);              //trunk            lamp   [28]
    
    Out += ":\n";
    Serial .print(Out);
    Serial .flush();
    Serial2.print(Out);
    Serial2.flush();
    if(tz != 0){tz--;}else{th = 0;};
    if(sz != 0){sz--;}else{sp = 0;};
    Out = String("");   
  }
}
//******************************************************************************************************
void spd(){                               
  if(!st){micros_sp = micros();}
  else{
    sp = (sp_mult/(micros() - micros_sp));
  }
  st = !st;
  sz = 30;
}
//******************************************************************************************************
void tah(){                               
  if(!tt){micros_th = micros();}
  else   {th = (30000000/(micros() - micros_th));}
  tt = !tt;
  tz = 30;
}
//******************************************************************************************************
int DallasRd(){
  byte data[2];
  if ((millis() - millis_ds) > ds_upd){
    ds.reset();
    ds.write(0xCC);
    ds.write(0xBE);
    data[0] = ds.read();
    data[1] = ds.read();
    int16_t tm = (data[1] << 8) | data[0];
    ds_tm = (tm / 16) + 200;
    millis_ds = millis();
    ds.reset();
    ds.write(0xCC);
    ds.write(0x44, 1);
  }
}
код не мой, вопрос в том, что как с платы Mega2560 + Wifi выводить информацию, модуль встроенный в плату прошить на Wifi-uart, но во первых андроид устройства не все подключаются , во вторых приложение Venator не хочет иметь связь с этим модулем .
прикреплю само приложение, все коды, надеюсь , что кто то сможет уделить мне времени и объяснить начинающему
Возможно мой пост будет кому то полезен и кто то тоже захочет собрать вместе со мной такое решение приборной панели
 

Вложения

  • Лойс +1
Реакции: ОлеG

Константин 2010

✩✩✩✩✩✩✩
7 Апр 2019
17
2
у меня давно уже все работает. мало того перевел все на шину. кому интересно спрашивайте помогу чем могу. есть куча шильдов . одно время было интересно этим заниматься разводил платы в Easy EDA и заказывал в китае.
 
  • Лойс +1
Реакции: ph3z

ph3z

✩✩✩✩✩✩✩
14 Апр 2022
0
1
@Константин 2010, друг спасай. Столько всего перерыл и понял тема где то в 2019 померла. А ты тут в 2022.
Короче собрал макетку проверил работает. Потом убил пару ардиун.
Теперь делаю шилд под лут. А потом возможно и под заказную плату с китая.
Можешь поделиться готовыми проектами?
И самое главное я как понял ты прикрутил can ?? А есть поддержка k-line ?
Любая новая информация по этой теме будет полезна. А то планшет куплен, ардуинка хрен знает какая по счету почти куплена. А все это валяется уже полгода и приходится ездить с куском от родной панели.
 
  • Лойс +1
Реакции: nnm4

Константин 2010

✩✩✩✩✩✩✩
7 Апр 2019
17
2
у меня не совсем can-шина, у меня старая крайслеровская шина can-bus. с не сложнее. прилепить можно любую шину. только нужно эту шину разложить на пакеты.понять какой пакет за что отвечает и прописать это все в скетче. лучше звони. писать долго. 89505051564
 

ph3z

✩✩✩✩✩✩✩
14 Апр 2022
0
1
Из эбу напрямую меня интересуют температура двс и обороты. Конечно бы было не плохо видеть соотношение смеси, но на венатор такое все равно не вывести. Хотя то что можно вывести на венаторе итак можно по аналогу взять у меня.