The new, complete schematic
This second portion of the project involved IR code decoding and integration. The short version is that I extended the LANC-Serial example to also include portions of the IR receiver code, using Ken Shirriff's IR library for Arduino.
The changes to the hardware included adding the IR receiver device, along with its passive components as recommended in its datasheet. It's basically a combination of the LANC interface (J1, D1, Q1, R1, R2, plus SW1 for power), along with the IR interface (U1, C1, R3, R4).
Aside from just jamming everything together in the source code, I also disabled interrupts when it's sending out LANC codes, and re-enable them when it's done, since that's timing-critical, and the IR stuff works mostly via interrupts so that it can get its timing correct. ;)
IR decoding is not perfect, and some of the codes seem to confuse the decoding algorithm, but if I only handle received SONY codes, and specifically only compare the received code with a list of codes i'm looking for, it gives the impression of being super reliable. ;)
The best part is that this works REALLY well. I've been using it all day on this deck and it's been perfect. I can also add additional remote codes to do other things as well; control lighting, toggle solid state relays to turn on and off lamps and devices, etc. Lots of leftover data ports for activities!
The list of Sony IR codes for VTR1/VTR2/VTR3 didn't seem to be available, so I found all of the codes using my RMT-V119 remote, and have documented them in this google spreadsheet. Consider this information to be fully public domain; it's just numbers. Feel free to use this information for your project or repurpose/reformat it for any other use.
All of the content for this project can be found in github at the project repository.
Everything seems to work well enough, however one issue is that if the LANC plug is attached to my VTR, it will not turn off. I've tried disconnecting signal and power to that TRS plug, but it seems to be internally forced on if the player powers down and there's a plug physically in the jack.
Git repository: https://github.com/BleuLlama/IR-Lanc-Bridge
(This post was accidentally forgotten in the publish queue, so it was published on 7/27 instead of a month earlier when it was written. oops.)
Post a Comment