"Analog visare" på Raspberry Pi

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
xl15
Inlägg: 73
Blev medlem: 14 december 2006, 16:02:37
Ort: Lund
Kontakt:

"Analog visare" på Raspberry Pi

Inlägg av xl15 »

Tänkte göra en dash till min bil (amatörbyggd super seven).
Har just nu en 20x4 LCD med diverse info, 3 st stora 7-segmentare till hastighet (Arduinobaserat) och analog varvräknare och laddtrycksmätare.
Tänkte ersätta allt detta och lite till med en Raspberry Pi och någon lämplig HDMI-skärm.
Tänker mig en snygg, konstant bakgrundsbild med rörliga visare.
Har programmerat lite i olika språk men kommer att behöva lära mig mer.
Vilket programmeringsspråk ska jag satsa på?

Inspiration:
http://freedesignfile.com/upload/2012/0 ... oard-3.jpg
Användarvisningsbild
lgrfbs
Inlägg: 6973
Blev medlem: 28 januari 2005, 15:48:53
Ort: X-län
Kontakt:

Re: "Analog visare" på Raspberry Pi

Inlägg av lgrfbs »

Det du känner att du behärskar bäst, så kommer du ingång snabbt. Alla programmeringsspråk jag har använt hittills har kunnat rita på skärmen och beräknar vinklar / ny koordinat för hörn och liknade.
xl15
Inlägg: 73
Blev medlem: 14 december 2006, 16:02:37
Ort: Lund
Kontakt:

Re: "Analog visare" på Raspberry Pi

Inlägg av xl15 »

Jag behärskar nog Visual Basic bäst, även om det var längesedan jag använde det.
Men vill ju inte att dashboarden ska se ut som Windows 95 :)

Har surfat runt lite och Python /Pygame verkar vara vettigt.

Onödigt att lära sig ett helt nytt språk?
Användarvisningsbild
lgrfbs
Inlägg: 6973
Blev medlem: 28 januari 2005, 15:48:53
Ort: X-län
Kontakt:

Re: "Analog visare" på Raspberry Pi

Inlägg av lgrfbs »

Nej, det är inte onödigt att lära sig nya saker.
Hoppas du får till det med skärmen.
xl15
Inlägg: 73
Blev medlem: 14 december 2006, 16:02:37
Ort: Lund
Kontakt:

Re: "Analog visare" på Raspberry Pi

Inlägg av xl15 »

Hittade detta som verkar gjort för mig :)
http://qt-apps.org/content/show.php/Ana ... tent=87780

En Qt-app. Alltså behöver jag Qt.

Men det verkar finnas olika sätt att använda Qt.
Qt via Python med PyQt.
Qt design
Qt creator

Är lite snurrig. Någon som kan reda ut lite?

Bild
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: "Analog visare" på Raspberry Pi

Inlägg av hanzibal »

Vad jag vet är Qt ett grafiklib. Här lite om hur börja använda Qt på RPi:
http://qt-project.org/wiki/RaspberryPi_Beginners_guide

Själv hade jag nog kodat mot Qt i C/C++ men det beror nog mest på att jag fortfarande inte orkat lära mig Python.
kawabonga
Inlägg: 5
Blev medlem: 6 oktober 2011, 12:34:57

Re: "Analog visare" på Raspberry Pi

Inlägg av kawabonga »

Tjena!
Va kul att det är fler som bygger digitala dashboards! :bravo:
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: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:Bild
Bild

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
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: "Analog visare" på Raspberry Pi

Inlägg av hanzibal »

OT: Varför sätta Volvo-motor i en BMW, för att de bara har sugmotorer eller?
xl15
Inlägg: 73
Blev medlem: 14 december 2006, 16:02:37
Ort: Lund
Kontakt:

Re: "Analog visare" på Raspberry Pi

Inlägg av xl15 »

WOW! Det där var bland det coolaste jag sett :)
Känner väl till MaxxECU, mycket kompetent. Körde Megasquirt innan men bytte till original Trionic 5 (har saab-motor) p.g.a. enkelheten med besiktning (avgasvärden) och att man numera man mappa Trionic själv. Det finns många färdiga mjukvaror att ladda in också.

Blir helt klart en Raspberry 2, en kollega körde 1080p och lite annat samtidigt utan tillstymmelse till lagg.
Tänker mig använda Arduinon som datainsamlare och Raspberryn som visare. Kommunikation över serieporten.
Tänker 2D och inte någon superuppdateringsfrekvens.
Användarvisningsbild
gOry
Inlägg: 4809
Blev medlem: 6 juni 2003, 22:41:25
Ort: Stockholm
Kontakt:

Re: "Analog visare" på Raspberry Pi

Inlägg av gOry »

Går det inte plugga in motorstyrningen mot OBD2 läsare? Sen så är det bara tejpa upp en läsplatta på instrumentpanelen och tanka ner en app så är man hemma.. :wink:


hanzibal: Håller med, så fel som de bara kan bli :)
kawabonga
Inlägg: 5
Blev medlem: 6 oktober 2011, 12:34:57

Re: "Analog visare" på Raspberry Pi

Inlägg av kawabonga »

hanzibal skrev:OT: Varför sätta Volvo-motor i en BMW, för att de bara har sugmotorer eller?
Off topic svar:
Mina orsaker var
1. Billigare bygge
2. Tillgänglighet på delar
3. Rätt placering och gött med plats i motorutrymmet = Enklare underhåll/Skruvande
4. Bättre vikt fördelning i.o.m placering
5. Och framför allt för att irritera bmw fantaster (huvud orsaken haha)
gOry skrev:Går det inte plugga in motorstyrningen mot OBD2 läsare? Sen så är det bara tejpa upp en läsplatta på instrumentpanelen och tanka ner en app så är man hemma.. :wink:
Det finns färdiga program till Android som t.ex Torque som kör via en BT modul till telefonen, men själva nöjjet är ju att bygga den själv haha :D

Det är CAN på 2 av pinouten i OBD2 kontakten. Jag provade att programmera det en gång i Java till min Renault Laguna. Funkar fint att få ut värden ur vanliga diagnosuttaget. Kollar man dessutom igenom dokumentationen till Trionic 5.5 som xl15 kör med, så finns det mer godis än OBD2 att läsa ur via CAN som kan va kul att visa. Arduino UNO + CANBus shield funkar fint till ändamålet signalkonvertering om man skall köra med saabs T5/T7 system. Det borde vara det smidigaste sättet att komma i mål!

Alex
xl15
Inlägg: 73
Blev medlem: 14 december 2006, 16:02:37
Ort: Lund
Kontakt:

Re: "Analog visare" på Raspberry Pi

Inlägg av xl15 »

Även om jag är saab-fantast gillar jag volvo-motor-i-bmw-tänket.
På samma sätt som jag gillar chevy v8 i en saab :)

Har funderat på Torque. Körde det på min telefon när arduino-hastighetsmätaren inte fungerade. Bara en mätare som hastighet.
Men jag vill få in mer data än vad som finns i obd2-uttaget. Bränslemängd, avgastemperatur m.m.
Plus "indikatorlampor" för helljus, blinkers o.s.v.
Plus att det är kul att bygga själv.
kawabonga
Inlägg: 5
Blev medlem: 6 oktober 2011, 12:34:57

Re: "Analog visare" på Raspberry Pi

Inlägg av kawabonga »

xl15 skrev: Har funderat på Torque. Körde det på min telefon när arduino-hastighetsmätaren inte fungerade. Bara en mätare som hastighet.
Men jag vill få in mer data än vad som finns i obd2-uttaget. Bränslemängd, avgastemperatur m.m.
Plus "indikatorlampor" för helljus, blinkers o.s.v.
Plus att det är kul att bygga själv.
Om du vill ha in bränsleblandning från en bredbandslambda sensor, så har de flesta 0-5v utsignaler.
För avgastemp som oftast är av typ-K givare, så finns det förstärkare med 0-5v utgång att köpa att använda som konverterare. Då har du 4st analoga ingångar kvar till oljetemp/tryck/bränsletryck/etanolhalt eller vad du nu vill ha på resten :)
Då kan du få in dessa i exempelvis en Arduino och sedan ta resten från styrsystemet via CANBus.

Länk:http://www.rossonex.com/SAAB/Trionic_5.pdf

På sidan 101-105 under "Monitoring realtime data" ser du vad Trionic 5.5 erbjuder. Det är bra många parametrar! Dock får man notera att Saab Trionic 5.5 kör med en gammal konstig CANBus baudrate 615kbit/s som kanske tyvärr inte alla canbus-kretsar stödjer :( Provade en gång för längesen detta till C# och det gick fint med en USB/CAN adapter från lawicel.se (antar att det är samma adapter som du mappar din bil med?) .

Annars får du programmera alla inläsningar av signaler själv via I/O! :)
xl15
Inlägg: 73
Blev medlem: 14 december 2006, 16:02:37
Ort: Lund
Kontakt:

Re: "Analog visare" på Raspberry Pi

Inlägg av xl15 »

Har Innovative bredbandslambda och MAX31855 som fixar avgastempen.

Vilka 4 analoga ingångar menar du?
kawabonga
Inlägg: 5
Blev medlem: 6 oktober 2011, 12:34:57

Re: "Analog visare" på Raspberry Pi

Inlägg av kawabonga »

xl15 skrev:
  Inläggsrubrik:  Re: "Analog visare" på Raspberry Pi  
Har Innovative bredbandslambda och MAX31855 som fixar avgastempen.

Vilka 4 analoga ingångar menar du?
Nä tänkte bara om du skulle ha in dem på en Arduino Uno eller dylikt, brukar väl vara totalt 6st.
Fast MAX31855 kör på SPI-Bus va?

Du får hojta till om du vill "låna lite källkod" till .net C# eller Python.
Kan skicka över något mindre exempel om du vill visa värden och ha något att utgå ifrån.
Skriv svar