Advice on in-car installation

I am building an integration adapter for someone to use their steering wheel audio controls with an aftermarket Panasonic head unit.

I've found the specs for the buttons. They change the resistance between the + and - steering wheel control leads coming off the wiring harness. Easy enough. I built a voltage divider circuit on a breadboard (V+ to 10k, 10k to both the A0 input and to the buttons, buttons to ground) and wrote a sketch to calculate the ideal ADC reading (allowance of +/- 10%) based on the expected resistance of the button. That works (*mostly).

Oddly, there isn't much info on the fancy head unit. It has a navigation input (for a mapping system that was never produced, AFAICT), a system expansion connector (for the iPod, TV/XM tuner, and Bluetooth modules) that I can't find any info on, and a "remote in" lead designated as "not used" in the manual. Turns out, this is just a secondary IR eye input. By using a 3-pin IR receiver and a pulse decoder sketch, I was able to record the sequences that the included remote sends. Then, I "quantized" them to nice round numbers, and successfully played them back on a digital output.

So at this point, I have a regulated high-power 12V PSU running the stereo, connected the Arduino, and I can control the source, mute, volume, and scan. Great.

Now, here's where I ran into some trouble... The mute and volume up buttons have very low resistance (22 and 90 ohms, respectively). The others (200 - 1.15k, and 4.7k at idle) are stable and everything's great. The low two worked fine when I powered the Uno from my computer (4.83v from USB) and an AC-powered hub (almost exactly 5.0v), but when I used a 7805 from the 12V PSU (roughly 5.2v), the mute and vol-up buttons were no longer detected.

My suspicion is that the voltage reference is very critical at low impedances. All my resistors for testing are 1%. I doubt Subaru was that picky, so I'm aiming for stability and accuracy of the ADC to try and tighten up the sample consistency as much as possible. Also, being in Alaska, temperature-dependent drift will need to cope with -20 to 90F ambient or so. So.. external reference, or are there any good tricks to stabilize the internal one?

Car power is probably noisy as hell, so I'm looking for advice on that aspect as well. I would really appreciate recommendations for a good DC-to-DC solution. Using a linear regulator to drop 4-10v is probably not the best option, and I'm not sure if that, alone, would filter enough noise to prevent crashes or analog reference issues. Anyone trod down this path yet?

I will probably implement a transistor power switch controlled by the ACC lead on the harness, so standby power draw is probably a non-issue. The less, the better of course.

I've attached my sketch -- both for the ADC sampling details, or just in case anyone finds it useful.

EDIT: I forgot to mention -- the end goal is to send a PCB design to Express PCB and have the entire thing built into a metal project box hidden behind the console. So, I have complete control over the design and layout for optimization of ground and power, etc. I just need to know what to expect given the relatively harsh operating environment and sensitive analog stages.

PanaIR.ino (7.86 KB)

Can't really figure out your description of the resistive divider you have there - 10k and 22 ohms in the same divider setup sounds unlikely to work to me. Why not use about 1k from 5V to the analog pin and the button pad from there to ground? Why two 10k resistors in the first place? Is anything else connected to the button pad leads?

Car power is probably noisy as hell, so I'm looking for advice on that aspect as well.

Maybe even worse. Here are test specification that tell you what kind of noise to expect:

A very good overview is here (unfortunately in German): de.sci.electronics-FAQ V3.63 Stand: 5.11.23.

MarkT:
Can't really figure out your description of the resistive divider you have there - 10k and 22 ohms in the same divider setup sounds unlikely to work to me. Why not use about 1k from 5V to the analog pin and the button pad from there to ground? Why two 10k resistors in the first place? Is anything else connected to the button pad leads?

I've attached a schematic to clarify. There's only one 10K resistor -- one end is connected to +5v, the other end to both the A0 pin and the button interface. This measures the middle of the voltage divider formed by the 10K resistor (the known quantity) and the button interface (the variable).

I don't know the implementation details of the actual button cluster in the car, but I've set up my breadboard to mimic the behavior. The buttons, with their respective resistances, are all in parallel with a 4.7K idle resistance. When a button is pressed, the total resistance should equal the labels shown in the diagram. (I.E., the button resistors may or may not be the values shown -- but should manifest as that resistance when paralleled with 4.7K.) The circuit in the car may have dual-pole switches to cut between them rather than parallel them. Same end result either way.

Hope that makes sense.

@Udo: Thanks for the reference material links! I'll dig into them this afternoon.

resistiveladder.png