DIY controller for a car radio

Hi, I'm new here so have a little bit of patience with me and thanks in advance.
So I have a bit of a problem.
I want to put steering wheel buttons on my car but from a newer model. The buttons operates on resistance, basically there 2 wires with 6 different resistance depending on the button pressed.
So my plan was to get one Arduino nano and programmed it to measure the resistance and turn on different transistors to do different things.
The thing is I don't have enough wires going from the steering wheel to rest of the car through the clock spring and the most I can get is one wire.
So my question is can I transmit data from one Arduino nano to another one to do different things. The data needs to go one way only so I think this is making things easier.
Thanks to all of you in advance.

As far as sending data from one nano to the other, it is possible. One option (my personal favorite) is the i2c bus. If you have never used it before, look up "i2c arduino" on google and get comfortable with it. Before you consider this thread solved however, wait for one of the forums "veterans" to come as they will be able to warn you if your project is not safe/feasible.

Good luck!

1 Like

Does the car you want to add the buttons too, have a STEERING WHEEL AIRBAG?

If so, placing anything on the steering wheel hub will become a projectile and would be illegal to do.

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

No the steering wheel that I want does have airbag and the buttons are on the side, so it's safe.
Steering wheel is from Golf MK6 and it does have airbag and the buttons are from the factory. I won't be making a landmine😁.
I just want to make this buttons work with my car.

I know of the I2C, I have used it before. But I think it's strictly 2 cables and in my case I have only one cable for data transfer.

No, your Arduino measures the VOLTAGE at the point the pin is connected.

Yes I know. It measures the voltage of the voltage divider and can calculate it and print out resistance. It's just easier for me to say resistance, I know it's not correct saying it.

The problem is that makes much of your post subject to only your interpretation, so how can other know what you are meaning?

Hi,

Fine, just make sure you are not compromising anything by fitting it to a different clockspring.

Tom... :smiley: :+1: :coffee: :australia: :australia:

I say it like that because in this case I need to make the Arduino measure or rather calculate the resistance of the buttons. If I were to say measure the voltage of the buttons it would mean a whole different thing. So basically I need to differentiate the buttons based on their output to make the Arduino to different things.

I won't fit new clockspring, that's why I only have one data cable to work with. But don't wory, many people have change the steering wheel like I want to do it and it's safe. They have even test that the airbag opens properly.

Well as an Arduino can only measure voltage, and that is through its ADC, you will have to do that.
Place the buttons in a R-2R potential divider and read voltage drop across the gnd resistor.

Google;

arduino r-2r to decode buttons

Tom.. :smiley: :+1: :coffee: :australia:

Well the problem I'm facing is not connecting the buttons to the Arduino. The buttons are connected to just two wires. Essentially they are connected in parallel and pressing different buttons puts different resistors on the wires. The problem I'm having trouble with and can't figure out is transmitting data or commands from one Arduino to another one with just one wire.

hello! I think you can use the built in UART. just connect the TX pin of the sender to the RX pin of the receiver. Better put a resistor between them and considering the single wire you are planning to use is probably over 1 m long, it's better to use a low Baudrate.

So you are planning on an Arduino on the steering wheel with the buttons, use the single clockspring channel to pass digital data to another Arduino!!!

The button resistor array will need to be connected to vehicle gnd, which should be one of the clockspring channels.
Then connect the other end of the array to an Arduino THROUGH the single clockspring channel that you have.

Then use the Arduino to measure volt drop when any of your buttons is pushed.

Only one Arduino needed and no single wire comms.

Can you please post a diagram of how you have connected your buttons and resistors?

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

1 Like

I will try it as soon as I can, but yeah the cable will be longer than 1m. I will do some testing and see what will happen.

The reason I don't want to do it this way is because I'm afraid that there will be some strange voltage drops and some strange things, after all the whole car electronics areconnected there and there some aftermarket amplifiers in there too. I don't know for certain that this won't work, I need to try it to know for certain.

Fair enough, experiment. :+1: :+1:

Tom.. :smiley: :+1: :coffee: :coffee: :australia:

Sorry if you have already solved this, but I think you can use the IR library but have a wire directly connected instead of a receiver/transmitter pair. (I have not tested this though, so you would have to do that). So , you could have different HEX code packets the library sends mean different button pushes.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.