- 
	
	
		Вложений: 4 Панель приборов. 
		Выкладываю программу для дублирования параметров автомобильной панели приборов, написаную Urvin . Мной был подправлен только код для arduino. Обработку прерывания для одометра еще не успел поправить
 Программу скачиваем здесь
 Вложение 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=0; i<=10; i++)
 {
 resultInput[i]=0;
 }
 
 // Инициализация цифровых портов
 for(i=2; i<=13; i++)
 {
 pinMode(i,INPUT);
 digitalWrite(i, HIGH); //Подключить внутренние подтягивающие резисторы
 }
 
 // Инициализация ком порта
 Serial.begin(9600);
 
 // привязываем 0-е прерывание к функции interrupt()
 //   attachInterrupt(0, interrupt, CHANGE);
 }
 
 void loop()
 {
 // Сбор данных с пяти АЦП, диапазон значений [0, 255]
 // 0 - скорость
 // 1 - тахометр
 // 2 - температура охлаждающей жидкости
 // 3 - уровень топлива
 // 4 - напряжение автомобильной сети
 for(i=0; i<=4; i++)
 {
 resultInput[i]=analogRead(i)/4;
 }
 
 // Чтение данных одометра из EEPROM
 for(i=0; i<=3; i++)
 {
 // resultInput[i+7] = EEPROM.read(i);
 }
 
 // Перевод состояний на цифровых входах в общее число
 // 5 - двоиный код включения лампочек (
 // 6 - двоичный код включения лампочек
 //     + двоичный код включенной передачи (3 старших бита)
 // 7-10 - текущее значение одометра
 
 resultInput[5] = digitalRead(2) +
 digitalRead(3)*2 +
 digitalRead(4)*4 +
 digitalRead(5)*8 +
 digitalRead(6)*16 +
 digitalRead(7)*32 +
 digitalRead(8)*64;
 
 resultInput[6] = digitalRead(9) +
 digitalRead(10)*2 +
 digitalRead(11)*4 +
 digitalRead(12)*8 +
 digitalRead(13)*16;
 
 // Контроль за отключением питания
 if (resultInput[4]<180)
 {
 // Запись одометра в энергонезависимую память
 for(i=0; i<=3; i++)
 {
 //     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<105) gear=0b10100000;   // 5
 else if (trm<145) gear=0b10000000;   // 4
 else if (trm<190) gear=0b01100000;   // 3
 else if (trm<230) gear=0b01000000;   // 2
 
 resultInput[6] = (resultInput[6] & 0b00011111) | gear; // накладываем маску и старшие биты
 
 
 Serial.write(resultInput, 11);     // Передаем данные из массива в компьютер
 delay(300);
 }
 
 //------------------------ Обработка прерываний -----------------------//
 void interrupt ()
 {
 }
 
 
 Схема подключения. При не правильном подключении диодов вы рискуете спалить устройств. По приведенной схеме катоды диодов подключаются к соответствующим индикаторам(лампочкам) со стороны управляющего сигнала. В случаи если индикатор управляется минусом , то в скетче придется проинвертировать  соответствующий сигнал.
 Вложение 6388
 
 Исходник программы для PC
 
 
- 
	
	
	
		Re: Панель приборов. 
- 
	
	
	
		Re: Панель приборов. 
		Во, у соседей темка была: 
 
 http://pccar.ru/showthread.php?t=2798
 
 А ты говоришь бесполезно. ;)
 
 
- 
	
	
	
		Re: Панель приборов. 
		Будет время допишу, может кому и пригодится. 
 
- 
	
	
	
		Re: Панель приборов. 
		Попробую сам, используя компоненты, но следить з аразвитием буду тоже..:) т.к. у меня машинка не знает что такое OBD :( 
 
- 
	
	
	
		Re: Панель приборов. 
		Можно использавать сигнал с форсунки и сигнал одометра. По этим двум сигналам можно вычислить , расход, скорость и пройденое растояние , можно закладывать сервисный интервал и т.д.
 Датчик топлива можно откалибровать и более точно показывать остаток бензина в баке
 
 
- 
	
	
	
		Re: Панель приборов. 
		Меня тоже эта тема про приборку давно интересует
 кто бы взялся бы да доделал её
 все датчики ,парктроники,давление в шинах,бортовой комп,навигацию
 что туда можно добавить
 сделать её как дополнительный инфо дисплей
 или как сьёмную ставить прям на в районе обычной нашей панели приборов
 
 
- 
	
	
	
		Re: Панель приборов. 
		St@rs вроде хочет что то сделать. 
 
- 
	
	
	
		Re: Панель приборов. 
		давай Э)актуально.......я буду тестером..........помогу жылезками если надо 
 
- 
	
	
	
		Re: Панель приборов. 
		На днях закончу с доработкой флешек и займусь приборкой.