Arduino Bordcomputer

Mein Auto hat in seiner Basisausstattung leider keinen integrierten Bordcomputer. Außer einer Uhr und dem Kilometerzähler bietet es keinerlei Informationen über das Auto, dessen Status und Verwendung. Aus diesem Grund habe ich mich dazu entschlossen, einen kleinen Bordcomputer auf Basis eines Arduino, eines Bluetooth OBD-Adapters und eines GPS-Empfängers zu konstruieren. Zusätzlich soll es möglich sein, Daten über sämtliche Fahrten zu speichern und über eine PC-Software auszulesen.

Geplante Features

Hardware:

  • Temperaturanzeige (innen, außen, Wasser, Öl)
  • Batteriestatus
  • Spritverbrauchsanzeige
  • Kilometerzähler
  • Drehzahlwarner
  • Wischwasserfüllstandsanzeige
  • Speichern und Aufrufen vergangener Fahrten von und auf SD-Karte
  • FM-Transmitter
  • Fehlercodes auslesen, interpretieren und löschen
  • Touchscreen

PC-Software:

  • Auslesen von SD-Karte / Gerät per USB (zu langsam)
  • Darstellen der Route auf Karte
  • Anzeigen von Routendetails
  • evtl. Speicherung in Datenbank

PC-Software

Die Software wird in Java umgesetzt und erkennt Daten im folgenden Format:

latitude;longitude;dd.mm.yyyy hh:mm:ss;altitude;outer_temperature;mileage;speed
Beispiel: 48.951652;9.503325;26.02.2017 17:16:19;294;22.5;7.44;51

Für die Einbindung von OpenStreetMap in Java kommt der JXMapViewer von msteiger zum Einsatz. Einige nicht benötigte Funktionen wurden entfernt.

Die Software erkennt die SD-Karte anhand der Datei „.BORD“, in der verschiedene Einstellungen gespeichert werden können. Der Einlesevorgang startet automatisch. Wahlweise werden dabei auch alle Daten in die Datenbank geschrieben.

Software auf GibHub: https://github.com/Ditoran/bordcomputer


Arduino

Die Hardware besteht aus zwei Microcontrollern, die über I²C kommunizieren. Der Hauptcontroller steuert das Display und das Bluetooth-Modul an. Im Motorraum befindet sich ein weiterer Controller, der diverse Temperaturdaten übermittelt.

Vorauswahl der Hardware:

  • Arduino Mega / Due
  • 2,8″ TFT Touchscreen von mcufriend
  • OBD2 Bluetooth Modul
  • HC-05 Bluetooth Modul
  • Temperatursensoren