Go Down

Topic: Arduino to switch HDMI on/off ??? (Read 5 times) previous topic - next topic

Far-seeker


One alternative is to use an HDMI switcher.  You can get these cables for $5-10 from Hong Kong merchants.  Here is the cable sold by an Amazon reseller: http://www.amazon.com/SANOXY-Switch-Switcher-Blu-Ray-HD-DVD/dp/B0040G5KY6/ref=sr_1_2?ie=UTF8&qid=1345843556&sr=8-2&keywords=hdmi+switch+boxes

I would imagine if you open the box, it should be fairly easy to have the arduino control the switcher by simulating the button press with an opto-isolator.


That's a very good suggestion!  It should be cheaper and easier to wire into a switching hub like that one.  The schematics probably aren't easily available, but it should be fairly simple to identify the trace connected to the switch.

However, I would be sure to measue the voltage outputed by the switch before connecting it to an Arduino.  It appears to not have any dedicated power supply. So the voltage levels are likely whatever the manufacturer considered most convenient to get from the HDMI cables, and that could be something either higher or lower than the 5 VDC from an Arduino pin.  At worst that means a bit additional level shifting circuitry, but it's something that should be detemined before connecting the Arduino. 

MichaelMeissner


However, I would be sure to measue the voltage outputed by the switch before connecting it to an Arduino.  It appears to not have any dedicated power supply. So the voltage levels are likely whatever the manufacturer considered most convenient to get from the HDMI cables, and that could be something either higher or lower than the 5 VDC from an Arduino pin.  At worst that means a bit additional level shifting circuitry, but it's something that should be detemined before connecting the Arduino.  

That's the point of using an opto-isolator.  That way there is no electrical connection between the arduino and hdmi switch (opto-isolator is a chip with a LED and a photo-sensor inside, the arduino turns on the LED, and then the photo-sensor closes the circuit on the other side when it senses light).  If it is high voltage, or A/C, you probably want to use a relay instead of opto-isolator.

Otherwise if you connect an Arduino directly to the switch, you need to make sure the grounds are connected, and the voltages are safe, etc.

red_car

Thanks for the replies guys.

Yep..definitely an opto isolator to trigger the circuit.

One thing I did notice about these switches was that they not only switch based on the button, but also if there is only one live input.  Presumably they sense the signal somehow.  Unfortunately this isn't desirable in my case... As this would bypass my Arduino logic.

I might still get one and crack it open... Could still be an option if I can disable the auto switching function.

Re the transistor option... I don't quite understand how this would work.  I can see that it provides a switch but don't quite see how I could use this to pass the signal down the cable. 


Thanks

red_car

Another option I thought of was using a digital switch.. such as this ... http://www.ebay.com/itm/400312722729?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649#ht_1950wt_1095

I could use it to interrupt the data transmission in the cable (seems there are 3 separate data channels in HDMI).

Anyone have experience with this type of digital switch ?  I was looking for an 8 bit one but there don't seem to be any around in the DIP package style.

Far-seeker


That's the point of using an opto-isolator.  That way there is no electrical connection between the arduino and hdmi switch (opto-isolator is a chip with a LED and a photo-sensor inside, the arduino turns on the LED, and then the photo-sensor closes the circuit on the other side when it senses light).  If it is high voltage, or A/C, you probably want to use a relay instead of opto-isolator.

Otherwise if you connect an Arduino directly to the switch, you need to make sure the grounds are connected, and the voltages are safe, etc.


Sorry, I didn't notice the part about the opto-isolator in your initial reply.:smiley-red:  Even so, while the optio-isolator will protect the Arduino there's still no guarentee that 0 to 5 VDC is the proper voltage level for the logic inside the swticher box.  It could easily be higher or lower, so one would want to know this ahead of time so they could setup the opto-isolator circuit on the "recieving side" correctly.


One thing I did notice about these switches was that they not only switch based on the button, but also if there is only one live input.  Presumably they sense the signal somehow.  Unfortunately this isn't desirable in my case... As this would bypass my Arduino logic.

I might still get one and crack it open... Could still be an option if I can disable the auto switching function.


This isn't an insurmountable problem, if you need to bypass the automatic switching logic most likely it could be done simply by cutting the trace(s).  There are also ways to incorporate it into your Arduino control circuit.


Re the transistor option... I don't quite understand how this would work.  I can see that it provides a switch but don't quite see how I could use this to pass the signal down the cable. 


Basically it's the same as putting physical toggle switches, and two attached HDMI connectors, between two HDMI cables.  If the transistor is off, open circuit on all the wires in the cables.  If the transistor is on, it's a conduction path much like a trace or wire.  The only difference is you are using signals from Arduino to control the transistors instead of physically flipping all the those switches.


Another option I thought of was using a digital switch.. such as this ... http://www.ebay.com/itm/400312722729?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649#ht_1950wt_1095


That would function similarly to using individual MOSFET transistors.  The CMOS implementation allows it to work with some analog signals a single MOSFET couldn't, but that's not important when you are just using digital logic.  The main difference would be that less space to implement your logic, because there are four switches packaged together (versus using separately packaged transistors and resistors, although there are ICs that are just multiple FETs or opto-isolators together and resistor arrays and networks).


I could use it to interrupt the data transmission in the cable (seems there are 3 separate data channels in HDMI).


IMHO, I would just switch all the contacts/pins on then HDMI cable at the same time, even if it means a number of opto-isolator or transistors need to be used.  If you just have the data channels turned off the other channels that can cause strange behavior.  For example, the clock used by the data channels will be separate, so if you only switch off the data channels the clock signal will still continue to the cable's ultimate destination.  If you have an extra clock signal coming into your TV (or whatever) it shouldn't cause permentant damage, but it may result in your TV displaying an error message or acting weird.


Go Up