Interfaceing SONY Block Camera with Mega

Hi Guys,

I am trying to Interface Sony Block Camera with Arduino Mega. But somehow not able to send VISCA commands to Camera module. Any help would be appriciated!!

Here is the details.

  1. Camera: SONY FCB-EH4300 (Uses VISCA Protocol)
  2. Arduino: Mega
  3. Logic Level Converter: http://www.sparkfun.com/products/8745

Connections:

Mega Serial1 RX - RXI of Level Converter at 5V side
Mega Serial1 TX - TXO of Level Converter at 5V Side
TXI of Level Converter at 3.3V side - SONY Camera's RX
RXO of Level Converter at 3.3V side - SONY Camera's TX

This camera also have standard RS232 interface for connecting it to PC. I have simultaneously connected camera to PC as well. My problem is when i send command to Camera using Mega camera does not respond to it. However, when i send command using PC camera responds and I can see the response on the Serial Monitor of IDE.

Here is the code..

byte cam_pow_inq[] ={0x81, 0x01, 0x04, 0x07, 0x03, 0xFF, 0x0D};
void setup()
{
  Serial.begin(9600);
  Serial1.begin(9600);
  Serial.println("\r\n======Start======");
  //Serial1.write(cam_pow_inq, sizeof(cam_pow_inq));
  //for(int i = 0; i < 7; i++)
  //{
  //  Serial1.print(cam_pow_inq[i]);
  //  Serial.print(cam_pow_inq[i], HEX);
  //  Serial.print(" ");
  //}
  //Serial.println();
  
  Serial1.print(0x81, BYTE);
  Serial1.print(0x01, BYTE);
  Serial1.print(0x04, BYTE);
  Serial1.print(0x07, BYTE);
  Serial1.print(0x02, BYTE);
  Serial1.print(0xFF, BYTE);
  Serial1.print(0x0D, BYTE);
}

void loop()
{
   if(Serial1.available()){
    char c = Serial1.read();
    Serial.print(c, HEX);
    Serial.print(" ");
  } 
}

When i send command using PC I get following response

======Start======
FFFFFF90 41 FFFFFFFF FFFFFF90 51 FFFFFFFF FFFFFF90 41 FFFFFFFF FFFFFF90 51 FFFFFFFF

this is response of zoom wide and zoom stop command which looks right according to VISCA specification. So, my connections looks ok (i guess!) but not able to send that data to camera.

What am I missing? I spend day and night on this but could not figure out. :0

Please help!
Parin

Try:

Mega Serial1 RX - TX (HV Side)
Mega Serial1 TX - RX (HV Side)

RX (LV Side) - SONY Camera's RX
TX (LV Side) - SONY Camera's TX

Cross is on high side

@KE7GKP

Camera is being interfaced using AVION TL6050 (http://aivion.de/files/a1_ds_tl6050_v.1.0.1.pdf) board which give camera ability to connect with Monitor using HDMI out. This board also has control interface which is TTL 3.3 V. So I use logic converter.
Please let me know if i am missing something here.

@Magician

same response...:frowning:

thanks!

@KE7GKP

I am extremely sorry about that. I am new to Arduino/Hardware stuff and also to this forum.
Again it is not an excuse but your 1st comment guided me in direction of solving the problem.

You are 100% right. I omitted TL6050 and that's where the problem was. that board has small jumper which allows user to select between RS232 level vs TTL level. In my previous system I used camera with RS232 Interface which is default jumper selection. so I completely forgot to change it, which I did and it worked fine.

I apologize for your inconvenience. Thanks a lot for your comment. It would make me better user at this forum..:slight_smile:

Thanks
parin