DVD Synchronizer and Infrared Remote Control

This Synchronizer plays two or more DVDs simultaneously with conventional off the shelf DVD players. It works as an automated infrared remote control. We are using this device since years here at the KHM for the purpose of exhibitions, art objects, video sculptures and so on. Also this technique can be used to control MP3 players, cameras or any other device with a infrared control.

How it works

When you take two DVD players and set them up close to each other you can control both of them simultaneously with one remote control. Thats what the Synchronizer does since it works like a remote control. After a predefined time the Synchronizer sends the remote signals <STOP>

<PLAY> <PAUSE> <PLAY> sequence to restart the DVDs together. Usually, after several hours of playing a movie the time of both players will show a slight difference of several seconds because of inaccuracies of the internal player clock. When the Synchronizer sends a restart sequence all DVDs are starting together and the time differences are eliminated.


The Setup

First take an infrared LED like a LD271 or any IR LED you can get from your supplier and connect the anode wire to digital pin 9 and the cathode to digital pin 8. Make sure that your players are the same brand and type. Take the code for your DVD Player brand and set the “playtime” variable in the header according to the length of your track. After uploading the program the DVD player should start the synchronizing sequence after a few seconds.


Adapting other DVD players.

If your DVD player is not the type listed here you have to make some changes in the program code.

This can be done half automated with the helper application “IR_Get_Code”. This application receives the infrared codes from your remote control and generates a code template which can be copied with cut and paste into the synchronizer program. At first you have to build a ir receiver module like seen below which enables a arduino to analyze a ir remote burst by coding and carrier frequency. Connect the receiver module to your Arduino board, upload the “IR_Get_Code” program and start the Serial Monitor with 115200 baud. Then place your remote control in front of receiver and press the <PLAY> button for a short moment. You will see in the monitor window how the generated output scrolls up. For each button you press you get a block of code which has to be copied into the “send_xx” functions.


void send_pause() {
ICR1 = 16000 /37; // IR carrier frequency
sbi(DDRB,1); delayMicroseconds(3500 ); cbi(DDRB,1); delayMicroseconds(1708 ); // ix:  1  ton:3500  toff:1708
sbi(DDRB,1); delayMicroseconds( 456 ); cbi(DDRB,1); delayMicroseconds( 428 ); // ix:  3  ton: 456  toff: 428

Be sure to press the remote control buttons only for a short time otherwise some controls are sending repetitive codes which are wrong interpreted by the analyzer program.


The IR Receiver Module

Because integrated IR receiver modules work on a fixed carrier frequency we made here a module that can measure the frequency of the different IR remote systems. It is a simple circuit where a IR transmit LED works “reversed” as a photodiode. The software uses the Analog Comparator unit of the AT-Mega to measure the weak input signals.

<br />

<br />

The Synchronizing process

<br />

Preparing DVDs

For instance you want to synchronize a track with a length of 15 minutes. Cut the track four times and add a minute blackscreen to the title. Best you add also some black frames to the beginning of your title so that you see a black picture when the synchronization takes place. Keep in mind that most of the players are showing an annoying onscreen display when a remote command is made. So a longer title has less of these but the risk that the players get out of time is more likely.

<br />

Synchronizer custom box

For members of the KHM we have build customized synchronizer boxes which you can borrow at Lab3.

<br />

Software download


Martin Nawrath, KHM 4/2010