Tjena!
Va kul att det är fler som bygger digitala dashboards!
Min historia är att jag ville ha alltid digitalt i bilen för att vara lite "unik".
Min BMW har en Volvo 16v motor med dubbelöverladd(kompressor/turbo) och kör med ett styrsystem som heter MaxxECU.
Det första jag gjorde var väl som dig, att plocka in alla signaler i något lättprogrammerat, så det blev en Arduino UNO. Jag la på en CANBus modul och fick in alla signaler kommunikationsmässigt via ett protokoll från tillverkaren. Sedan överförs signalerna till Datorn via USB->COM(seriell).
.NET Applikation:
Först provade jag .Net på en gammal XP laptop. Och är man van vid .net så går det ganska fort att bara visa en "Screen" med värden som uppdaterar sig. Det tog 2 eftermiddagar att få in allting och lira som jag ville. En "frän font" och lite labels som uppdaterade sig så var saken i princip klar.
Fördelar: Otroligt snabb och enkel programmeringstid med en PC miljö.
Nackdelar: Klumpigt i bilen, behöver extra komponenter för högre spänning, svårare att gömma undan, lång uppstartstid.
Bild:
Raspberry PI Python + OPEN GL:
Efter att ha insett klumpigheten och att jag har flera kompisar som kör samma styrsystem i bilen så letade jag efter en lösning utan att behöva en hel dator! Jag provade Open GL hanteringen i Raspberry PI 1 Rev B+. Den klarade att uppdatera rutor snabbt, men är seriekommunikationen på 115200 bps och full OpenGL så började panelen smålagga. Nu kör jag en Raspberry PI 2 som nyligen släppts, den är imponerande i prestandan. Flyter på nått så enormt! Så jag kör på 10% CPU last vid 50hz uppdatering av värdena, istället för den gamla som bottade direkt. Då har jag även 3st "cylindrar" som dynamiskt anpassar sig och ändrar färg. Jag kör ett bibliotek som heter pi3d och är lite förenklad OpenGL i 3d. Jag var helt nybörjade både på Python och OpenGL 3d, men efter några guider och pi3d exempelkod så rullade allt på fint, är ju mycket likt andra OOP-språk. Det flyter faktiskt på enormt bra när turbons impeller snurrar på i olika hastigheter beroende på laddtryck, samma när spjäll vrider sig på lägesgivare.
Raspberry PI 2:
Fördelar: Mycket för pengarna i detta syfte, ganska snabb uppstart.
Nackdelar: Lite långsammare än .net just i att kordinera upp grafiken på x,y,z positionering.
Bilder:
Tips: Köp absolut ingen Raspberry PI 1, den orkar inte hantera serieporten snabbt samtidigt som grafik, 2an med nya chipset kör den som ingenting! Generellt sett så behövs smartare funktioner/klasser för att kunna arbeta effektivt, tipsar om att tänka till lite redan när man gör den första "gaugen" som skall representeras.
MVH Alex