Страница 1 из 118 12345671151101 ... ПоследняяПоследняя
Показано с 1 по 10 из 1174
  1. #1
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,382
    Вес репутации
    10

    По умолчанию Панель приборов.

    Выкладываю программу для дублирования параметров автомобильной панели приборов, написаную Urvin . Мной был подправлен только код для arduino. Обработку прерывания для одометра еще не успел поправить
    Программу скачиваем здесь
    Нажмите на изображение для увеличения. 

Название:	modest.jpg 
Просмотров:	11303 
Размер:	49.5 Кб 
ID:	6384

    Перед использованием программы совместно с arduino необходимо изменить следующие настройки (файл torpedo.ini)
    Код:
    [usb]
    useusb=false
    ...
    [com]
    name=Com#
    baudrate=9600
    parity=0
    flowcontrol=0
    databits=8
    stopbits=1
    DTR=false
    RTS=false
    Com# - имя com-порта, на котором работает ардуино. Например, Com4.

    Скетч для Arduino
    PHP код:
    #include <EEPROM.h> 
    // Массив значений по портам 
    byte resultInput[11]; 
    byte i

    void setup() 
    {     
        
    // Обнуление массива значений 
        
    for(i=0i<=10i++) 
          { 
            
    resultInput[i]=0;
          } 
         
        
    // Инициализация цифровых портов 
        
    for(i=2i<=13i++) 
          { 
            
    pinMode(i,INPUT); 
            
    digitalWrite(iHIGH); //Подключить внутренние подтягивающие резисторы
          

         
        
    // Инициализация ком порта 
        
    Serial.begin(9600); 

         
    // привязываем 0-е прерывание к функции interrupt() 
     //   attachInterrupt(0, interrupt, CHANGE); 


    void loop() 

        
    // Сбор данных с пяти АЦП, диапазон значений [0, 255] 
        // 0 - скорость 
        // 1 - тахометр 
        // 2 - температура охлаждающей жидкости 
        // 3 - уровень топлива 
        // 4 - напряжение автомобильной сети 
        
    for(i=0i<=4i++) 
          { 
            
    resultInput[i]=analogRead(i)/4;   
          } 

        
    // Чтение данных одометра из EEPROM 
        
    for(i=0i<=3i++) 
          { 
           
    // resultInput[i+7] = EEPROM.read(i); 
          

         
        
    // Перевод состояний на цифровых входах в общее число 
        // 5 - двоиный код включения лампочек ( 
        // 6 - двоичный код включения лампочек  
        //     + двоичный код включенной передачи (3 старших бита) 
        // 7-10 - текущее значение одометра 

        
    resultInput[5] = digitalRead(2) + 
                 
    digitalRead(3)*
                 
    digitalRead(4)*
                 
    digitalRead(5)*
                 
    digitalRead(6)*16 
                 
    digitalRead(7)*32 
                 
    digitalRead(8)*64
                       
        
    resultInput[6] = digitalRead(9) + 
                 
    digitalRead(10)*
                 
    digitalRead(11)*
                 
    digitalRead(12)*
                 
    digitalRead(13)*16;          

    // Контроль за отключением питания 
            
    if (resultInput[4]<180
            { 
            
    // Запись одометра в энергонезависимую память 
                
    for(i=0i<=3i++) 
                { 
                 
    //     EEPROM.write(i, resultInput[i+7]);    
                

            } 

    // Добавление информации о включенной передаче 
                         
    byte trm=analogRead(5)/4;
                         
    byte gear=0b00100000;       // 1 
                
    if (trm<20)       gear=0;            // N 
                
    else if (trm<60)  gear=0b11100000;   // R 
                
    else if (trm<105gear=0b10100000;   // 5 
                
    else if (trm<145gear=0b10000000;   // 4 
                
    else if (trm<190gear=0b01100000;   // 3 
                
    else if (trm<230gear=0b01000000;   // 2 

                
    resultInput[6] = (resultInput[6] & 0b00011111) | gear// накладываем маску и старшие биты 

                  
    Serial.write(resultInput11);     // Передаем данные из массива в компьютер 
    delay(300);


    //------------------------ Обработка прерываний -----------------------// 
    void interrupt () 


    Схема подключения. При не правильном подключении диодов вы рискуете спалить устройств. По приведенной схеме катоды диодов подключаются к соответствующим индикаторам(лампочкам) со стороны управляющего сигнала. В случаи если индикатор управляется минусом , то в скетче придется проинвертировать соответствующий сигнал.
    Вложение 6388

    Исходник программы для PC
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	CARDUINO_Torpedo.png 
Просмотров:	16558 
Размер:	13.1 Кб 
ID:	6657  
    Вложения Вложения
    Последний раз редактировалось Chip; 19.03.2017 в 02:52.

  2. #2
    Местный
    Регистрация
    13.04.2008
    Возраст
    44
    Сообщений
    120
    Вес репутации
    229

    По умолчанию Re: Панель приборов.

    Хорошо нарисовано!

  3. #3
    Местный Аватар для turyst
    Регистрация
    31.12.2007
    Возраст
    45
    Сообщений
    134
    Вес репутации
    234

    По умолчанию Re: Панель приборов.

    Во, у соседей темка была:

    http://pccar.ru/showthread.php?t=2798

    А ты говоришь бесполезно.

  4. #4
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,382
    Вес репутации
    10

    По умолчанию Re: Панель приборов.

    Будет время допишу, может кому и пригодится.

  5. #5
    Пользователь Аватар для tores
    Регистрация
    08.07.2009
    Возраст
    43
    Сообщений
    50
    Вес репутации
    200

    По умолчанию Re: Панель приборов.

    Попробую сам, используя компоненты, но следить з аразвитием буду тоже.. т.к. у меня машинка не знает что такое OBD

  6. #6
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,382
    Вес репутации
    10

    По умолчанию Re: Панель приборов.

    Можно использавать сигнал с форсунки и сигнал одометра. По этим двум сигналам можно вычислить , расход, скорость и пройденое растояние , можно закладывать сервисный интервал и т.д.
    Датчик топлива можно откалибровать и более точно показывать остаток бензина в баке
    Последний раз редактировалось Chip; 18.07.2009 в 02:06.

  7. #7
    Пользователь
    Регистрация
    02.12.2008
    Возраст
    50
    Сообщений
    26
    Вес репутации
    202

    По умолчанию Re: Панель приборов.

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

  8. #8
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,382
    Вес репутации
    10

    По умолчанию Re: Панель приборов.

    St@rs вроде хочет что то сделать.

  9. #9
    Мониторный Дохтур Аватар для profy5
    Регистрация
    19.06.2007
    Возраст
    60
    Сообщений
    878
    Вес репутации
    399

    По умолчанию Re: Панель приборов.

    давай Э)актуально.......я буду тестером..........помогу жылезками если надо

  10. #10
    Гуру Аватар для St@rz
    Регистрация
    20.06.2008
    Возраст
    50
    Сообщений
    2,293
    Вес репутации
    868

    По умолчанию Re: Панель приборов.

    На днях закончу с доработкой флешек и займусь приборкой.

Страница 1 из 118 12345671151101 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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