Renault Duster (1G) — электроника на DRIVE2

Ошибка Р0113
Здравствуйте!Подскажите утром при прогреве двигателя вылезла ошибка Р0113 и поднялись обороты до 1.500 тысячи.По мере прогрева обороты пришли в норму.Чек не горит.Просканировал елм327.Лямду менял 20-… 
2
Ошибки.
Всем привет, сегодня на холодную загорелась жёлтая пила и моргал чек.После прогрева чек и пила изчезла.Просканировал елм327.Выдал 2 ошибки.Подскажите были у кого данные проблемы?Датчик температуры ме… 
10
+3 фотографии
Подсветка центральных воздуховодов.
Приветствую всех. Пока торпедо опять разобрана, для определенных целей, решил немного поизголяться над воздуховодами центральными. Они не стоковые, а от шнивы. Захотелось попробовать подсветку сделат… 
22
+9 фотографий
Ремонт генератора бош на Реео Дастер
Продолжаем))) выкладываю пока есть время и чтобы помнить когда и что ремонтировал. Начал пищать гена на бортовике и скакал вольтаж. Хотел обойтись малой кровью без снятия генератора. Открутил регулят… 
6
+1 фотография
Промежуточный итог блок для medianav, смазка тросиков КПП, поворотники с дхо
Итак новая запись. 1. На основе множества записей и с большой помощью deepseek, реализовал на свой машине работу гироскопа и температуры на магнитоле. За основу взял https://www.drive2.ru/l/507583771… 
Data void Data() { static byte stmp[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static byte lastSent = 0; static unsigned long lastSend = 0; static byte lastFlag = 0; static bool firstRun = true; static bool anchorSent = false; static bool resetSent = false; static unsigned long lastActionTime = 0; byte dataToSend = 0; String paramName = ""; if (forceUpdate) { lastSent = 0; lastFlag = 0; forceUpdate = false; } if (flag == 1) { dataToSend = engTemp; paramName = "TEMP"; } else if (flag == 2) { if (batVolt == 0) return; dataToSend = batVolt; paramName = "VOLT"; } else if (flag == 3) { dataToSend = fuelInstant; paramName = "FUEL inst"; } else if (flag == 4) { dataToSend = fuelAverage; paramName = "FUEL avg"; } else if (flag == 5) { if (carouselState == 0) { dataToSend = engTemp; paramName = "TEMP(car)"; } else if (carouselState == 1) { if (batVolt == 0) return; dataToSend = batVolt; paramName = "VOLT(car)"; } else if (carouselState == 2) { dataToSend = fuelInstant; paramName = "FUEL inst(car)"; } else { dataToSend = fuelAverage; paramName = "FUEL avg(car)"; } } else return; // Якорь при первом запуске if (firstRun && !anchorSent) { anchorSent = true; stmp[2] = 50; CAN2.sendMsgBuf(0x558, 0, 8, stmp); lastActionTime = millis(); return; } if (firstRun && anchorSent && !resetSent && millis() — lastActionTime > 100) { resetSent = true; stmp[2] = 0xFF; CAN2.sendMsgBuf(0x558, 0, 8, stmp); lastActionTime = millis(); return; } if (firstRun && anchorSent && resetSent && millis() — lastActionTime > 100) { firstRun = false; lastSent = dataToSend; lastSend = millis(); stmp[2] = dataToSend; CAN2.sendMsgBuf(0x558, 0, 8, stmp); return; } if (firstRun) return; if (lastFlag != flag) { lastFlag = flag; lastSent = dataToSend; lastSend = millis(); stmp[2] = 0xFF; CAN2.sendMsgBuf(0x558, 0, 8, stmp); delay(10); stmp[2] = dataToSend; CAN2.sendMsgBuf(0x558, 0, 8, stmp); return; } if (dataToSend != lastSent || millis() — lastSend > 1000) { lastSent = dataToSend; lastSend = millis(); stmp[2] = dataToSend; CAN2.sendMsgBuf(0x558, 0, 8, stmp); } }
Giroscope //Секция гироскопа #ifdef GIRO void Giroscop(){ static unsigned long previousMillis = 0; static byte del = 0; static int pitch2 = 0; static int roll2 = 0; static byte info44[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; if (packetSize == 0) return; if( millis() — previousMillis >= 100UL ){ previousMillis = millis(); del++; mpuIntStatus = mpu.getIntStatus(); fifoCount = mpu.getFIFOCount(); if ((mpuIntStatus & 0x10) || fifoCount >= 1024) { mpu.resetFIFO(); } else if (mpuIntStatus & 0x02) { while (fifoCount < packetSize) fifoCount = mpu.getFIFOCount(); mpu.getFIFOBytes(fifoBuffer, packetSize); fifoCount -= packetSize; } } if(del >= 2){ del = 0; mpu.dmpGetQuaternion(&q, fifoBuffer); mpu.dmpGetGravity(&gravity, &q); mpu.dmpGetYawPitchRoll(ypr, &q, &gravity); pitch = round(-ypr[1] * 360/M_PI); roll = round(ypr[2] * 360/M_PI); roll2 = roll — corroll; pitch2 = pitch — corpitch; info44[0] = 0x78 + (min(30, max(-30, roll2)) << 1); info44[1] = 0x78 + (min(20, max(-20, pitch2)) << 1); CAN2.sendMsgBuf(0x407, 0, 8, info44); } } #endif
Readcan void ReadCan() { static byte len = 0; static byte rxBuf[8]; static unsigned long rxId; static unsigned long lastCanRead = 0; if (millis() — lastCanRead < 10) return; if (CAN_MSGAVAIL == CAN1.checkReceive()) { lastCanRead = millis(); CAN1.readMsgBuf(&len, rxBuf); rxId = CAN1.getCanId(); // Только ответы от ЭБУ if (rxId == 0x7E8) { handleResponse(rxId, rxBuf, len); } } }
6
Птф
Поставил led птф Пробовал ставить без шайб светят буквально под нос Чуть чуть отрегулировал шайбами в итоге отлично дополняет свет Уже катаюсь 3 дня встречка не моргает Брал на озоне по цене 2500
12
Концевик двери
На днях при езде по нервной дороге заметил что переодически мигает лампа открытой двери и звучит зуммер. Сначала решил, что болезнь известная — замок пятой двери, но при осмотре обнаружил отсутствие… 
5
2 месяца
Зарядка АКБ работает со второго запуска
Всем добра. Появилась у меня специфическая работа зарядки АКБ. Проявляется следующим образом: на холодную запускаю двигатель все системы работают нормально, заряд АКБ есть, проезжаю метров 200-500 пр… 
25
+11 фотографий
Неудавшаяся попытка сделать регулируемую паузу стеклоочистителя.
Всем привет. Вот не знаю зачем, но захотелось вдруг сделать регулируемую паузу дворников. Многие уже реализовали подобное, и информации по этому поводу достаточно. Казалось бы ничего сложного в этом… 
56
Куда делся свет в птф?
После покупки Дастера в этот же день приехал в деревню к родителям и решил поизучать функционал органов управления. Дошел до включения передних противотуманок, пощелкал подрулевом переключателем, но… 
9

Машина

Категории