crashbumper:
Instead of tapping into my existing wires, should I just cut them, run one side to input, and then output the value to the gauge? Again, for now I just want to datalog, but eventually I'll get rid of my gauges and switch to an LCD display.
There's been several discussions on the forums on that manner, going to a strictly digital display. I say grab some big LCD's from sparkfun, and go to town! Bonus points if somebody figures out HUD on an arduino.
I thought for a minute, you could play multimeter and use a high impedance to drive the arduino, so that the gauges kind-of [but not really] ignore it's presence. It would take some experimenting, but using your 0-90 water temp as a potential example,
Stock:
Sender @ 0 ohms
Sender @ 45 ohms
Sender @ 90 ohms
A bias resistor has to be used to keep the 0 ohm reading from be a dead short. For 12V operation, a 240 ohm resistor is a half-amp when shorted. Thus,
Sender Link @ 240 ohms
Sender Link @ 285 ohms
Sender Link @ 330 ohms
Now assume the gauge's side of the divider is a 150 ohm:
Vout = (240 / (240 + 150)) * 12 = 7.38 volts
Vout = (285 / 285 + 150)) * 12 = 7.86 volts
Vout = (330 / 330 + 150)) * 12 = 8.25 volts
And so on down the line.
Now for the arduino, you have 2 challenges: Keep the voltage under 5 volts, and not affect the gauges.
To keep the volts down (use 2.56 internal reference), say we use a 10k/50k voltage divider:
Vout = (10 / (50 + 10)) * 12 = 2 volts max
But now that voltage divider is sub-dividing the gauge's divider.
Vout = 240 / (240 + ||150 , 60K||) * 12 = 240 / (240 + 149.62) * 12 = (240 / 389.625) * 12 = 7.39 volts (+0.01 volt change)
Vout = 285 / (285 + ||150, 60K||) * 12 = 285 / (285 + 149.62) * 12 = (285 / 434.62) * 12 = 7.87 volts (+0.01 volt change)
Vout = 330 / (330 + ||150, 60K||) * 12 = 330 / (330 + 149.62) * 12 = (330 / 479.62) * 12 = 8.25 volts (no change)
Again, demonstration only. No idea what the values are in the gauges.