Go Down

Topic: Arduino HDMI input to RGB LED output (Read 8 times) previous topic - next topic

HarringtonG1000

I was wondering if anyone could point me in the right direction with a device concept I had in mind. Essentially, I'd like to use a small Arduino board with an HDMI plug that could receive information from my cable box or XBOX and break that information down into colors that could then be transferred into PWM output to illuminate the LEDs in correct correspondence with the color that would be displayed on the screen. I was figuring I could use a splitter from my Xbox into my LCD and the board simultaneously. Perhaps connect 12 RGB LEDs (with use of 2 shift registers) from Arduino board to the back of my wall-mounted LCD. A very similar idea to the "Ambilight" project, but I'd find doing it this way far more effective and could be applied virtually to anything with an HDMI output.

Any advice or even help coding would be greatly appreciated. Thanks in advance. 

deshi

It's not exactly related to arduino but you could check http://www.overclock.net/t/1347100/diy-rgb-ambilight A user is building a HDMI processor for an ambilight clone using microcontrollers.

wizdum

#2
Jan 22, 2013, 06:46 am Last Edit: Jan 22, 2013, 06:49 am by wizdum Reason: 1
Working with HDMI will be difficult. Its a really high-speed data transfer method, and anti-piracy measures can be a PITA. Since you are essentially attempting to extend the colors from the edge of the screen onto a surface behind it, could you possibly use an array of sensors around the edge of the screen to detect color?

EDIT: Also, there are ways to get the xbox to output both HDMI and composite video. Either with direct hacking of the console, or with an external box (usually used for splitting the video signal so it can be recorded, some TVs have this built in). Composite would be a lot easier to work with.
"Anyone who isn't confused really doesn't understand the situation."

Electronic props for Airsoft, paintball, and laser tag -> www.nightscapetech.com

AWOL

Quote
Composite would be a lot easier to work with.

Component would be better, but neither is really Arduino territory.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

deshi

#4
Jan 28, 2013, 06:43 am Last Edit: Jan 28, 2013, 08:11 am by deshi Reason: 1
HDCP shouldn't be an issue IMHO (should be checked though). You should receive a 480p signal if you can't negotiate encryption. 480p should be more than enough for an ambilight-ike solution.

My background is in programming so I would be very comfortable with a RGB matrix.... if we could recover a RGB signal from HDMI that would be optimal. A clean in the middle ambilight-like solution.

If you intend to work with HDMI, you should start by trying to understand the protocol and pin out of the cable

- PINS
http://www.hdmi.org/installers/insidehdmicable.aspx
https://en.wikipedia.org/wiki/HDMI

- TMDS signaling
https://en.wikipedia.org/wiki/Transition-minimized_differential_signaling
http://www.ramelectronics.net/tmds.aspx

You should be able to derive RGB information from each TMDS group. However, Arduino IMHO is not suitable for the job since it probably is not fast enough to process HDMI on your time constraint... no lag.

You could try this instead:

http://www.monoprice.com/products/product.asp?c_id=101&cp_id=10114&cs_id=1011410&p_id=8126&seq=1&format=2

it seems to even handle HDCP so you would end up handling the much simpler VGA signaling. I am interested on following your progress.

Or,  HDMI to component if that's what you prefer

http://www.monoprice.com/products/product.asp?c_id=101&cp_id=10114&cs_id=1011410&p_id=8125&seq=1&format=2

Go Up