This is my digital gauge project that I'm planning on putting in my 73 Montego. Its powered by an Arduino Mega 2560 R3, Screw terminal shield, an ITDB02 TFT shield and topped of with a Sain Smart 4.3 TFT.
The purpose of this project is to monitor Oil Pressure, Engine Temp, Fuel Pressure and Battery/Alternator Volts. If any one of these being monitored falls within a certain range, the seven segment display on the touch screen will turn red indicating which one is out of range, and a buzzer will sound to get your attention. I soldered in a voltage divider to monitor battery voltage and added a safety relay. If battery volts reach a certain limit, relay will break circuit and ground input pin. Screen will show a warning page for you to check battery before resetting system. Other features I added are RGB Floor lights, a diagnostic page and a option to display pictures. You can adjust the RGB lights to any color and turn lights on and off from the touch screen. Also, it saves the last color used so you don't have to readjust every time you start the car up. The diagnostic page shows voltages coming from sensors into arduino to help with troubleshooting issues. The picture option is being used to display pictures of engine when I was rebuilding it and showing a before and after from the time I pulled motor to when it was put back in. Now when I go to a car show, I can have that showing so people can see the work that was put into it.
Step 1: Arduino Mega 2560 R3
First, I bought this mega from my local Micro Center for roughly $20. I went to How to mechatronics and copied a code from there for touch screen tutorial. I took out things I did not want and kept some things I wanted. Then I programmed some other things I wanted in this project, but the code I copied is the foundation to how this ended up being what it is today. Comparing projects you can see some similarities.
See code below
Step 2: TFT Shield
I highly recommend buying one of these TFT shields if you have a touch screen that runs off of 3.3v. At first I wired mines directly from mega to screen and it worked but, it would leave unwanted pixels on screen because arduino has 5v outputs. This shield has a switch that gives you the option to run off of 5v or 3.3v. I ordered it from Itead.cc and it arrived in a few days. I put switch on 3.3v and the unwanted pixels went away. Now that I have bought this shield, I don't have access to any of the unused pins that I need for external inputs and outputs. I browsed the internet and found a solution.
Step 3: Terminal Shield
I bought this terminal shield from Amazon. It arrived in a few days. Some soldering is required. this allowed me to have access to open pins for other inputs and outputs.
Step 4: 4.3 TFT 480x272
Finally the touch screen. I bought this from Micro Center also. Getting everything to work was a little tricky at first. I emailed sainsmart for them to send me the documents for this screen and none of the information or drivers worked. So back to the internet I go. I went to Rinkydinkelectronics and downloaded libraries from there. I downloaded URTouch, and UFTF. Then add it to current libraries in arduino software. There is a couple of other things to do too but long story short it works now.
Step 6: Fuel Pressure Sensor
Fuel PSI sensor from Amazon. .5v - 4.5v. I have a mechanical pump and carb on my car. Pressure on carb only needs to be 5.5psi. A 30 psi sensor that has a 5v signal was the smallest I could find, but it will work.
Step 7: Car Battery Sensor
To monitor car battery, I created a voltage divider out of a 1k ohm resistor and a 390 ohm resistor. I also added a relay to remove voltage from Arduino when battery voltage is at or above 15.5v which would be like 4.3v to adruino. Its just a safety so that arduino do not receive more than 5v to analog pin. If voltage does reach that point the tft will show a warning screen indicating voltage is above or at 15.5v and to check battery/alternator before resetting system or processor could be damage.
I will up date this as soon as I get it in car and operating. Also when I get a chance to do a video I will add it to this.
Thanks for looking