Skocz do zawartości

Pomocna odpowiedź

Witam ponownie. Wczoraj dotarł enkoder i powoli będę zabierał się za napisanie kodu. Nie mam żadnego doświadczenia ale widziałem na YouTube filmik z kodem do zliczania obrotów z enkodera i wyświetlania ich jako cyfry na wyświetlaczu więc pewnie to będzie coś podobnego. Czytam też podstawy programowania i metodą prób i błędów może uda mi się to zrobić. Póki co zrobię to na tym zestawie mojego syna na UNO (oddam mu potem :)) i jeśli będzie działać tak jak bym chciał to kupię coś małego, może Nano albo coś podobnej wielkości i wrzucę tam ten kod. Na pewno będę prosił o jakieś porady więc z góry dziękuję za pomoc. 

Jeśli chodzi o samochód-jest to Lexus ES 300H z 2021 roku ze Stanów i ma w idiotyczny sposób zablokowane parametry regionalne. W ustawieniach są do wyboru jednostki temperatury w Fahrenheitach i Celsjuszach, tak jak w większości współczesnych samochodów, można wybrać °C, potwierdzić wybór, check box jest zaznaczony przy °C ale temperatura nadal jest w Fahrenheitach. Mile można zmienić na kilometry bez problemu natomiast temperatury nie da się i koniec. Problem jest znany, w Stanach ludzie którzy kupili samochód z rynku kanadyjskiego mają odwrotny problem-nie mogą przełączyć z °C na °F. Nie ma możliwości zmiany czy aktualizacji oprogramowania w serwisie, ani w Stanach ani tym bardziej w Polsce, pytałem o to w dwóch autoryzowanych serwisach Lexusa. Wygląda to na niedopatrzenie w oprogramowaniu ale serwisy tłumaczą to polityką regionalną i mają to gdzieś. Jedyne rozwiązanie to piracka zmiana oprogramowania licznika i modułu klimatyzacji. Robi to kilka firm w Polsce, koszt 4400 zł za oba. Są też filtry CAN do modułu klimatyzacji - rozłącza się linię CAN do modułu i podłącza się ją do tego filtra i temperatura sterowania klimatyzacją jest wyświetlana w °C, natomiast temperatura zewnętrzna na nadal jest w °F. I pewnie klimatyzacja przestaje być widoczna w diagnostyce. Można to kupić za 900 zł w Polsce albo za 100 dolarów w Rosji. 100 dolarów pewnie bym za to zapłacił ale w obecnej sytuacji politycznej nie bardzo da się to kupić. 

(edytowany)

Z CAN miałem na myśli żeby zamiast tego enkodera podłączyć się i nasłuchiwać ramek oraz przeliczone jednostki wyświetlać na twoim wyświetlaczu. Rozumiem że na początek to może być trudne więc póki co niech zostanie wersja enkoderowa a w przyszłości sam uznasz czy warto iść w to dalej. 

Edytowano przez _LM_
  • Lubię! 1
Dnia 25.03.2026 o 04:20, RAF456 napisał:

Są też filtry CAN do modułu klimatyzacji - rozłącza się linię CAN do modułu i podłącza się ją do tego filtra i temperatura sterowania klimatyzacją jest wyświetlana w °C, natomiast temperatura zewnętrzna na nadal jest w °F.

Jest to prawdopodobnie rozwiązanie którym pisze powyżej _LM_.

_LM_ w sumie to fajny pomysł. Można by zamontować w jakimś sensownym miejscu wyświetlacz LCD, resztę układu schować gdzieś w tunelu, odczytywać informacje o temperaturze po CAN, przeliczać je na °C i wyświetlać na tym wyświetlaczu. Faktycznie to dla mnie zbyt trudne ale niestety jestem dość uparty i ambitny więc pewnie z czasem będę chciał spróbować to zrobić, póki co poczytam o tym jeśli znajdę jakieś informacje. Problemem jest tylko brak czasu. 

Przechwycone dane z CAN po przeliczeniu ze °F na °C można by spróbować przesłać po CAN na oryginalny wyświetlacz. Tylko odpowiedni moduł trzeba wpiąć w rozłączoną w tym celu linię CAN.

  • Lubię! 1

@Christophorus nie wiem czy to nie zbyt głęboka ingerencja, natomiast jesli jest dostęp do magistrali, to być może warto zostać przy wersji z dodatkowym wyświetlaczem. GPT:
 

Cytat

W przypadku Lexusa ES 300h (rok 2021, platforma TNGA-K), dane o temperaturze krążą po szynie CAN-BUS (wysoce prawdopodobnie V-CAN lub MS-CAN).

Jeśli Twoim celem jest zmiana wyświetlania z Fahrenheitów na Celsjusze (tzw. konwersja USA -> EU) poprzez ingerencję w ramki CAN, musisz wiedzieć, że same wartości na szynie CAN są zazwyczaj przesyłane w formie surowej (często opartej na skali Celsjusza), a to moduł odbiorczy (zestaw wskaźników lub ekran multimedialny) decyduje o jednostce wyświetlania na podstawie zapisanych w nim ustawień regionalnych (EEPROM/Flash).

Oto konkretne ID CAN, które odpowiadają za temperatury w tym modelu:

1. Temperatura Zewnętrzna (Ambient Temp)

Służy do wyświetlania na desce rozdzielczej i sterowania klimatyzacją.

CAN ID: 0x391

Byte: Zazwyczaj Byte 0 lub Byte 1.

Format: Wartość hex -> Decimal - 40 (standard Toyoty).

Uwaga: Ten sygnał jest często powielany lub filtrowany przez bramkę (Gateway).

2. Temperatura Płynu Chłodniczego (ECT - Engine Coolant)

CAN ID: 0x0B4

Byte: Byte 5

Skalowanie: Wartość (dec) - 40. Przykład: 0x50 (80 dec) - 40 = 40°C.

Częstotliwość: 10-20 ms.

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...