diff --git a/dawn/Synchronizer_Toshiba_SD1091EKE/Synchronizer_Toshiba_SD1091EKE.pde b/dawn/Synchronizer_Toshiba_SD1091EKE/Synchronizer_Toshiba_SD1091EKE.pde index f110c0b..fb0c20e 100644 --- a/dawn/Synchronizer_Toshiba_SD1091EKE/Synchronizer_Toshiba_SD1091EKE.pde +++ b/dawn/Synchronizer_Toshiba_SD1091EKE/Synchronizer_Toshiba_SD1091EKE.pde @@ -1,29 +1,29 @@ -/* DVD IR Synchronizer for Toshiba SD590EKE V1.0 - * Developed for Art Installation "Dawn" by Sigrun Hardardottir +/* DVD IR Synchronizer for Toshiba SD1091EKE + * Developed for Art Installation by Steina * Code written by Joe Foley * on 2013-09-08 * - * Based upon Sychronizer code by - * KHM 2010 / Martin Nawrath - * Kunsthochschule fuer Medien Koeln - * Academy of Media Arts Cologne - * * Requires libraries: - * MsTimer2 http://playground.arduino.cc/Main/MsTimer2 * Arduino-IRremote https://github.com/shirriff/Arduino-IRremote * + * More codes at http://www.lirc.org/ + * The compatible remote is SE-R0301 + * We use the codes for the SE-R0031 + * http://lirc.sourceforge.net/remotes/toshiba/SE-R0031 + * Note that this has some similar codes + * * The IRremote library uses Pin 3 for the Anode (longer pin) * We have made a ground pin on Pin 4 for the Cathode (shorter pin) + * + * */ - -#include #include int pinGND=4; // Longer leg on the IR LED int secs; -int playtime= 6*60+9; // set here ypur DVD title playtime in sec leave a little extra +int playtime= 1*60; // set here ypur DVD title playtime in sec leave a little extra //int playtime= 10; // testing IRsend irsend; @@ -32,8 +32,8 @@ void setup() { pinMode(pinGND,OUTPUT); Serial.begin(115200); - Serial.println("Toshiba DVD SD590EKE Synchronizer $Rev$"); - Serial.println("For \"Dawn\" by Sigrun Hardardottir"); + Serial.println("Toshiba DVD SD1091EKE Synchronizer $Rev$"); + Serial.println("For Steina"); Serial.println("Code by Joe Foley "); Serial.println("$URL$"); Serial.println("$Id$"); @@ -49,9 +49,7 @@ void setup() { // The DVD player starts playing automatically, so we should pause it send_pause(); - waitsec(1); - send_pause(); - waitsec(2); + waitsec(3); secs=playtime; } @@ -59,8 +57,9 @@ void setup() { /********************************************************************/ void loop() { Serial.println("Sync"); - send_play(); - + send_previous(); + // on this model, previous immediately starts playing + for(int t = 0; t < playtime; t++) { // This will not give us perfect 1 second timing // but it is good enough for most video applications @@ -79,41 +78,39 @@ void loop() { send_pause(); waitsec(1); - send_pause(); - waitsec(2); - - send_previous(); - waitsec(5); } /**************************************************************/ void waitsec(int sec) { - Serial.print("wait"); + Serial.print("Wait "); Serial.print(sec); - Serial.println("seconds"); + Serial.println(" seconds"); delay(sec*1000); } /********************************************************************/ + // NEC data format: first comes the pre-data bits, then the command code void send_stop() { - // First comes the pre-data bits, then the command code Serial.println(" stop"); irsend.sendNEC(0xA25D28D7,32); } /********************************************************************/ void send_play() { - // First comes the pre-data bits, then the command code - Serial.println(" play"); - irsend.sendNEC(0xA25DA857,32); + // Note that play and pause are a toggle for the same command + Serial.println(" play"); + irsend.sendNEC(0xA25DA857, 32); + } /********************************************************************/ -void send_pause() { - // First comes the pre-data bits, then the command code - Serial.println(" pause"); - irsend.sendNEC(0xA25D00FF, 32); +void send_pause() { + // On this model, pause and play are the same button so it toggles + // We use the "step" command which will always pause, no matter + // how many times we press it. + Serial.println(" step/pause"); + irsend.sendNEC(0xA25D00FF,32); } /********************************************************************/ @@ -121,4 +118,4 @@ void send_previous() { // First comes the pre-data bits, then the command code Serial.println(" previous"); irsend.sendNEC(0xA25DC43B, 32); -} +} diff --git a/dawn/Synchronizer_Toshiba_SD590EKE/Synchronizer_Toshiba_SD590EKE.pde b/dawn/Synchronizer_Toshiba_SD590EKE/Synchronizer_Toshiba_SD590EKE.pde index a6acf79..9a14885 100644 --- a/dawn/Synchronizer_Toshiba_SD590EKE/Synchronizer_Toshiba_SD590EKE.pde +++ b/dawn/Synchronizer_Toshiba_SD590EKE/Synchronizer_Toshiba_SD590EKE.pde @@ -1,23 +1,19 @@ -/* DVD IR Synchronizer for Toshiba SD590EKE V1.0 +/* DVD IR Synchronizer for Toshiba SD590EKE * Developed for Art Installation "Dawn" by Sigrun Hardardottir * Code written by Joe Foley * on 2013-09-08 * - * Based upon Sychronizer code by - * KHM 2010 / Martin Nawrath - * Kunsthochschule fuer Medien Koeln - * Academy of Media Arts Cologne - * * Requires libraries: - * MsTimer2 http://playground.arduino.cc/Main/MsTimer2 * Arduino-IRremote https://github.com/shirriff/Arduino-IRremote * + * IR Remote codes from SE-R0313 + * http://lirc.sourceforge.net/remotes/toshiba/SE-R0313 + * * The IRremote library uses Pin 3 for the Anode (longer pin) * We have made a ground pin on Pin 4 for the Cathode (shorter pin) */ -#include #include int pinGND=4; // Longer leg on the IR LED @@ -49,9 +45,7 @@ void setup() { // The DVD player starts playing automatically, so we should pause it send_pause(); - waitsec(1); - send_pause(); - waitsec(1); + waitsec(2); secs=playtime; } @@ -60,7 +54,7 @@ void setup() { void loop() { Serial.println("Sync"); send_previous(); - waitsec(3); + waitsec(2); send_play(); for(int t = 0; t < playtime; t++) { @@ -81,16 +75,13 @@ void loop() { send_pause(); waitsec(1); - send_pause(); - waitsec(1); - } /**************************************************************/ void waitsec(int sec) { - Serial.print("wait"); + Serial.print("Wait "); Serial.print(sec); - Serial.println("seconds"); + Serial.println(" seconds"); delay(sec*1000); } diff --git a/dawn/readme.rtf b/dawn/readme.rtf deleted file mode 100644 index 0fc20c9..0000000 --- a/dawn/readme.rtf +++ /dev/null @@ -1,8 +0,0 @@ -{\rtf1\mac\ansicpg10000\cocoartf949\cocoasubrtf540 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\paperw11900\paperh16840\margl1440\margr1440\vieww13280\viewh7500\viewkind0 -\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural - -\f0\fs24 \cf0 to install arduino libraries unzip them into Documents/Arduino/libraries\ -} \ No newline at end of file diff --git a/dawn/readme.txt b/dawn/readme.txt new file mode 100644 index 0000000..5bea295 --- /dev/null +++ b/dawn/readme.txt @@ -0,0 +1,5 @@ +To install arduino libraries put them in +Documents/Arduino/libraries + +Directions on setting up the IR remote system are at +http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html