Full FIS maar dan net even anders
Full FIS maar dan net even anders
Lupo en A2 3L hebben denk ik geen can-bus.
Maar ipv can-bus kun je ook een obd2 adapter aan de arduino hangen ( dit heb ik in 1ste instantie ook gedaan maar nu op can-bus ) obd2 arduino interface heb ik nu trouwens over.
aansturing tft is met een arduino . Software zelf geschreven mbv info van internet
Wat ik gedaan heb bij mijn golf5 : bestaande middenstuk ( tft en lampjes ) weggehaald en hierachter een tft geplaatst.
Heb eerst meerdere maanden met een losse tft getest maar vananvond maar een tft in huidige dashboard gebouwd.
Maar ipv can-bus kun je ook een obd2 adapter aan de arduino hangen ( dit heb ik in 1ste instantie ook gedaan maar nu op can-bus ) obd2 arduino interface heb ik nu trouwens over.
aansturing tft is met een arduino . Software zelf geschreven mbv info van internet
Wat ik gedaan heb bij mijn golf5 : bestaande middenstuk ( tft en lampjes ) weggehaald en hierachter een tft geplaatst.
Heb eerst meerdere maanden met een losse tft getest maar vananvond maar een tft in huidige dashboard gebouwd.
Laatst gewijzigd door muurman op 18 sep 2016, 13:59, 2 keer totaal gewijzigd.
Re: Full FIS maar dan net even anders
hmmm plaatje word niet getoond . Wat doe ik fout?
- Johan
- 3L Vriendenteam
- Berichten: 2649
- Lid geworden op: 13 jan 2014, 10:41
- Autotype: Overige autotypes
- Locatie: Noord-Brabant
Re: Full FIS maar dan net even anders
Niet beter te weten heeft elke A2 een Canbus, dus ook de 3L
de Lupo niet.
de Lupo niet.
- Nietsnut
- Vriendelijke beheerder
- Berichten: 6138
- Lid geworden op: 12 jan 2014, 16:35
- Echte naam: Melvin
- Autotype: VW Lupo 1.2TDI
- Productiedatum: 10 jul 1999
- Kilometerstand: 339.863km
- Transmissie: Automaat
- Kleur: Moonsilver - LR7X
- Brandstof: Normale diesel
- Locatie: Zwolle
Re: Full FIS maar dan net even anders
blijkbaar wil het plaatje op de tdi club niet gelinkt worden?muurman schreef:hmmm plaatje word niet getoond . Wat doe ik fout?
Huidig per 21-02-2022: Peugeot e208 GT Vertigo Blauw
Huidig per 09-02-2019: Kia e-Niro BEV https://3lvrienden.nl/viewtopic.php?f=32&t=4105
Ex: 2013 Passat 2.0 TDi DSG Variant http://3lvrienden.nl/viewtopic.php?f=32&t=3644
Ex: 1999 Lupo 3L 98-LZS-3 http://3lvrienden.nl/viewtopic.php?f=32&t=1014
Mijn YouTube kanaal.
Huidig per 09-02-2019: Kia e-Niro BEV https://3lvrienden.nl/viewtopic.php?f=32&t=4105
Ex: 2013 Passat 2.0 TDi DSG Variant http://3lvrienden.nl/viewtopic.php?f=32&t=3644
Ex: 1999 Lupo 3L 98-LZS-3 http://3lvrienden.nl/viewtopic.php?f=32&t=1014
Mijn YouTube kanaal.
Re: Full FIS maar dan net even anders
vreemd link naar audi-a2 forum wil wel.Nietsnut schreef:blijkbaar wil het plaatje op de tdi club niet gelinkt worden?muurman schreef:hmmm plaatje word niet getoond . Wat doe ik fout?
- Nietsnut
- Vriendelijke beheerder
- Berichten: 6138
- Lid geworden op: 12 jan 2014, 16:35
- Echte naam: Melvin
- Autotype: VW Lupo 1.2TDI
- Productiedatum: 10 jul 1999
- Kilometerstand: 339.863km
- Transmissie: Automaat
- Kleur: Moonsilver - LR7X
- Brandstof: Normale diesel
- Locatie: Zwolle
Re: Full FIS maar dan net even anders
Ziet er leuk uit, heb je je project ook beschreven? Of moeten we het met deze toch wel summiere info doen?
Huidig per 21-02-2022: Peugeot e208 GT Vertigo Blauw
Huidig per 09-02-2019: Kia e-Niro BEV https://3lvrienden.nl/viewtopic.php?f=32&t=4105
Ex: 2013 Passat 2.0 TDi DSG Variant http://3lvrienden.nl/viewtopic.php?f=32&t=3644
Ex: 1999 Lupo 3L 98-LZS-3 http://3lvrienden.nl/viewtopic.php?f=32&t=1014
Mijn YouTube kanaal.
Huidig per 09-02-2019: Kia e-Niro BEV https://3lvrienden.nl/viewtopic.php?f=32&t=4105
Ex: 2013 Passat 2.0 TDi DSG Variant http://3lvrienden.nl/viewtopic.php?f=32&t=3644
Ex: 1999 Lupo 3L 98-LZS-3 http://3lvrienden.nl/viewtopic.php?f=32&t=1014
Mijn YouTube kanaal.
Re: Full FIS maar dan net even anders
Ik denk post het eerst. Dacht als er interesse is dan meer info.
Je hebt nodig:
Arduino uno
tft parallel ( ik ben begonnen met een 2.4" ( https://opencircuit.nl/Product/10036/2. ... touchpanel ) en nu een 3.5inch inch variant ( http://www.ebay.de/itm/111875574700)
can-bus module https://benselectronics.nl/mcp2515-can- ... iver-spi-/ waarbij ik het 8mhz cristal heb vervangen door een 16mhz
of zoals ik begonnen ben met een obd2 uart voor arduino van sparkfun ( maar die is ongeveer 60,- )
En daarbij dan nog stukje software schrijven. Indien er meer mensen ook ermee bezig willen kunnen we er een gezamelijk project van maken.
Je hebt nodig:
Arduino uno
tft parallel ( ik ben begonnen met een 2.4" ( https://opencircuit.nl/Product/10036/2. ... touchpanel ) en nu een 3.5inch inch variant ( http://www.ebay.de/itm/111875574700)
can-bus module https://benselectronics.nl/mcp2515-can- ... iver-spi-/ waarbij ik het 8mhz cristal heb vervangen door een 16mhz
of zoals ik begonnen ben met een obd2 uart voor arduino van sparkfun ( maar die is ongeveer 60,- )
En daarbij dan nog stukje software schrijven. Indien er meer mensen ook ermee bezig willen kunnen we er een gezamelijk project van maken.
Re: Full FIS maar dan net even anders
arduino code op dit moment ( nog niet netjes )
Code: Selecteer alles
#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
#define GREY 0x5AEB
#define Achtergrond BLACK
#define Voorgrond WHITE
#define Labels MAGENTA
#define Waarden WHITE
#include <mcp_can.h> // can-bus
#include <SPI.h> // f.k. for Arduino-1.5.2
#include "Adafruit_GFX.h"// Hardware-specific library
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
int KleurMeterRand = GREY;
int KleurMeterStreep = WHITE ;
long unsigned int rxId;
unsigned char len = 0;
unsigned char rxBuf[8];
unsigned char rxBufSerieel[16];
//int Ypos=5;
int WaardenGrote=3;
long KmStand=0;
String strSerial="";
String tijd="00:00:00";
String Melding, KnipperLicht,Rem, HexString;
int coolant=0,coolantnew=0, tdruk=0, rpm=0,rpmnew=0 , snelheid=0, SnelheidVorig=0, olie=0,olienew=0 , brandstof=0;
int teller35b , teller351 ;
int uur , minuut , seconde ;
int Scherm=1;
// Meter
float M_SIZE=1;
float Yoffset=3.5;
float Xoffset=1;
float ltx = 0; // Saved x coord of bottom of needle
uint16_t osx = M_SIZE*120, osy = M_SIZE*120; // Saved x & y coords
uint32_t updateTime = 0; // time for next update
int MeterMin=-90 ,MeterMax=90;
int old_analog = -999; // Value last displayed
int value[6] = {0, 0, 0, 0, 0, 0};
int old_value[6] = { -1, -1, -1, -1, -1, -1};
int d = 0;
int NeedleMin=-180;
int NeedleMax=180;
int i2 ;
int j=0;
MCP_CAN CAN0(10); // Set CS to pin 10
void TFTprint(int X, int Y, uint16_t Kleur ,int tsize, String txt)
{
tft.setTextSize(tsize);
tft.setTextColor(Kleur);
tft.setCursor(X, Y);
tft.print(txt);
}
void plotNaald(int NaaldPunt, float Xoffset, float Yoffset, float M_SIZE ,char Kleur )
{
float sx = cos((NaaldPunt - 90) * 0.0174532925 );
float sy = sin((NaaldPunt - 90) * 0.0174532925 );
uint16_t x1 = sx * M_SIZE*100 + M_SIZE*120*Xoffset;
uint16_t y1 = sy * M_SIZE*100 + M_SIZE*140*Yoffset;
tft.drawLine(120*Xoffset*M_SIZE, 140*Yoffset*M_SIZE, x1, y1, Kleur);
}
void plotKorteNaald(int NaaldPunt, float Xoffset, float Yoffset, float M_SIZE ,char Kleur )
{
float sx = cos((NaaldPunt - 90) * 0.0174532925 );
float sy = sin((NaaldPunt - 90) * 0.0174532925 );
int tl = 20;
uint16_t x0 = sx * (M_SIZE*100 - tl) + M_SIZE*120*Xoffset;
uint16_t y0 = sy * (M_SIZE*100 - tl) + M_SIZE*140*Yoffset;
uint16_t x1 = sx * M_SIZE*100 + M_SIZE*120*Xoffset;
uint16_t y1 = sy * M_SIZE*100 + M_SIZE*140*Yoffset;
tft.drawLine(x0, y0, x1, y1, Kleur);
}
void streepMeter(float Xoffset,float Yoffset,float M_SIZE,int i,int tl)
{
float sx = cos((i - 90) * 0.0174532925 );
float sy = sin((i - 90) * 0.0174532925 );
//tl = +
uint16_t x0 = sx * (M_SIZE*100 + tl) + M_SIZE*120*Xoffset;
uint16_t y0 = sy * (M_SIZE*100 + tl) + M_SIZE*140*Yoffset;
uint16_t x1 = sx * M_SIZE*100 + M_SIZE*120*Xoffset;
uint16_t y1 = sy * M_SIZE*100 + M_SIZE*140*Yoffset;
tft.drawLine(x0, y0, x1, y1, KleurMeterStreep);
}
void WaardeMeter(float Xoffset,float Yoffset,float M_SIZE,int i,String txt)
{
int tl=15;
float sx = cos((i - 90) * 0.0174532925 );
float sy = sin((i - 90) * 0.0174532925 );
uint16_t x0 = sx * (M_SIZE*100 + tl) + M_SIZE*120*Xoffset;
uint16_t y0 = sy * (M_SIZE*100 + tl) + M_SIZE*140*Yoffset;
uint16_t x1 = sx * M_SIZE*100 + M_SIZE*120*Xoffset;
uint16_t y1 = sy * M_SIZE*100 + M_SIZE*140*Yoffset;
int x = x0-txt.length()/2*18;
TFTprint( x, y0-20,Waarden,2,txt);
}
void analogMeter(float Xoffset,float Yoffset,float M_SIZE)
{
// Draw ticks every 5 degrees from -50 to +50 degrees (100 deg. FSD swing)
for (int i = MeterMin; i < MeterMax; i += 5) {
// Long scale tick length
int tl = 15;
// Coodinates of tick to draw
float sx = cos((i - 90) * 0.0174532925 );
float sy = sin((i - 90) * 0.0174532925 );
uint16_t x0 = sx * (M_SIZE*100 + tl) + M_SIZE*120*Xoffset;
uint16_t y0 = sy * (M_SIZE*100 + tl) + M_SIZE*140*Yoffset;
uint16_t x1 = sx * M_SIZE*100 + M_SIZE*120*Xoffset;
uint16_t y1 = sy * M_SIZE*100 + M_SIZE*140*Yoffset;
// Coordinates of next tick for zone fill
float sx2 = cos((i + 5 - 90) * 0.0174532925);
float sy2 = sin((i + 5 - 90) * 0.0174532925);
int x2 = sx2 * (M_SIZE*100 + tl) + M_SIZE*120*Xoffset;
int y2 = sy2 * (M_SIZE*100 + tl) + M_SIZE*140*Yoffset;
int x3 = sx2 * M_SIZE*100 + M_SIZE*120*Xoffset;
int y3 = sy2 * M_SIZE*100 + M_SIZE*140*Yoffset;
tft.fillTriangle(x0, y0, x1, y1, x2, y2, KleurMeterRand);
tft.fillTriangle(x1, y1, x2, y2, x3, y3, KleurMeterRand);
}
}
// #########################################################################
void MeterWaarde(int vorig,int huidig)
{
int factor = 0.038 ;
if (huidig > vorig)
for ( int j = vorig; j < huidig; j +=1 )
{
//int jj = j * 0.036 - MeterMax;
int jj = j - MeterMax;
plotKorteNaald(jj,Xoffset,Yoffset,M_SIZE,BLUE); }
if (huidig < vorig)
for ( int j = vorig ; j > huidig; j -=1 )
{
//int jj = j * 0.036 - MeterMax;
int jj = j - MeterMax;
plotKorteNaald(jj,Xoffset,Yoffset,M_SIZE,Achtergrond); }
}
void setup()
{
Serial.begin(115200);
// Serial.println("MCP2515 Library Receive Example...");
tft.reset();
uint16_t identifier = tft.readID();
// tft.begin(37697);
//tft.begin(37672); //test
//tft.begin(0x9325); //test
// tft.begin(0x9481); // 0x9488 3.5inch
tft.begin(identifier);
tft.fillRect(0,0,320,480,Achtergrond);
TFTprint(10,10,Labels,2,"Welkom Bestuurder");
TFTprint(10,30,Labels,2,"Gaspedaal zit rechts");
TFTprint(10,50,Labels,2,"Koppeling zit links");
TFTprint(10,70,RED,2,"Rem .. afblijven");
delay(6000);
CAN0.begin(CAN_100KBPS); // init can bus :
scherm1Opbouw();
teller35b = 10;
teller351=10;
KnipperLicht = "<>";
TFTprint(196,430,YELLOW,3,KnipperLicht);
delay(1000);
TFTprint(196,430,Achtergrond,3,KnipperLicht);
analogWrite(A5,1023);
}
void scherm1Opbouw()
{
tft.fillRect(0,0,320,480,Achtergrond);
TFTprint(5,50,Labels,2,"Coolant/Oil");
TFTprint(5,85,Labels,2,"Turbo");
TFTprint(130,85,Labels,2,"Fuel");
TFTprint(5,125,Labels,2,"RPM");
M_SIZE=1;
Yoffset=2.9;
Xoffset=1.2;
analogMeter(Xoffset,Yoffset,M_SIZE);
for (int i = 0; i < 5000; i += 100)
{
j = i * 0.036 - MeterMax;
int tl = 10;
if ( i == 1000 or i == 1500 or i == 2000 or i == 2500 or i == 3000 or i == 3500 or i == 4000 ) {tl=20;}
if ( i == 2500) {WaardeMeter(Xoffset,Yoffset,M_SIZE,j,"2500");}
streepMeter(Xoffset,Yoffset,M_SIZE,j,tl);
}
}
void scherm1Waarden()
{
CAN0.readMsgBuf(&len, rxBuf); // Read data: len = data length, buf = data byte(s)
rxId = CAN0.getCanId(); // Get message ID
if ( rxId == 0x10 )
{
// vanaf andere arduino
}
if ( rxId == 0x621 )
{
// byte 0 handrem geeft 20
// ook wellicht deur
TFTprint(190,85,Achtergrond,WaardenGrote,String(brandstof));
brandstof = rxBuf[3] ;
bitWrite(brandstof,7,0);
TFTprint(190,85,Waarden,WaardenGrote,String(brandstof));
TFTprint(210,150,Achtergrond,6,"T");
if ( brandstof < 6 ){TFTprint(210,150,RED,6,"T");}
}
if ( rxId == 0x35B )
{
// byte 7 brandstof sinds motor aan
TFTprint(26,430,Achtergrond,4,"C");
if ( rxBuf[6] == 66 ) { TFTprint(26,430,YELLOW,4,"C"); } // cruise aan
teller35b = teller35b + 1;
if (teller35b > 5 )
{
teller35b = 0;
coolantnew = (rxBuf[3]-32)/1.8;
if (coolant-coolantnew>2 or coolant-coolantnew<2 )
{
TFTprint(146,50,Achtergrond,WaardenGrote,String(coolant));
coolant=coolantnew;
TFTprint(146,50,Waarden,WaardenGrote,String(coolant));
}
rpmnew = 0.25*(256*rxBuf[2]+rxBuf[1]);
if (rpmnew-rpm>20 or rpmnew-rpm<20 )
{
TFTprint(60,125,Achtergrond,WaardenGrote,String(rpm));
MeterWaarde(rpm * 0.036,rpmnew * 0.036);
rpm=rpmnew;
if ( rpm < 4000 && rpm > 1700) {TFTprint(60,125,Waarden,WaardenGrote,String(rpm));}
if ( rpm < 1700 ) {TFTprint(60,125,YELLOW,WaardenGrote,String(rpm));}
if ( rpm > 4000 ) {TFTprint(60,125,MAGENTA,WaardenGrote,String(rpm));}
}
}
}
if ( rxId == 0x555 )
{
TFTprint(70,85,Achtergrond,WaardenGrote,String(tdruk));
tdruk = rxBuf[4];
TFTprint(70,85,Waarden,WaardenGrote,String(tdruk));
olienew = (rxBuf[7]-32)/1.8;
if (olienew-olie>2 or olienew-olie<2)
{
TFTprint(196,50,Achtergrond,WaardenGrote,String(olie));
olie=olienew;
TFTprint(196,50,Waarden,WaardenGrote,String(olie));
}
}
if ( rxId == 0x351 )
{
teller351=teller351+1;
if (teller351 > 2)
// if ( SnelheidVorig != snelheid )
{
teller351=0;
snelheid=(rxBuf[2]*256+(rxBuf[1]-1))/200;
//MeterWaarde(SnelheidVorig,snelheid);
TFTprint(100,350,Achtergrond,6,String(SnelheidVorig));
TFTprint(100,350,Waarden,6,String(snelheid));
SnelheidVorig = snelheid;
}
}
if ( rxId == 0x65D )
{
TFTprint(5,12,Achtergrond,3,String(KmStand));
KmStand=(rxBuf[3]*65536+rxBuf[2]*256+rxBuf[1]);
TFTprint(5,12,Waarden,3,String(KmStand));
uur=00 ; minuut=00 ; seconde=00 ;
bitWrite(uur,4,bitRead(rxBuf[6],0));
bitWrite(uur,3,bitRead(rxBuf[5],7));
bitWrite(uur,2,bitRead(rxBuf[5],6));
bitWrite(uur,1,bitRead(rxBuf[5],5));
bitWrite(uur,0,bitRead(rxBuf[5],4));
bitWrite(minuut,5,bitRead(rxBuf[6],6));
bitWrite(minuut,4,bitRead(rxBuf[6],5));
bitWrite(minuut,3,bitRead(rxBuf[6],4));
bitWrite(minuut,2,bitRead(rxBuf[6],3));
bitWrite(minuut,1,bitRead(rxBuf[6],2));
bitWrite(minuut,0,bitRead(rxBuf[6],1));
// bitWrite(seconde,5,bitRead(rxBuf[7],4));
// bitWrite(seconde,4,bitRead(rxBuf[7],3));
// bitWrite(seconde,3,bitRead(rxBuf[7],2));
// bitWrite(seconde,2,bitRead(rxBuf[7],1));
// bitWrite(seconde,1,bitRead(rxBuf[7],0));
// bitWrite(seconde,0,bitRead(rxBuf[6],7));
TFTprint(216,12,Achtergrond,3,tijd);
tijd = String(uur) + ":" + String(minuut) ;
TFTprint(216,12,Waarden,3,tijd);
}
if ( rxId == 0x531 )
{
TFTprint(6,430,Achtergrond,4,Melding);
TFTprint(196,430,Achtergrond,6,KnipperLicht);
if ( ( rxBuf[1] == 0x11 ) or ( rxBuf[1] == 0x51 ) )
{
KnipperLicht = "<";
TFTprint(196,430,YELLOW,6,KnipperLicht);
}
if (( rxBuf[1] == 0x12 ) or ( rxBuf[1] == 0x52 ) )
{
KnipperLicht = ">";
TFTprint(196,430,YELLOW,6,KnipperLicht);
}
if ( rxBuf[0] == 0x0 )
{
Melding = "L";
TFTprint(6,430,RED,4,Melding);
}
if ( rxBuf[0] == 0xc3 )
{
Melding = "L";
TFTprint(6,430,GREEN,4,Melding);
}
}
}
void scherm2Opbouw()
{
tft.fillRect(0,0,320,480,Achtergrond);
TFTprint(5,50,Labels,2,"Coolant/Oil");
TFTprint(5,85,Labels,2,"Turbo");
TFTprint(5,150,Labels,2,"RPM");
}
void scherm2Waarden()
{
CAN0.readMsgBuf(&len, rxBuf); // Read data: len = data length, buf = data byte(s)
rxId = CAN0.getCanId(); // Get message ID
if ( rxId == 0x35B )
{
// byte 7 brandstof sinds motor aan
TFTprint(26,430,Achtergrond,4,"C");
if ( rxBuf[6] == 66 ) { TFTprint(26,430,YELLOW,4,"C"); } // cruise aan
teller35b = teller35b + 1;
if (teller35b > 5 )
{
teller35b = 0;
coolantnew = (rxBuf[3]-32)/1.8;
if (coolant-coolantnew>2 or coolant-coolantnew<2 )
{
TFTprint(146,50,Achtergrond,WaardenGrote,String(coolant));
coolant=coolantnew;
TFTprint(146,50,Waarden,WaardenGrote,String(coolant));
}
rpmnew = 0.25*(256*rxBuf[2]+rxBuf[1]);
if (rpmnew-rpm>20 or rpmnew-rpm<20 )
{
TFTprint(60,150,Achtergrond,6,String(rpm));
rpm=rpmnew;
if ( rpm < 4000 && rpm > 1700) {TFTprint(60,150,Waarden,6,String(rpm));}
if ( rpm < 1700 ) {TFTprint(60,150,YELLOW,6,String(rpm));}
if ( rpm > 4000 ) {TFTprint(60,150,MAGENTA,6,String(rpm));}
}
}
}
if ( rxId == 0x555 )
{
TFTprint(70,85,Achtergrond,6,String(tdruk));
tdruk = rxBuf[4];
TFTprint(70,85,Waarden,6,String(tdruk));
olienew = (rxBuf[7]-32)/1.8;
if (olienew-olie>2 or olienew-olie<2)
{
TFTprint(196,50,Achtergrond,WaardenGrote,String(olie));
olie=olienew;
TFTprint(196,50,Waarden,WaardenGrote,String(olie));
}
}
if ( rxId == 0x351 )
{
teller351=teller351+1;
if (teller351 > 2)
// if ( SnelheidVorig != snelheid )
{
teller351=0;
snelheid=(rxBuf[2]*256+(rxBuf[1]-1))/200;
//MeterWaarde(SnelheidVorig,snelheid);
TFTprint(80,350,Achtergrond,10,String(SnelheidVorig));
TFTprint(80,350,Waarden,10,String(snelheid));
SnelheidVorig = snelheid;
}
}
if ( rxId == 0x65D )
{
TFTprint(5,12,Achtergrond,3,String(KmStand));
KmStand=(rxBuf[3]*65536+rxBuf[2]*256+rxBuf[1]);
TFTprint(5,12,Waarden,3,String(KmStand));
uur=00 ; minuut=00 ; seconde=00 ;
bitWrite(uur,4,bitRead(rxBuf[6],0));
bitWrite(uur,3,bitRead(rxBuf[5],7));
bitWrite(uur,2,bitRead(rxBuf[5],6));
bitWrite(uur,1,bitRead(rxBuf[5],5));
bitWrite(uur,0,bitRead(rxBuf[5],4));
bitWrite(minuut,5,bitRead(rxBuf[6],6));
bitWrite(minuut,4,bitRead(rxBuf[6],5));
bitWrite(minuut,3,bitRead(rxBuf[6],4));
bitWrite(minuut,2,bitRead(rxBuf[6],3));
bitWrite(minuut,1,bitRead(rxBuf[6],2));
bitWrite(minuut,0,bitRead(rxBuf[6],1));
// bitWrite(seconde,5,bitRead(rxBuf[7],4));
// bitWrite(seconde,4,bitRead(rxBuf[7],3));
// bitWrite(seconde,3,bitRead(rxBuf[7],2));
// bitWrite(seconde,2,bitRead(rxBuf[7],1));
// bitWrite(seconde,1,bitRead(rxBuf[7],0));
// bitWrite(seconde,0,bitRead(rxBuf[6],7));
TFTprint(216,12,Achtergrond,3,tijd);
tijd = String(uur) + ":" + String(minuut) ;
TFTprint(216,12,Waarden,3,tijd);
}
if ( rxId == 0x531 )
{
TFTprint(6,430,Achtergrond,4,Melding);
TFTprint(196,430,Achtergrond,6,KnipperLicht);
if ( ( rxBuf[1] == 0x11 ) or ( rxBuf[1] == 0x51 ) )
{
KnipperLicht = "<";
TFTprint(196,430,YELLOW,6,KnipperLicht);
}
if (( rxBuf[1] == 0x12 ) or ( rxBuf[1] == 0x52 ) )
{
KnipperLicht = ">";
TFTprint(196,430,YELLOW,6,KnipperLicht);
}
if ( rxBuf[0] == 0x0 )
{
Melding = "L";
TFTprint(6,430,RED,4,Melding);
}
if ( rxBuf[0] == 0xc3 )
{
Melding = "L";
TFTprint(6,430,GREEN,4,Melding);
}
}
}
void logserieel()
{
Serial.println("");
Serial.print(rxId,HEX);
Serial.print(",");
for(int i = 0; i<len; i++) // Print each byte of the data
{
if(rxBuf[i] < 0x10) // If data byte is less than 0x10, add a leading zero
{
Serial.print("0");
}
Serial.print(rxBuf[i],HEX);
Serial.print(",");
}
}
void logscherm()
{
// TFTprint(0,265,Achtergrond,2,HexString);
// HexString = String(rxBuf[0], HEX) + " "+String(rxBuf[1], HEX) + " "+String(rxBuf[2], HEX) + " "+String(rxBuf[3], HEX) + " "+String(rxBuf[4], HEX) + " " + String(rxBuf[5], HEX) + " " + String(rxBuf[6], HEX) + " " + String(rxBuf[7], HEX) ;
// TFTprint(0,265,Waarden,2,HexString);
}
void loop()
{
if ( analogRead(A5) == 0 )
{
Scherm++ ;
delay(500);
analogWrite(A5,1023);
tft.fillRect(0,0,320,480,Achtergrond);
if ( Scherm == 3 ){Scherm = 1;}
if (Scherm == 1 ) { scherm1Opbouw(); }
if (Scherm == 2 ) { scherm2Opbouw(); }
}
if (Scherm == 1 ) { scherm1Waarden() ; }
if (Scherm == 2 ) { scherm2Waarden() ; }
}
Laatst gewijzigd door 3L-Emiel op 18 sep 2016, 22:33, 1 keer totaal gewijzigd.
Reden: (modedit) ik had niet zo veel geduld. :)
Reden: (modedit) ik had niet zo veel geduld. :)
- Nietsnut
- Vriendelijke beheerder
- Berichten: 6138
- Lid geworden op: 12 jan 2014, 16:35
- Echte naam: Melvin
- Autotype: VW Lupo 1.2TDI
- Productiedatum: 10 jul 1999
- Kilometerstand: 339.863km
- Transmissie: Automaat
- Kleur: Moonsilver - LR7X
- Brandstof: Normale diesel
- Locatie: Zwolle
Re: Full FIS maar dan net even anders
Er is hier altijd interesse voor dit soort leuke dingen, we hebben zelfs een codebox om code netjes in te kunnen plaatsen om aan te duiden dat het code is. Zei ik al dat we een codebox hebben?
Zet maar eens een filmpje online wat je tft kan.
Zet maar eens een filmpje online wat je tft kan.
Huidig per 21-02-2022: Peugeot e208 GT Vertigo Blauw
Huidig per 09-02-2019: Kia e-Niro BEV https://3lvrienden.nl/viewtopic.php?f=32&t=4105
Ex: 2013 Passat 2.0 TDi DSG Variant http://3lvrienden.nl/viewtopic.php?f=32&t=3644
Ex: 1999 Lupo 3L 98-LZS-3 http://3lvrienden.nl/viewtopic.php?f=32&t=1014
Mijn YouTube kanaal.
Huidig per 09-02-2019: Kia e-Niro BEV https://3lvrienden.nl/viewtopic.php?f=32&t=4105
Ex: 2013 Passat 2.0 TDi DSG Variant http://3lvrienden.nl/viewtopic.php?f=32&t=3644
Ex: 1999 Lupo 3L 98-LZS-3 http://3lvrienden.nl/viewtopic.php?f=32&t=1014
Mijn YouTube kanaal.
Re: Full FIS maar dan net even anders
U roept wij draaienNietsnut schreef: Zet maar eens een filmpje online wat je tft kan.
https://goo.gl/photos/zs9LM3BFGwnLr3RU6
- Nietsnut
- Vriendelijke beheerder
- Berichten: 6138
- Lid geworden op: 12 jan 2014, 16:35
- Echte naam: Melvin
- Autotype: VW Lupo 1.2TDI
- Productiedatum: 10 jul 1999
- Kilometerstand: 339.863km
- Transmissie: Automaat
- Kleur: Moonsilver - LR7X
- Brandstof: Normale diesel
- Locatie: Zwolle
Re: Full FIS maar dan net even anders
Leuk om werkend te zien
Huidig per 21-02-2022: Peugeot e208 GT Vertigo Blauw
Huidig per 09-02-2019: Kia e-Niro BEV https://3lvrienden.nl/viewtopic.php?f=32&t=4105
Ex: 2013 Passat 2.0 TDi DSG Variant http://3lvrienden.nl/viewtopic.php?f=32&t=3644
Ex: 1999 Lupo 3L 98-LZS-3 http://3lvrienden.nl/viewtopic.php?f=32&t=1014
Mijn YouTube kanaal.
Huidig per 09-02-2019: Kia e-Niro BEV https://3lvrienden.nl/viewtopic.php?f=32&t=4105
Ex: 2013 Passat 2.0 TDi DSG Variant http://3lvrienden.nl/viewtopic.php?f=32&t=3644
Ex: 1999 Lupo 3L 98-LZS-3 http://3lvrienden.nl/viewtopic.php?f=32&t=1014
Mijn YouTube kanaal.
Re: Full FIS maar dan net even anders
En natuurlijk hoeft het geen 3.5inch tft zijn.
kleiner kan , maar ook bv 16x2 display kan.
kwestie van software aanpassen
kleiner kan , maar ook bv 16x2 display kan.
kwestie van software aanpassen
- Nietsnut
- Vriendelijke beheerder
- Berichten: 6138
- Lid geworden op: 12 jan 2014, 16:35
- Echte naam: Melvin
- Autotype: VW Lupo 1.2TDI
- Productiedatum: 10 jul 1999
- Kilometerstand: 339.863km
- Transmissie: Automaat
- Kleur: Moonsilver - LR7X
- Brandstof: Normale diesel
- Locatie: Zwolle
Re: Full FIS maar dan net even anders
Werkt dit via je OBD-poort of heb je in de bedrading de K-lijn getapt? En kan dit ook voor andere auto's dan VW?
Huidig per 21-02-2022: Peugeot e208 GT Vertigo Blauw
Huidig per 09-02-2019: Kia e-Niro BEV https://3lvrienden.nl/viewtopic.php?f=32&t=4105
Ex: 2013 Passat 2.0 TDi DSG Variant http://3lvrienden.nl/viewtopic.php?f=32&t=3644
Ex: 1999 Lupo 3L 98-LZS-3 http://3lvrienden.nl/viewtopic.php?f=32&t=1014
Mijn YouTube kanaal.
Huidig per 09-02-2019: Kia e-Niro BEV https://3lvrienden.nl/viewtopic.php?f=32&t=4105
Ex: 2013 Passat 2.0 TDi DSG Variant http://3lvrienden.nl/viewtopic.php?f=32&t=3644
Ex: 1999 Lupo 3L 98-LZS-3 http://3lvrienden.nl/viewtopic.php?f=32&t=1014
Mijn YouTube kanaal.
Re: Full FIS maar dan net even anders
ik gebruik nu canbus en pak deze nu nog achter de radio weg ( ik heb geluk op de infotainment canbus zit bij mij ook veel info )Nietsnut schreef:Leuk om werkend te zien
Met de sparkfun obd2 uart waar ik mee begonnen ben kun je koppelen aan de obd2 poort en dit is dan niet auto specifiek.