Voltage Divider - Read/Send Resistor Divider Values

I know it's easy to use a single analog pin to control multiple buttons. Using a voltage divider, each button passes through a resistor of a different value to ground, creating a different analog voltage on a sngle analog input pin. My question is, is it possible to read the resistor divider value into the Arduino and send that same resistor divider value out to another device? If so, what's the best way to do it?

Thanks

You want to read in the analog value from 0 to 1023 and send that # out? Such as 675 for 3.299V.
Or you want to convert that # to a (float) value like 3.299 and send that out?
675 /1023 x 5V = 3.299?

Thanks for the response guys. This is related to another thread I started, but after thinking about it a bit, I believe I got a little ahead of myself. That’s why I started a new thread because I’m not sure it’s even possible. Car SWCs (steering wheel controls) are just resistor networks that give a certain resistance for each radio function. The car radio detects a voltage level based on which circuit is completed by the series of resistors. To figure out what SWC button was press is the easy part, all you have to do is use analogRead, but my question is how do you now get the Arduino to talk the car radio? Isn't the car radio looking for a certain resistance?

"The car radio detects a voltage level based on which circuit is completed by the series of resistors."
You say in the same paragraph that it is expecting a voltage.
So use PWM a low pass filter and create a voltage - or use an external DAC and serially send out a number that will get converted to a voltage.
If you want to fake being a resistor, get a digital potentiometer from maxim-ic or TI or somewhere and control that instead, like a MAX5403.

Sorry about that, that was a error on my part. I actually don't think it detects the voltage level, I believe the car radio detects the resistance and the voltage drops because there is a constant 3.22v on the input wires of the car radio.

It's possible if part of the "divider" located inside radio, one of the resistor let say.
But it would be even easier to manipulate by arduino with resistive network attached to its digital output ports. All you have to figure out, value of individual resistor and associated command.
Than set LOW on output where this resistor connected and thats it.

@Magician, I think you might be on to something because it weird how there is a constant voltage at the input wire of the car radio. It would make sense that the radio itself has a resistor divider because when I hook my multimeter up to the Pac Audio SWI-ECL2 (allows me to control my aftermarket radio) I get higher ohms than what I get from the SWCs themselves.

Getting back to your suggestion, finding out the individual resistor isn't easy because I've been doing exactly that, trying to figure out exactly what resistors were needed that would allow me to hook my SWCs directly up to the car radio for over a week. It just doesn't make any sense.

You can read all about it here: Replace Car Steering Wheel Control Adapter with an Arduino - #11 by system - Project Guidance - Arduino Forum

Name of a topic confused me, better to modify what I say...
What you are trying to build, is interface device (arduino bases) that will
get on input :

"The R-Ladder protocol is the equivalent of the CAN Bus protocol for car but with resistive transmission bus. This technology is especially dedicated to the automotive environment, using different protective methods against noise and interferences. Created to connect and interface all control units, the R-Ladder protocol offers a strong resistance to magnetic fields and other car disturbances."

and send command on output by two wire "unknown?" protocol.

If its true, you have to "hack" this digital output.
I was able to find a link, only guy make hacking with a PIC.

@Magician. Ok I followed that hackaday.com link to that guys project page. I read his entire project notes and looks like all he did was capture IR codes from a remote and dock and then he programed a PIC to sent the captured IR codes via the steering wheel controls. I also read up on the R-Ladder protocol, but I'm not sure how it relates to my project. Can you put it in layman's terms and where did you get the two images from? They look like three different resistive networks circuits for steering wheel interfaces.

This evening when I got home I explored the theory that the car radio might have a resistor divider built-in and I think it does because I was able to control the radio by place resistors between ground and the two remote wires on the car radio. Only one of the wires actually controls the mode function. The other wire controls vol. up, up, down and vol. down. How is this possible?

The pics I posted from:

AZP Shop Hours this weekend (Free Buffalo Pizza too) - New England - LegacyGT.com;
As I have no clue what is you car.

Actually there are a lot of information missing from your end:

  1. Who is the maker of your vehicle, model, year;
    Is it possible for you to find a book with electrical drawings for you car?

  2. "I hook my multimeter up to the Pac Audio SWI-ECL2 (allows me to control my aftermarket radio) I get higher ohms" -
    Do you realize, that device has ACTIVE components inside, and try to measure its resistance is a nonsense?

  3. how did you get this value:
    "a constant 3.22v on the input wires of the car radio."

From previous post:
"I connected my multimeter to the SWI-ECL2 today and looks like the voltage that comes across
the two remote wires is less than 5v".

  1. You always measure voltage/resistance "across"?

In instructions from:
http://www.mp3car.com/fb-documentation-and-tutorials/117074-tutorial-steering-wheel-controls.html

Explicitly says:

"# Connect the negative terminal of your meter to ground. (it's the black probe, as can be seen above) make sure you use a good ground. If you use a poor ground, all your measurements will be bad. A good source for ground is the ground/negative wire feeding the brain in your car.

Connect the positive terminal to the wire you found earlier with your wiring diagram.

Hacking is always not easy, "remote" hacking, I'd say, extremely difficult.

@KE7GKP, yeah but that's input, how about output?

@Magician, thanks I really appreciate your help and suggestions.

  1. I own a 2001 Nissan Maxima SE. This is the SWCs wiring diagram for my car.

These are SWCs wiring diagrams for a 2002 Nissan Maxima. These are more detailed and have more information. The 2001, 2002 and the 2003 Nissan Maxima’s are all the same car.

  1. I wasn’t trying to measure the resistance of active components per say, I was merely trying to confirm information that I knew or that I thoguht I knew. The SWI-ECL2 has three internal resistors that can be selected during the initial programming. Since I used programming setting #3, I knew it was using a 270 ohm resistor. I was trying to figure out what was going on inside of the SWI-ECL2.

Pac Audio has a steering wheel interface calculator here:
http://www.pac-audio.com/support.aspx

  1. To get 3.22v, I connected the negative end of the multimeter probe to ground and the positive probe to each wire independently. Both wires had a constant 3.22v.

  2. Are you saying you think my measurements are bad because I might not be using a poor ground? I thought about that too. The ground that I am using is the same ground that I used to install the radio coming from the wiring harness.

On diagram you posted, there is 5 wire interface for 2001 model,
and 2 wire one for 2002/2003.
What did you mean:
"2001, 2002 and the 2003 Nissan Maxima’s are all the same car."
Looks like it's not.

How many control/interface wires in your car, 2 or 5?

@KE7GKP, Thanks for the suggestions, I'll read up on the mux chip and programmable resistors.

@Magician, I have three control/interface wires in my car. One wire goes to ground. The 2002 and 2003 models have four wires, but that's just because they have a extra button (trip).

ok, so I've been reading up on digital potentiometers (programmable resistors) and looks like that might be the way to go. I also found two examples: http://arduino.cc/en/Tutorial/DigitalPotentiometer and http://www.arduino.cc/en/Tutorial/SPIDigitalPot.

At first I thought about getting the AD5171 that was used in the first example, but once I read up on it, I noticed it's a one-time programmable digital pot. And the AD5206 that's used in the second example is a 6 channel digital pot and I believe I only need 1 channel. I'm leaning towards the MCP41XXX.

Am I missing anything, will I be able to control the resistance the way I want with a digital pot?