Hallo zusammen,
ich dachte ich stelle hier mal kurz meine Eigenbau-Lösung zur Öltemperatur-Überwachung vor.
Wollte keinen extra Thread hierfür aufmachen.
Oberstes Ziel für mich war, keine extra Anzeige für die Öltemperatur im Auto installieren zu müssen. Wollte auf keinen Fall die serienmäßige Optik vom Interieur irgendwie "kaputtmachen".
Ich habe mir daher überlegt, die Öltemperatur per RDS in's Autoradio einzuspeisen.
Diese Idee ist nicht wirklich neu - es gab vor Jahren zu diesem Zweck schon mal ein Modul beim Conrad.
Habe die Idee aber noch etwas weitergesponnen... dazu gleich mehr.
Basis für die Lösung ist ein ganz normaler NTC-Öltemperatur-Sensor von VDO, den ich mit einem Sandwich-Plate-Adapter verbaut habe. Dessen Signal verwerte ich mit einem Arduino Uno und einer eigenentwickelten Software auf diesem. Um die Information jetzt per RDS auf einer bestimmten UKW-Frequenz in's Autoradio einzuspeisen, damit sie dort dann auf dem Display angezeigt wird, habe ich mir bei adafruit.com deren FM-Transmitter-Shield besorgt, das nicht nur Audio auf einer UKW-Frequenz senden, sondern eben auch RDS-Text auf derselben Frequenz übertragen kann.
Ich habe das Shield dann einfach auf eine UKW-Frequenz eingestellt, die ohnehin von keinem Radiosender in Gebrauch ist, und sende auf dieser die aktuelle Öltemperatur per RDS-Text.
Es wird nur der RDS-Text gesendet, kein Audiosignal, d. h. es ist stumm auf der Frequenz (bis auf ein gewisses minimales Rauschen, was aber ja normal ist).
Für den Arduino habe ich mir ein Gehäuse besorgt, ihn sauber darin verstaut und die Box auf der Beifahrerseite unter'm Amaturenbrett angebracht.
Natürlich verlangt die Lösung, dass ich zum Sichten der Öltemperatur kurz den Radiosender wechseln muss bzw. überhaupt erst mal auf die UKW-Quelle wechseln muss.
Deshalb habe ich noch etwas weitergemacht und das Ganze folgendermaßen erweitert:
Ich habe mir noch das SmartWAV-Arduino-Shield geholt.
Mit diesem Shield lassen sich Wave-Audiodateien von seiner SD-Karte abspielen. Das Shield hat einen Line-Out per Klinke, den ich einfach mit dem Line-In des FM-Transmitter-Shields verbunden habe.
Ich habe hierzu allerdings schlussendlich kein (wenn auch kurzes) 3,5mm-Klinkenkabel verwendet, sondern die Klinken-Sockel gleich ausgelötet und eine direkte Draht-Verbindung zwischen den Platinen hergestellt. So braucht das Ganze einfach weniger Platz.
Meine Arduino-Software habe ich dann so erweitert, dass bei Erreichen einer gewissen Öltemperatur (80°) das TA-Flag (Traffic Assist) gesetzt wird. Das sorgt dafür, dass - egal welche Quelle gerade am Autoradio eingestellt ist - auf die UKW-Quelle gewechselt wird. Anschließend spiele ich dann einfach über das SmartWAV-Shield ein kurzes Wave-File ab, das mich darüber informiert, dass das Motoröl jetzt die Betriebstemperatur erreicht hat.
Anschließend "entferne" ich das TA-Flag wieder und das Radio wechselt zur vorherigen Quelle zurück. Ich simuliere also quasi eine Verkehrsdurchsage.
Das Ganze funktioniert aber natürlich nur deshalb, weil ich auf der UKW-Quelle am Radio immer meine "Öltemperatur-Frequenz" eingestellt lasse und ohnehin nie UKW-Radio, sondern immer nur DAB, USB oder CD höre.
Ich muss allerdings ehrlicherweise dazu sagen, dass ich eben meistens DAB höre.
Wenn ich die DAB-Quelle eingestellt habe, schaltet zumindest mein Pioneer-Radio trotz des UKW-TA-Flags nicht auf die UKW-Quelle um. Aber gut, ist ja auch logisch, weil ich höre ja gerade schon Radio, wo ich Verkehrsfunk ohnehin mitbekommen würde.
Wirklich funktionieren tut die Umschaltung bei meinem Radio (und wahrscheinlich bei den meisten Radios mit UKW und DAB) nur dann, wenn ich CD oder USB höre.
Aber damit kann ich leben - ich höre halt dann meistens solange, bis die Öltemperatur hoch genug ist und die Durchsage kommt, CD oder USB und schalte erst dann auf DAB um.
Da ich ohnehin Software-Entwickler bin, war es nicht unbedingt extrem schwierig die Software für den Arduino zu scheiben. Ich muss aber fairerweise dazu sagen, dass man zu den Shields ohnehin fertige Bibliotheken dazu bekommt, die man einfach nur in sein Programm einbinden muss und schon kann man die Shields supereinfach objektorientiert ansteuern. Insgesamt also wirklich kein sehr großes Hexenwerk.
Wenn ich mal irgendwann Zeit und Lust habe, erweitere ich die Lösung noch um ein Shield, mit dem man ein WLAN bereitstellen und TCP/IP-Kommunikation betreiben kann.
Dann muss ich in meiner Arduino-Software nur noch einen kleinen, rudimentären Web-Server implementieren und schon kann man sich z. B. mit einem Handy zu dem WLAN verbinden und die Öltemperatur per Browser und HTTP abrufen.
Das aber einfach nur aus Interesse daran, was so alles möglich bzw. machbar ist -- einen wirklichen Praxisnutzen hat das eigentlich nicht, da man ja ohnehin die RDS-Info hat.
Was haltet ihr von der Lösung?
Arduino
Adafruit FM Transmitter Shield
Vizic SmartWAV Shield