Display de Avertizare OBD-II cu ESP32 și Bluetooth pentru Toyota Yaris Cross 2025
Introducere
Acest proiect implementează o unitate autonomă de avertizare OBD-II construită în jurul unei plăci ESP32, a unui display LCD 16×2 cu backpack I2C și a unui adaptor Bluetooth OBD2 ELM327. Sistemul se conectează wireless la vehicul prin portul de diagnosticare, citește parametrii OBD-II, îi evaluează față de praguri de avertizare configurabile și afișează alertele critice pe LCD.
Scopul principal al proiectului este realizarea unui dispozitiv compact și ieftin pentru monitorizarea în automobil, care să avertizeze șoferul asupra unor condiții anormale de funcționare fără a necesita utilizarea unei aplicații de telefon în regim normal.
Proiectul a pornit de la nevoia de a simplifica o versiune mai veche bazată pe CAN cu conexiune prin fir. Față de varianta anterioară, care folosea un controler CAN MCP2515 și conectare directă la magistrala CAN, această versiune elimină complet interfața CAN fizică și se bazează doar pe adaptorul Bluetooth ELM327 conectat la portul OBD-II.
Descriere Generală
Sistemul are trei blocuri funcționale principale:
vehiculul și interfața sa de diagnosticare OBD-II
adaptorul Bluetooth ELM327, care traduce datele vehiculului într-o interfață serială bazată pe comenzi AT
unitatea de avertizare bazată pe ESP32, care gestionează comunicația, procesarea și afișarea
LCD-ul afișează mesaje de avertizare pentru parametri importanți ai motorului și ai sistemului hibrid. Un buton este folosit pentru navigarea alertelor și pentru controlul iluminării de fundal a ecranului.
Diagramă bloc:
Fluxul sistemului:
Adaptorul ELM327 este conectat la portul OBD-II al vehiculului și este alimentat de mașină.
ESP32 se conectează la adaptor prin Bluetooth Classic SPP.
ESP32 trimite comenzi AT și OBD-II, interpretează datele hexazecimale returnate și le convertește în valori fizice.
Firmware-ul compară valorile cu pragurile de avertizare definite.
LCD-ul afișează fie starea curentă de avertizare, fie un ecran de funcționare normală.
Principalii parametri monitorizați:
temperatura lichidului de răcire
temperatura uleiului
turația motorului
viteza vehiculului
nivelul combustibilului
sarcina motorului
tensiunea modulului
temperatura aerului admis
temperatura aerului ambiental
parametri ai bateriei hibride prin cereri UDS specifice Toyota, atunci când adaptorul îi suportă
Hardware Design
Componente
Componentele hardware principale:
ESP32 DevKit v1
adaptor Bluetooth OBD2 ELM327
display LCD 16×2 cu backpack I2C
4 x butoane tactile
PCB universal de prototipare
fire Dupont
Arhitectura Electrică
LCD ``VCC`` la ``5V``
LCD ``GND`` la ``GND``
LCD ``SDA`` la ESP32 ``GPIO21``
LCD ``SCL`` la ESP32 ``GPIO22``
buton între ESP32 ``GPIO26`` și ``GND``
Alocarea GPIO
| Semnal | Pin ESP32 | Descriere |
| LCD SDA | GPIO21 | date I2C |
| LCD SCL | GPIO22 | ceas I2C |
| Intrare buton | GPIO26 | intrare utilizator cu ``INPUT_PULLUP`` |
Comunicarea Bluetooth folosește hardware-ul intern al ESP32 și nu consumă pini GPIO externi.
Alimentare
Alimentarea ESP32 și LCD dintr-un încărcător USB auto
Procedura de Asamblare
Montați headere mamă pentru ESP32 pe PCB-ul de prototipare.
Adăugați condensatoare de decuplare în apropierea liniilor de alimentare ale ESP32.
Adăugați două rezistențe de 10 kOhm de pull-up pe SDA și SCL către 3.3V.
Conectați backpack-ul LCD la 5V, GND, GPIO21 și GPIO22.
Conectați butonul tactil la GPIO26 și GND.
Adăugați opțional un condensator pentru debounce pe intrarea butonului.
Alegeți una dintre cele două metode de alimentare.
Conectați adaptorul ELM327 la portul OBD-II al vehiculului.
Notați numele Bluetooth sau adresa MAC a adaptorului pentru configurarea firmware-ului.
Software Design
Mediul de dezvoltare și biblioteci
Firmware-ul țintește platforma ESP32 și poate fi dezvoltat în Arduino IDE sau PlatformIO.
Bibliotecile și componentele software principale:
``BluetoothSerial`` pentru comunicație Bluetooth
``Wire`` pentru comunicație I2C
o bibliotecă LCD compatibilă cu backpack-ul PCF8574
suport watchdog pentru ESP32
Arhitectura Firmware
Firmware-ul este organizat în jurul următoarelor module logice:
modul de configurare pentru maparea pinilor, setările Bluetooth, intervalele de polling și pragurile de avertizare
driver Bluetooth ELM327 pentru managementul conexiunii și schimbul de comenzi AT
modul de polling OBD pentru PID-uri standard Mode 01 și cereri UDS Toyota opționale
modul de evaluare a avertizărilor
modul de afișare LCD
modul de gestionare a butonului
bucla principală și managementul watchdog-ului
Protocol de Comunicație
ESP32 comunică cu adaptorul ELM327 folosind Bluetooth Classic SPP. Adaptorul acceptă comenzi ASCII AT terminate cu carriage return și returnează răspunsuri ASCII urmate de promptul ``>``.
Protocolul ``ATSP6`` selectează ISO 15765-4 CAN la 500 kbps, potrivit pentru vehiculul țintă.
Achiziția și Parsarea Datelor
Firmware-ul trimite periodic cereri PID OBD-II și parsează răspunsurile hexazecimale.
Exemple:
``0105`` pentru temperatura lichidului de răcire
``010C`` pentru turația motorului
``010D`` pentru viteza vehiculului
``012F`` pentru nivelul combustibilului
``0142`` pentru tensiunea modulului
Exemple de formule:
temperatura lichidului de răcire: ``A - 40``
RPM: ``((A * 256) + B) / 4``
nivel combustibil: ``A * 100 / 255``
Valorile specifice sistemului hibrid Toyota pot fi citite prin cereri UDS, cum ar fi DID-uri personalizate, dar numai dacă adaptorul le suportă corect.
Logica de Avertizare
Sistemul evaluează valorile primite față de praguri configurabile și le clasifică în stări informative, de avertizare sau critice.
Exemple de praguri utilizate:
temperatura lichidului de răcire: informare la 100 C, avertizare la 108 C, critic la 115 C
temperatura uleiului: avertizare la 145 C, critic la 160 C
turația motorului: avertizare la 5500, critic la 6200
nivel combustibil: informare la 20 procente, avertizare la 12 procente, critic la 6 procente
tensiunea modulului: avertizare joasă la 11.8 V, critic joasă la 11.0 V, avertizare înaltă la 15.0 V, critic înaltă la 16.0 V
Algoritmul Principal
Inițializează comunicația serială, LCD-ul, intrarea de buton și watchdog-ul.
Pornește conexiunea Bluetooth către adaptorul ELM327.
Inițializează adaptorul folosind comenzi AT.
Interoghează periodic PID-urile OBD-II.
Interoghează opțional valori UDS specifice Toyota.
Actualizează structura internă de date pentru senzori.
Evaluează avertizările.
Reîmprospătează LCD-ul.
Gestionează butonul și timeout-ul pentru iluminare.
Reconectează automat sistemul dacă legătura Bluetooth se pierde.
Rezultate Obținute
Sistemul propus îndeplinește obiectivul principal de a oferi o arhitectură simplificată pentru un display de avertizare OBD-II destinat unui Toyota Yaris Cross 2025.
Rezultatele principale:
hardware-ul CAN cu fir din versiunea anterioară a fost eliminat
hardware-ul a devenit mai ușor de asamblat și depanat
ESP32 poate comunica indirect cu vehiculul prin adaptorul Bluetooth ELM327
interfața LCD rămâne simplă și ușor de citit în mediul auto
sistemul poate monitoriza atât valori OBD-II standard, cât și anumite valori hibride Toyota atunci când adaptorul le suportă
Limitări așteptate:
latență mai mare decât într-o implementare directă cu MCP2515
dependență de calitatea adaptorului ELM327
posibilă lipsă de suport pentru cereri UDS specifice producătorului la adaptoarele clone ieftine
Concluzii
Acest proiect demonstrează o soluție practică de monitorizare embedded care schimbă viteza brută de comunicație pentru un design hardware mult mai simplu. Abordarea Bluetooth ELM327 este potrivită pentru prototipare rapidă și pentru utilizatorii care doresc o instalare neinvazivă, cu cablare minimă.
Jurnal
| Data | Activitate |
| Săptămâna 1 | Alegerea ideii de proiect și analiza arhitecturii |
| Săptămâna 2 | Selecția componentelor hardware și comparația cu versiunea anterioară cu MCP2515 |
| Săptămâna 3 | Testarea comunicației Bluetooth ELM327 |
| Săptămâna 4 | Implementarea interfeței LCD și a controlului prin buton |
| Săptămâna 5 | Parsarea PID-urilor OBD-II și logica de avertizare |
| Săptămâna 6 | Integrare, testare și documentare |
Bibliografie / Resurse