send data from an analogue oscilloscope to arduino uno

I am trying to send an analogue oscilloscope data through rs232 port to arduino uno and then to see the data on serial monitor. is it possible? what converter I should use between rs232 and arduino uno?
these are the rs232 port settings on our oscilloscope interface card: baud rate 9600 - parity bit none - data bit 8 bit.

Why an Arduino in the middle?
Just connect the oscilloscope rs232 to the pc RS232 serial COM port.
Via USB-RS232 if no RS232 ports are available.

However, you’ll need to find the correct protocol if the scope ned’s you to send various commands via the serial interface.

Will this method work without oscilloscope software?
Oscilloscope manual says that I should use the software to have the data on pc. but I don't have the software, hence I am trying the arduino.

With a simple sketch, the arduino will just be a serial port level ‘translator’.
Exactly the same as a USB-serial adapter to connect the PC and scope.
You’ll also need a TTL-RS232 converter, because the arduino serial is only at pin voltages (5V ‘ttl’) levels.

No matter what you plug into the scope RS232, you need to know what you’re sending or receiving. There’s no magic protocol generator.

Some scopes have USB interfaces, and others have RS232 - computers may have either or both as well...

"You'll also need a TTL-RS232 converter, because the arduino serial is only at pin voltages (5V 'ttl') levels."
yes, I used a RS232 to TTL converter between scope and arduino. I attached Tx to Rx, Rx to Tx, GND to GND and VCC to 5V. but when I upload the arduino sketch, I just see (-1) in arduino serial monitor which means that there's no data in serial port. But why? I do see some signal on scope monitor when I attach the number 2 pin of scope RS232 port to CH1.

I'm not expert in electronics. What do you mean by : "you need to know what you're sending or receiving. There's no magic protocol generator." ? How can I find out that what am I sending or receiving?

Is the scope sending any data?

Often you need to set a mode, or ‘pull’ data from attached devices,
That’s what the scope software does.

If you’re going to use arduino-
There are many ‘serial passthrough’ examples in the forum.
What you need is to open the two ports . one at th3 serial monitor speed, and one to match the scopes serial speed.
When a character is received from one port, copy it straight out to the other, and vice versa.

You can test this before connecting the scope, by shorting tx/rx on the rs232 serial connector (d9 pins 2 & 3)
When you send something on serial monitor or other terminal progpgram - it will echo (come straight back to the terminal.

Then remove the short and plug into the scope...
However this is where you need to understand what it’s going to send.

Thank you so much.
I'll try it.

It would be helpful if you could give the model of the oscilloscope.

sure,
ez digital oscilloscope, model: DS-1250C , 250MHz

lastchancename:
There are many ‘serial passthrough’ examples in the forum.

I searched for arduino serial passthrough, it seems that when I want to use two ports, I should use some special boards like mega and ... . Can arduino uno be used for two ports too?

If so, which ports should be used as serial port 1 and serial port 0?

Yes, software serial will work for simple two port projects.
I personally don’t like suggesting it, because it can conflict with other software components.
There are limitations, but for this test it should be ok.

Use the software (bit-bashed) serial port for the slower interface.

If you plan to move into more complex comms projects, the larger MEGA boards are well worth the few extra dollars, and provide more Flash/RAM/EEPROM as well.

#include <SoftwareSerial.h>

SoftwareSerial RS232serial(10, 11); // Rx, Tx

void setup()
{
// opens serial port, sets data rate to 9600 bps
Serial.begin(9600);

// start the software serial for communication with the RS232
RS232serial.begin (9600);

}

void loop()
{

if (RS232serial.available() > 0);
{
// read the input
RS232serial.read();

int val = RS232serial.read();

Serial.println(val);
Serial.write(val);

}
}

I wrote the above code. and I attached Tx of RS232 to pin10 of uno and Rx of RS232 to pin 11 of uno , GND to GND and VCC to 5V and pluged the RS232 to TTL converter to the scope.

but I just have an square and (-1) in each line in serial monitor.
Is there any help?

Take out the first RS232serial.read, that is just reading a character from the serial buffer and throwing it away.

 if (RS232serial.available() > 0);  
   {
    // read the input
    RS232serial.read();
    
    int val = RS232serial.read();
    
    Serial.println(val); 
    Serial.write(val);
      
    }

Do the loopback test first to prove you code.
That test sketch is one-way only.
Check your bitrate settings for each port match the scope & serial monitor settings.
This simple technique can’t fail, but it can be written a little better.

Finally, who says the scope is putting out ASCII text ?
Once you get the basic comms proven working, you can expand the sketch to display hex values (in the likely case the data is binary).
It’s the same data, but text is human readable... binary is better suited for data transfers.

david_2018:
Take out the first RS232serial.read, that is just reading a character from the serial buffer and throwing it away.

I took out this line (RS232serial.read()), but the result in serial monitor didn't changed.

lastchancename:
Check your bitrate settings for each port match the scope & serial monitor settings.

the baudrate on RS232 output of the scope is 9600 bps according to the scope user's manual and baud rate of the serial monitor was as default (9600) , I checked it .

there's something strange to me. I report it may be it can help: when I detached the pins 10 and 11 on arduino uno (better to say I detached everything, it is just the uno and the cable that attached it to the laptop) , and I uploaded again the sketch (the code above) , the same result as before appeared on serial monitor: a square and (-1).
But why?? which signal is it? The code says if there's any signal in RS232serial (pin10 and pin11 on uno) , serial write the value. when I have detached the pins, so what is the signal that the code is receiving???

the same result as before appeared on serial monitor: a square and (-1)

This means that the data you are receiving is not printable ASCII data.

serial write the value.

To see what bit patterns you are receiving then Serial.print the values you receive not .write them. It will also be helpful if you send a space " " to the monitor after each print.

Grumpy_Mike:
This means that the data you are receiving is not printable ASCII data.

what data I'm receiving when I have detached everything from uno except the cable that connect it to the laptop?! (I wanted to check if the code is work properly , so I detached all inputs to UNO and then upload the code that I sent earlier, but I see a square and (-1) in serial monitor, while in the code I wrote 'if' there's any signal in 10 and 11 pins, print the value.)