Bordcomputer BMW E30

Servus,

ich habe nebenbei ein anderes Hobby und eine BMW E30-Restauration am laufen.

In dieses Fahrzeug würde ich gerne einen Bordcomputer selbst mit einem arduino realisieren.

Es gibt zwar für dieses Fahrzeug original einen Bordcomputer mit ein paar Features, aber das reicht mir nicht. Zudem bewegen sich diese Gebrauchtteile in einem hohen Preis.
Aus dem Alpina-Bereich (Tunerfirma) gibt es schon fast das was suche, aber die Einbauposition ist recht unkomfortabel. Preis hierfür fängt irgendwo ab 2500,- aufwärts an (nur für Temperatur- und Druckanzeige vom Motor).

Dieses ist ein originales Cockpit mit einem Bordcomputer (rechter roter Rahmen)

In linken Rahmen habe ich die Möglichkeit rote 7-Segmentanzeigen reinzubasteln und im rechten Rahmen könnte ich auch was reinbasteln. Wobei im Rechten Rahmen sogar ein kleiner Touchscreen Platz hätte.

Ich würde gern folgendes anzeigen...
-Aussentemperatur (PT100)
-Motoröltemperatur (Sensor PT100-PT1000)
-Temperatur Öl an der Hinterachse. (Differential)
-Öldruck Motor (Signal im Ohmbereich. Keine 0-20mA oder 0-10V wie es man von einer SPS kennt.)
-Uhrzeit
-Voltanzeige (Spannungsteiler aus 2 Widerständen und einer Z-Diode. Ich rechne mit einer maximalen Spannung von ca. 14V DC)

Das was vielleicht noch als "i-Tüpfelchen" dazu kommen würde, falls möglich:
-G-Sensor
-GPS Ortung (Aktivierung wenn sich das Fahrzeug bewegt/SMS/Email Nachricht)
-Kurvendiagramm z.B. für den Verlauf der Warmlaufphase

Mein Favorit wäre trotzdem eher ein kleiner Touchscreen im rechten Kästchen.
Alternativ auch ein Display ohne Touch, das müsste ich jedoch über einen externen Taster als Digitaleingang umschalten können.
Dazu fällt mir ein originaler Lenkstockhebel mit einem Taster für den originalen Bordkomputer ein. Den kann ich relativ günstig besorgen.

Die Optik steht natürlich auch im Vordergrund. Am liebsten ist eine eher unauffällige Optik.

Ich würde mich über Ideen und Anregungen sehr freuen :slight_smile:

Für Testzwecke ist bereits ein mega mit einem Touchdisplay unterwegs...

Hier ein Foto eines ähnlichen System (Fertigkösung - Einbauort finde ich für meinen Zweck im Lüftungsgitter nicht ideal.)

Arduino ist für mich Neuland. Programmiere eigentlich nur S7 Steuerungen in AWL :confused:

Zum Üben habe ich mir bereits "Hardware" bestellt. Es hat ungefähr einen Tag gedauert, bis ich das hier geschafft habe. Für das display scheint es keine Beschreibung zu geben. Den passenden Quellcode für die Anzeige zu finden war ein kleines Drama. Zudem gibt es auf dem Display-Board auch eine fiese Lötbrücke...

Das habe ich geschaft, mehr war momentan nicht drin und komme momentan auch nicht weiter. Um das Display überhaupt einbauen zu können, müsste das Display "hochkant" eingebaut werden. Schriftgröße, Schriftstil und Symbole sind sehr eingeschränkt. Überhaupt weiß ich nicht, ob es möglich ist, z.B. ein Bild anzuzeigen.
Die Volt/Temp-Anzeige auf dem Bild ist nur ein "Dummy" ohne Funktion. Ist eigentlich nur ein Schrifttest. Die Messung selbst habe ich noch nicht realisiert.

Ich werde wohl weiter üben müssen.

Hier mein Sketch:

#include <UTFT.h>

// Declare which fonts we will be using
extern uint8_t SmallFont[];
extern uint8_t BigFont[];
extern uint8_t SevenSegNumFont[];

UTFT myGLCD(ITDB28,38,39,40,41);

void setup()
{
myGLCD.InitLCD();
myGLCD.clrScr();
}

void loop()
{
myGLCD.setColor(255,0,0);
myGLCD.setBackColor(0,0,0);

myGLCD.setFont(BigFont);

myGLCD.print("Roooooooobert!", CENTER, 20);

myGLCD.print("OO==[][]==OO", CENTER, 60);

myGLCD.setColor(255, 255, 255);

myGLCD.setFont(SmallFont);
myGLCD.print("Das ist ein kleiner Test", CENTER, 110);
myGLCD.print("'Erste Schritte' mit dem Arduino", CENTER, 122);

myGLCD.setColor(255, 255, 255);
myGLCD.setFont(BigFont);
myGLCD.print(" Volt", LEFT, 172);
myGLCD.print("Temp ",RIGHT, 172);

myGLCD.setColor(255, 240, 0);

myGLCD.setFont(SevenSegNumFont);
myGLCD.print("123", LEFT, 190);
myGLCD.print("177", RIGHT, 190);
while(1) {}; // do nothing
}

Robop:
Überhaupt weiß ich nicht, ob es möglich ist, z.B. ein Bild anzuzeigen.

Schau Dir mal das Beispiel UTFT_Bitmap.ino an, könnte funktionieren.