Arduino to Control Ektapro Slide Projector

I have a Kodak Ektapro 7010 slide projector that I would like to automate using an Arduino. The projector takes a series of three byte commands to perform different functions, e.g. fading the lamp on, moving to a particular slide, advancing forward. I can successfully execute these commands when I send them from a terminal to the projector with a USB to serial converter but not when I attempt to send the same commands from the arduino.

I'm following this Controlling a Kodak Slide Projector via RS232 (P-Com Protocoll) - Programming Questions - Arduino Forum thread and using some of the code located at the end.

I have a TTL to RS232 converter that I'm using to go from the arduino to the projector, It uses a MAX3232 chip, it's the one found here.

I initially wasn't getting anything with a loopback check but I've reversed the connection from tx to rx going from the Arduino to the converter and that works. However, sending the bytes to the projector still doesn't do anything.

I'm not new to programming but very new to electronics and the Arduino, any help would be appreciated.

The code I'm using is as follows:

   /**
    Ektapro 7010
     
    */  
    
    boolean debug = false;
    
    void setup()
    {
     // start serial port at 9600 bps:
     Serial.begin(9600); 
     pinMode(13, OUTPUT);
    }
    
    void slideForward() {
      if (debug) {Serial.println("forw"); }
      Serial.write((byte)0x0D);
      Serial.write((byte)0x00);
      Serial.write((byte)0x00);  
    }  
    
    void slideBackward() {
      if (debug) { Serial.println("backw"); }
      Serial.write((byte)0x0D);
      Serial.write((byte)0x04);
      Serial.write((byte)0x00);  
    }    
    
    void StandbyModeOn() {
     if (debug) { Serial.println("standbymodeon"); }
      Serial.write((byte)0x0B);
      Serial.write((byte)0x1E);
      Serial.write((byte)0x00);  
    }
    
    void StandbyModeOff() {
      if (debug) { Serial.println("standbymodeoff"); }
      Serial.write((byte)0x0B);
      Serial.write((byte)0x1C);
      Serial.write((byte)0x00); 
    }
    
    
    void loop () {
       delay(500);
       StandbyModeOff();
       digitalWrite(13, HIGH);
       delay(1000);
       slideForward();
       delay(2000);
       StandbyModeOn();
       digitalWrite(13, LOW);
       delay(1500);
    }

Those level shifters use one of the most counterfeited parts ever, the MAX232. You need to confirm you actually have some RS232 level signals coming out of the device. Do you have an oscilloscope?

$13.99 for one of those things is as criminal as the counterfeited parts they contain as they can be purchased for a dollar from the usual Chinese eBay suppliers.

It seems like the shifter is shifting the pins around :wink:

tx is pin 2 and rx 3