Jump to content
LegacyGT.com

Ethanol Content Sensor Read Out?


Recommended Posts

Yeah the JDM STI used to come with a 5MT with DCCD. I bought the center diff section and a MAPDCCD controller on NASIOC and installed them into my original gearbox when I did the front LSD install. All three diffs in my car are upgraded LSDs.
Do you have a thread on this?

 

Sent from my SM-G770U1 using Tapatalk

Link to comment
Share on other sites

Can opensource tune for different ethanol content, did they add flexfuel? I like the ability to put in whatever gas and it adjusts itself on the fly.

 

@Underdog

Do you use opensource or AP?

My ecu doesn't have that patch yet, I have 2 step and flat foot shifting and thats it. Its mainly a money thing for me.

 

Plus im almost done with my car engine wise, all I have left is a cai, twinscroll turbo, and catback exhaust. Then aero and brakes and ill move on to something with a v8 to make more than 500 hp

 

Sent from my SM-G770U1 using Tapatalk

Link to comment
Share on other sites

  • 1 month later...
I've hit a bit of a wall trying to get my Arduino to play nice with the 128x64 OLEDs I bought. First I have to run all the communications through a logic level shifter since the Arduino UNO logic is 5V and the displays use 3.3V, though this is pretty straightforward and just adds a bunch of wires. However I still can't seem to get the screen to display even a basic "Hello World!" type message, so I've had to ask on the Arduino forums. Anyways, it's still fun trying to figure this stuff out, and hopefully I'll have more updates soon!

IMG_2751.thumb.jpg.3faa48fe7ef0ef874277b11b374a964e.jpg

Link to comment
Share on other sites

My main hang up as been getting a code that will actually load to the arduino. I got the fuel pressure sensor part of the code done, I just need to figure out the flex fuel sensor part.

 

In pretty sure that you can just use a 3.3 ohm resistor to drop the voltage to the display

 

Sent from my SM-G770U1 using Tapatalk

Link to comment
Share on other sites

I ended up switching from SPI to I2C and a level shifter that had the necessary pull-up resistors and everything works great now, independently controlling two screens. Going to play with a DS3231 RTC today, and work on the screen formatting a bit.

 

Any idea why your code won’t load to the arduino?

Link to comment
Share on other sites

I ended up switching from SPI to I2C and a level shifter that had the necessary pull-up resistors and everything works great now, independently controlling two screens. Going to play with a DS3231 RTC today, and work on the screen formatting a bit.

 

Any idea why your code won’t load to the arduino?

I also got an i2c, and the code not loading I think comes down to me not having the correct library's installed

 

Sent from my SM-G770U1 using Tapatalk

Link to comment
Share on other sites

I've hit a bit of a wall trying to get my Arduino to play nice with the 128x64 OLEDs I bought. First I have to run all the communications through a logic level shifter since the Arduino UNO logic is 5V and the displays use 3.3V, though this is pretty straightforward and just adds a bunch of wires. However I still can't seem to get the screen to display even a basic "Hello World!" type message, so I've had to ask on the Arduino forums. Anyways, it's still fun trying to figure this stuff out, and hopefully I'll have more updates soon!
Do you have a code to display ethanol content to the lcd yet, or are you just trying to get the arduino wired up at this point.

 

I made another post on the arduino forum to see if someone can point me in the right direction of a simple way to display these functions cause I can't figure it out and other people's codes don't seem to be working

 

Sent from my SM-G770U1 using Tapatalk

Link to comment
Share on other sites

I'm not going to use the display for ethanol % because we don't have e85 around here. I'll be displaying: time/date (from the DS3231 RTC), outside temp (tapped off the factory sensor), intake air temp (tapped of the MAF sensor), and DCCD % lock (5V output signal from my DCCD controller).

 

 

I'm using Wire.h for I2C and U8g2lib.h to drive my screens (they have SSD1309 controllers).

 

 

The constructors for my screens are:

U8G2_SSD1309_128X64_NONAME0_1_HW_I2C oled1(U8G2_R0, U8X8_PIN_NONE);
U8G2_SSD1309_128X64_NONAME0_1_HW_I2C oled2(U8G2_R0, U8X8_PIN_NONE);

The "1" in between "NONAME0" and "HW_I2C" means I'm using page buffering, which dictates how I display to the screens. The “HW_I2C” means I’m using the hardware I2C for my Arduino (the SDA and SCL pins). You can use other pins with software (SW) I2C but you have to assign them in the () of the constructor. U8g2 explains all this in their readme on GitHub.

 

 

My setup code is:

void setup() {
 oled1.setI2CAddress(0x3C * 2); //This is the default address for my display/controller
 oled2.setI2CAddress(0x3D * 2); //This was changed for the 2nd display by soldering a pad on the breakoutboard
 oled1.begin();
 oled2.begin();
 oled1.setFont(u8g2_font_7x14_mf);
 oled2.setFont(u8g2_font_7x14_mf);
 }

And in the loop I basically do whatever operations I need (removed for clarity) then output to the display using a do/while loop with firstPage() and nextPage() (this is because of the page buffering that I mentioned earlier - if I had more RAM I could do full frame buffering, though I don't really need the speed). The following code will display "SCREEN 1" on oled1 and "SCREEN 2" on oled2. I use the refresh# variable so that the display only updates if I've changed something that needs to be displayed, which doesn't happen in this sample code. The refresh variables are set to 1 when I declare them (not shown here), then you can see they are set to 0 after the screen is displayed.

 

void loop() {

 //Draw to screen 1 if refresh1 has been flagged
 if(refresh1 == 1) {
   oled1.firstPage();
   do {
     oled1.drawStr(36,20,"SCREEN 1");
   } while ( oled1.nextPage() );
   refresh1 = 0;
 }

 //Draw to screen 2 if refresh2 has been flagged
 if(refresh2 == 1) {
   oled2.firstPage();
   do {
     oled2.drawStr(36, 20, "SCREEN 2");
   } while ( oled2.nextPage() );
   refresh2 = 0;
 }

 delay(1000);

}

 

If you have the ethanol % stored in a variable (say "ethanol" for example) you could simply replace

oled1.drawStr(36,20,"SCREEN 1");

 

 

with something like

 

oled1.setCursor(0,20);
oled1.print(ethanol);
oled1.print("%");

Edited by Underdog
Link to comment
Share on other sites

  • 2 weeks later...

The clock should be receiving low speed CAN bus data. Not sure if this is the green wire or some other one.

 

 

 

There are libraries that can parse that data and it would be great to be able to pick and choose what screen(s) display at any given moment.

 

 

This looks like amazing project given the size and location of OEM clock assemble and what arduino or Pi4 compute may be able to do.

2005 LGT Wagon Limited 6 MT RBP Stage 2 - 248K

2007 B9 Tribeca Limited DGM - 258K

SOLD - 2005 OB Limited 5 MT Silver - 245K

SOLD - 2010 OB 6 MT Silver - 205K

Link to comment
Share on other sites

It would be awesome if we could use the CAN data going to the original clock. I wouldn't know where to start with that at the moment. Hopefully more knowledgeable folks than myself will get hooked into it. :)

 

Here's my first real mock-up of the screens in place. This is max brightness (spec sheet says 100-120 cd/m^2) and you can see it looks a little purplish due to the polarizer(?) that's attached on the inside of the lens. It looks like the polarizer is heat staked in place, so I'm going to try and remove it next.

 

There was just enough room inside the case to fit the screens and jumper wires. Should be able to massage it a bit as it moves into a finished product.

IMG_2794.thumb.jpg.aa031256aac1a0db4b895b3dce59510d.jpg

IMG_2795.thumb.jpg.23c9b873397c06d2928cab0397a94737.jpg

Link to comment
Share on other sites

Attaching wiring diagrams for 05, looks like the A18 pin on ECM going to pin 5 on Clock is data bus marked UART on the clock. I believe it should be 19200 baud. Not sure if there is everything on that bus - CAN bus on ECM is marked separately.

 

 

Definitely worth checking though. Given the computing power Arduino provides I would try bringing full CAN over from the system even if it requires additional modification to connector. Should be easy to tap at OBDII connector.

 

 

Clock:

 

 

attachment.php?attachmentid=289989&stc=1&d=1612628131

 

Combination Meter:

 

 

attachment.php?attachmentid=289990&stc=1&d=1612628131

ClockWiring01.pdf

CombinationMeterWiring01.pdf

ClockWiring01Pic.thumb.png.504ad82093ed14c289c9387988221cc8.png

CombinationMeterWiring01Pic.thumb.png.079a4b4dfd60c01b0b7982adacedc777.png

Edited by SubOperator

2005 LGT Wagon Limited 6 MT RBP Stage 2 - 248K

2007 B9 Tribeca Limited DGM - 258K

SOLD - 2005 OB Limited 5 MT Silver - 245K

SOLD - 2010 OB 6 MT Silver - 205K

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

Important Information

Terms of Use