MCUdude / KTMS1201

A high level Arduino library for the KTM-S1201 LCD module
6 stars 5 forks source link

Less Pins than what you have #1

Open gt3rs40 opened 1 year ago

gt3rs40 commented 1 year ago

Hello :) first of all, thank you very much for your work and this project.

I have a project that is working with a D7225G chip as well, but I don't have the pins N_SCK, SI, CD, RESET, BUSY, CS, but N_SCK, SI, /CS, /BUSY.

The C,/D and RESET pins have electrical continuity and are connected to GND by a 105kOhm resistor.

What do I have to change to make my old LCD work?

Thank you very much

MCUdude commented 1 year ago

Hi!

If you look at the library code, you can see that the C/D pin is high at all times if you're not using custom charcters. If you're able to either connect this to a pin on your Arduino, or pull it high with a resistor (1k or 10k perhaps?), you should be able to get it working with this library. The RESET line also needs to be pulled high for the LCD driver to run. I'll recommend connecting this pin to the microcontroller?

BTW, what kind of hardware is this? It's weird that the C/D and RESET pin isn't available by default

gt3rs40 commented 1 year ago

20230116_alpina_gauge.pdf

Thank you for your reply :) I have worked on some easy arduino projects in the past but I would consider myself a noob in all those tings, so it is kinda tough for me to understand all that^^ I learned about shift registers, so I think I might be able - with some help - to make this project work as I want it to.

The hardware is a 30 year old (but "new" and never used) ALPINA additional oil temperature/pressure gauge for my also 30 year old BMW 3 series. I got this part as a present from a friend. The part is very rare and I was dreaming of getting this part since "ever", but you dont get the controls units, wirings etc. anymore so I was hoping to make it work with a Arduino.

you can see deatails in the attached file which might help here maybe. I only need numbers from 0 to 9, "-" and "."

MCUdude commented 1 year ago

Thank you for your reply :) I have worked on some easy arduino projects in the past but I would consider myself a noob in all those tings, so it is kinda tough for me to understand all that^^ I learned about shift registers, so I think I might be able - with some help - to make this project work as I want it to.

Then this is a great project for you! I created this library ~7 years ago mostly as an exercise in object-oriented programming, and for reading and understanding the technical datasheet.

Luckily the D7225G chip is very simple, compared to other LCD drivers, so it should absolutely be doable!

But are you 100% sure the reset line is pulled down to GND at all times when the board is operating in like BMW intended? When looking at the pictures your sent, it looks like there's a capacitor connected from pin 13 (RESET) to GND. If there is a resistor somewhere else that's connected to VDD, this would slowly rise the RESET pin voltage, which provide a delayed enable signal after the board gets power. This might be true for the C/D line as well.

Can you measure the voltage on the RESET pin (pin 13) and the C/D pin (pin 12) when the board has power?

The datasheet states this:

Function when the μPD7225 is reset
• S0-S31 and COM0-COM3 pins output VDD
• Serial data input −−− Disabled (BUSY = 0) (However, CS = 0)

Which means that the chip can't work when the RESET line is held low.

gt3rs40 commented 1 year ago

But are you 100% sure the reset line is pulled down to GND at all times when the board is operating in like BMW intended

No I 'm not, stupid as I am, I was measuring the Ohm-Value (105kΩ) of the "resistor" between GND and PIN13, probably you are right and it is a capacitor and not a resistor.

I have attached another pdf with better resolution and more data. 20230116_alpina_gauge_2.pdf

Can you measure the voltage on the RESET pin (pin 13) and the C/D pin (pin 12) when the board has power?

Yes I could (see attached PDF), it is 0V

gt3rs40 commented 1 year ago

Hello :) me again... I know it is hard to help me out on this one, but did you have the time to look at the pdf file and maybe have an idea on how to solve my issue? Thank you so much in advance :)