Thursday 25 April 2019

remote control - How to "push buttons" on voltage ladder?


I have a quite simple task I can't wrap my head around. I have an old home 5.1 sound system with optical input that plays sounds from my media center. Its remote broke, and while I tried to fix it, I understood how much I hate having one more remote on my desk.


I'd like an microcontroller to "push" the required sequence of buttons to wake sound system up and make it switch to desired AV2 audio input.


I found service manual with schematic in PDF, it appears that buttons are just a "voltage ladder":


Compilation from service manual images


The device guesses which button was pressed by measuring the resistance (ranging from 200 Ohm to 1K). In theory I can easily solder 2 wires and apply the required resistance between them myself.


The problem is that I don't really know how to do that.


Do I need to make an array of transistors with similar resistors and close the circuit through required resistor one at a time? But won't the voltage drop on a transistor make this approach impossible?


Or should I use some form of analog output (PWM + "low pass filter")? But won't the voltage of my microcontroller fry the circuit of the audio system?



I can fit a relay board inside, after all, but it is stupid.


Please point me in the right direction.


(as far as I can understand, the circuit operates on 4.8V)



Answer



You have many options open to you, depending on a) how small and discrete you want it to be, and b) what your level of expertise is.


The simplest method is just to use some devices to short out the buttons thus emulating a button press. Options include:



  • Small reed relays

  • NPN transistors

  • Opto-isolators



A more complex option is to replace the whole board with a digital potentiometer. The voltage seen at KEY1 is determined by the ratio of R873 to a combination of R837, R844, R849 and R860. It's basically running as a voltage divider. You can use a digital potentiometer to replace all those resistors and buttons and just set the required resistance to get the right voltage at that pin. You would have to calculate the voltages each combination of resistors would equate to and ensure that the digital potentiometer (or combination of digital potentiometers - you can chain them together to increase resolution) can give an accurate enough voltage for it to be seen as the correct button press, and that very much depends on the device reading the buttons.


Simplest would be little reed relays - fairly discrete and simple to wire up.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...