Go Down

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

HarringtonG1000

I'm fairly sure I've made a break through in my research (about time) and I think I may have figured it out.

At first I decided to take Wizdum's advice and look into a component solution. After hours of reading and reading my head was starting to spin with the terminology, analog conversion, encoders, decoders, video processors... I have read more data sheets today than I think I have ever read in a about a month, but it wasn't a complete waste of time.

Deshi,

I read all of the links you sent. VERY informational. I have a couple for you too, to see if you would confirm my "would-be" solution. Rather than paying close to $35 for a big ugly converter box, I was thinking about going with an HDMI Receiver chip for a few reasons:
1.) It can process the TMDS that Adruino would not be able to handle.
2.) The receiver has multiple output formats (giving us more options) for coding.
3.) Could be mounted via protoshield (I think) and is an internal component (no bulky box).
4.) Costs half the price when said and done.

Of course maybe only half the ports on this thing will actually get used, but that doesn't really matter. This is the product:

http://www.digikey.com/product-search/en?mpart=ADV7611BSWZ-P&vendor=505

This is the datasheet:

http://datasheet.octopart.com/ADV7611BSWZ-P-RL-Analog-Devices-datasheet-10618233.pdf

My thinking is we can use one of these to convert the TMDS into a workable output, then input it into an AtMega328. We then tell the AtMega what pixels where (outter edge) we want it to sample colors from and based on those values designate a series of leds to match that color. Of course, this is way out of my league as a programmer, but the hardware end shouldn't be a problem for me. Let me know if this will work and if you might be able to help me with the coding. Thanks.

P.S. I like your idea about the led matrix. Were you thinking about (for lack of a better word) "unraveling" the led matrix so that it lined the edges behind the flatscreen?

deshi

#6
Jan 31, 2013, 01:43 am Last Edit: Jan 31, 2013, 02:39 am by deshi Reason: 1
I was mooning over a ADV7614 but I only found them on alibaba and aliexpress... if you are able to get them to work they should be a very nice thing as well. It already supports HDMI 1.4.

http://www.analog.com/en/audiovideo-products/analoghdmidvi-interfaces/adv7614/products/product.html
http://ez.analog.com/docs/DOC-1547

http://uk.alibaba.com/trading-search/products/ADV7614/--------------------Y--0.html
http://www.aliexpress.com/item/ADV7614-ADV7614BBCZ-ADV7614BBC-ADI/740714222.html
http://www.aliexpress.com/store/product/ADV7614-ADV7614BBCZ-ADV7614BBC-ADI/505739_740714222.html

As per the Arduino, you should get a faster one to try to keep up with the HDMI throughput. I got a quote "HDMI Rev 1.4 supports bandwidths up to 340 MHz or 3.4 GB for each color, 10.2 GB in total just like Rev 1.3." How fast a micro controller has to be to keep up? Is a DUE 84Mhz enough? We just need to analyze color at the edges.

We can't forget that we will probably need a HDMI splitter: http://www.monoprice.com/products/product.asp?c_id=101&cp_id=10113&cs_id=1011306&p_id=8204&seq=1&format=2

You receive a connection, duplicate it: feed one to the TV and the other to the ambilight processor. Of course, if you are comfortable with ICs, we could just add an additional IC to either HDMI split (split inside the box) or HDMI transmit (reencode the decoded signal). That would make the solution even more compact.

I don't feel confident I could get these ICs to work. I have never tried doing that. :) However, if you have the experience, I can help with coding.

On a side note, there have been some experiments with ADV7611 on the Raspberry Pi forums. They translated the HDMI output of the RPi to control a LCD panel. They have the schematics.

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=41&t=2288&start=25
http://www.raspberrypi.org/phpBB3/viewtopic.php?p=74207#p74207
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=64&t=9982

It could be helpful. Let me know if there is anything I can do to help. I'll try within my limitations (specially hardware wise).

HarringtonG1000

Hello again, Deshi.

I'm pleased to inform you that I am very comfortable with IC's. I looked into the RaspPi as a possible solution and found myself optimistic and frustrated at the same time. Considering they have a library for HDMI output and an HDMI jack, you'd think perhaps they would design it as an input as well. I looked everywhere and it doesn't look like anyone has done it yet. I'm not experienced enough of a programmer to figure that out for myself yet, as I have no background in the Python IDE. I'm thinking if I can prototype a shield for the RaspPi in Eagle, perhaps you could start on a code? The shield concept is to have an HDMI IN (utilizing one of these "splitter chips") to X2 HDMI OUT. Check this puppy out:

http://www.ineltek.com/de/files/Explore/DVIHDCPTXRX/EP9122_UG_V04.pdf

This chip is perfect for the job. I could make the shield so the pins were set from one series of output pins of that IC to the RaspPi it's self. My only question is, would the RaspPi need the signal to be encoded or decoded? I've glazed over the datasheet for this particular IC and I think I saw there was a way to get either one of them, but I'm going to have to dive further into that anyway. Another problem is availability with this IC. I'm going to have to do a lot of looking around to see if I can get my hands on a couple of these without buying 1000+.

So, lets pretend for a second that I have the IC all figured out and mounted to RaspPi. I'm assuming I'd really only have to give you the pin information from the splitter IC to the RaspPi for you to start on a code (in the event that my board in eagle isn't complete). Let's talk LEDs.

I'm thinking if we are going to do this thing, I want to do it the right way. A lot of what you see out there is 3-4 led strips illuminating 3-4 different colors corresponding with the average pixel color on the designated edge and location of the screen. Also, it's not common practice (don't know why) to have leds on the bottom edge of the screen. I don't know about you, but my flat screen in mounted to the wall and I think I could benefit from have some leds on the bottom there. Also, I'd like to have just a little more variety in color. I understand we can't go all out because of limitations in the hardware, but I was thinking 8; 2 per edge. I'd do this by assigning 3 shift registers their own color (green, red, and blue). If I remember correctly, the RaspPi has an oscillator on board, so the leds shouldn't be an issue.

I want to collaborate on this project closer with you. Considering the project is taking a RaspberryPi turn, it would be best if we didn't continue this conversation here. My AIM s/n is Cursedonthe31st

I'm almost always logged into it. A way of corresponding with other computer nerds like myself. Hope to see you on. Thanks again.     

deshi

Sorry for the lack of response... Real Life TM... why does work get in the way of my hobbies?  :smiley-mr-green:

I figure I should buy some basic items if we are going the circuit route. I made a small list... what do you suggest I get?

I have a doubt regarding the Raspberry Pi. I am not sure the GPIO has the required bandwidth/latency for what we need. We should move all this to their forum... though, we might come back if we decide to work with microcontrollers :)

Parts usually take 4 weeks to arrive so I have to be preemptive.  On a side note, if I can order things to be delivered up to Friday, a friend can bring items to me from the US.

I want to buy all we need... however, money is an issue so I wish to buy only what we need. I'll buy an oscilloscope if it will help though.

My list follows, please add anything you think we will need... including ICs and microcontrollers. I have nothing here to work with electronics. This will be the beginning of my kit.

--- Power
- ATX Bench Breakout Board (I have a Zalman 300W 80% ATX PSU lying around)
http://www.seeedstudio.com/depot/atx-breakout-board-bench-power-supply-p-1222.html?cPath=155

--- HDMI
- receiver IC with HDMI 1.3/1.4 support
http://www.findchips.com/avail?part=ADV7612

- transmitter IC with HDMI 1.3/1.4 support (to work as a passthrough to the TV)
http://www.findchips.com/avail?part=ADV7511

- HDMI connectors for breadboard
open to suggestions

- Breadboard adapter for the 100 pin TQFP 14 mm x 14 mm (I am sure we can get it cheaper .... hopefully)
http://www.proto-advantage.com/store/product_info.php?products_id=2200161

--- Prototyping
- breadboard
http://www.adafruit.com/products/239
http://www.adafruit.com/products/443
http://www.seeedstudio.com/depot/basic-bread-board-16555-cm-p-4.html?cPath=175_176

- breadboard wire male male
http://www.adafruit.com/products/153

- breadboard wire female female
http://www.adafruit.com/products/266

- breadboard wire female male
http://www.seeedstudio.com/depot/1-pin-femalemale-jumper-wire-125mm-50pcs-pack-p-1319.html

- fuse
https://www.sparkfun.com/products/11252

- misc parts
http://www.seeedstudio.com/depot/pin-headers-experimental-pack-p-615.html?cPath=156
http://www.seeedstudio.com/depot/20-in-1basic-components-mixed-pack-p-304.html?cPath=156

- soldering kit
(already working on it)

- Raspberry Pi
(just got it this weekend)

--- Debug ? Should I get any of these?

- USB FTDI TTL-232 cable
https://www.adafruit.com/products/70
https://www.sparkfun.com/products/9717

- Digital Osciloscope
http://www.seeedstudio.com/depot/digital-storage-oscilloscope-with-panels-p-514.html?cPath=174
http://www.seeedstudio.com/depot/dso-nano-v3-p-1358.html?cPath=174

- bus pirate
http://www.seeedstudio.com/depot/bus-pirate-v36-universal-serial-interface-p-609.html?cPath=174
http://www.seeedstudio.com/depot/bus-pirate-v4-p-740.html?cPath=174

fat7y

Have you reached anything yet? please share your progress or something! I needed something like that and the post & your replies were really helpful and to the point! I wanted to receive HDMI do some processing & then re-transmit it again! I hope you're still active though :D

Thanks in advance

Go Up