• We recently switched our forum platform. If you experience any issues please email support@crystalfontz.com

Noob looking for information

hag

New member
My idea of fun... i'm a programmer ( Java, C, C++, Assembly, ect ) and wanting to expand into an electronics hobby.

I'd like to create ( several ) lcd screens to monitor my car's audio systems... for example... i'd like to have a cool blue 2x20 pled pop on when i crank the car up and display amp temps, voltage, ect

I'd also like to use a larger lcd and display engine stats: temp, rpm, coolant temp, exhaust temp, airflow, airtemp, ect...

I can code all of this with ease into my box and artificially feed it data... the problems begin to start when i wish to meld the artificial world with the real world.

What do i need to do to get the code from my computer into my car and have it display onto the lcd's?

I realize the answer is quiet complex and long... if you could point me to an amazon book for purchase that would assist and any sample projects i'd greatly appreciate it.

Thanks for the great forum... hopefully i can soon pay it forward.

Hag
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
 
You'll need to pick some hardware to host your code in the car. Like a SBC (single board computer) that has enough I/O to accomodate your peripherals. Analog inputs, if you have analog sensors. Ports for the data and control to the displays. Inputs for sampling the digital sensors, etc., etc.

Then you need to decide on the language to use, and get the assembler/compiler for that processor, although many eval board kits come with the software tools. Then there is the issue of downloading (burning to flash) to the SBC while installed in the vehicle, and debugging in vivo, using a pod connected to a laptop.

One of the challenging aspects of this type of project is that automotive environments are really nasty in terms of power glitches and noise being picked up on your inputs (e.g. spark transients). You need to be carefull to design an overkill power conditioning circuit to keep from zapping your delicate parts with voltage spikes.

I don't know of any book to recommend. The best teacher will be the experience, and the mistakes.
 

IanB

New member
Most modern cars have a diagnostic port which provide all this information from the on-board computer, which includes information such as engine RPM, road speed, air inlet and exhaust temperatures, fuel flow, etc. Probably best find out where that is and try to interface with that, rather than litter the car with a (probably inferior) sensor setup that you need to manage yourself.

The unfortunate thing is that a lot of this information is kept within the industry - it allows (for example) a BMW dealership to offer exclusivity on the ability to diagnose BMW engine computers.

Try Googling for "OBD" - there are some standards already out there.
 

Heffo

New member
Most cars with advanced electrical functions usually have a 'CAN' bus, for example to route signals from the engine mamangemt computer to the dashboard. This is a multi-drop bus so you can easily monitor it. Some of microchip's PIC line of microcontrollers come with CAN capability so interfacing becomes very easy.

The bus routes all sorts of information about the state of the vehicle.
 

hag

New member
i'm one step ahead of you guys, at least in that department... i can indeed pull most of the data needed via the the 3 computers by installing simple "through connectors" to the original wiring harness connectors...

great information on the SBC: any recommendations... at least to give my an idea of what i'm going to work with...

no doubt that getting the code to the sbc should be a simple process via usb port directly from the comp to board...

how do i control the visual display ( lcd ) from the sbc: do i need a graphics controller that is compatible with the SBC and LCD ( too many letters... ahhhh !!! )... if so, could you give me an example sbc, controller, lcd combo ( cheap and simple - that i can fry and so i could buy several to learn with ).

Hag

PS i have read a little about pic controllers... do you think this would be powerful enough to drive the lcd via propriety code...

would... http://www.amazon.com/gp/product/14...=pd_bbs_2/103-2825615-2636648?ie=UTF8&s=books be a good starting point?
 
Last edited:

hag

New member
wow... the avr is sexy... any docs on how to get an lcd to display characters and graphics... i pretty much get the flashing code to the chip... but not how to get grahpics / text displayed... would i have to write the code for each pixel on/off status via the I/O ports of the AVR?

Hag
 

CF Tech

Administrator
We have sample code for both graphic and text displays. It is very bare-bones though.

Most micros (PIC, AVR etc) have libraries for talking to a text (HD44780) LCD easily available.

Talking to a graphic LCD is much more of a challenge.

These companies make libraries, but they do cost:

http://www.ramtex.dk/
http://www.easygui.com/
 

hag

New member
a veritable ( had to look that one up to make sure i spelled it correctly :) ) teradrive of knowledge... thank you very much...

Hag
 

CF Tech

Administrator
Assuming 16 bit color (5r 5g 5b):

320 x 240 x 2 bytes per pixel = 153,600 bytes

That is a healthy amount of RAM for most micros to deal with. You will essentially be forced to work on the memory that is connected to LCD controller . . . which can complicate things.

Unless you use an external bus micro (ARM9?) with a good chunk of RAM hanging off its bus.
 

hag

New member
thanks for the numbers:

its 8bit and has ( 256k bits ) 32K bytes of display memory...

will that be sufficient? or do i need to start researching external bus arch

Hag
 

Heffo

New member
Hi,

I was wondering if you have built any microcontroller based projects before.

I like to build them myself from time to time and I found that as I was getting into them, my projects suffered from massive overkill and feature creep.

If you havn't built anything like this, I would suggest building something simple like a basic mono lcd based unit.

Things start to get really complicated and hard to manage when you start using color LCDs and external memory busses.

My motto with electronics is start simple, get your head around it, and only add what you really can't do without.

Robert
 
Top