how to see serial data in oscilloscope or other equipment?

hi I did a programming which to sent data serially using arduino uno. my rf module is xbee. so the programming works fine as my receiver arduino(other arduino) able to receive the data. So problem can i use oscilloscpe to see what data sending out? if can how i can do it?

Put your scope probe on your designated serial transmit pin.

rooney04: ...So problem can i use oscilloscpe to see what data sending out? if can how i can do it?

Do you want to read the data, or just to see bits going by?

Cheers, Kari

i just wanna see the bit going.

rooney04: So problem can i use oscilloscpe to see what data sending out? if can how i can do it?

Answer to your question is yes. Put your oscilloscopes probes gnd to arduinos gnd, and touch the tip of the probe to arduinos send pin.

Cheers, Kari

I am curious about one thing - if the OP owns an oscilloscope, but doesn't know how to hook it up, do you think they'll be able to figure out any of the other settings in order to even capture the signal transistions (not to mention that there isn't any info on this scope - does it have enough bandwidth, is it a DSO or analog, etc)?

i tried to put the probe to my transmitter pin and gnd pin, but still unable get the signal. i m using push buttons as user input. whenever i send a push button it will data . below my programming code. So i want to captured the byte been transferred using oscilloscope. When i pressed the push button, serial monitor showing the data been send but not in the oscilloscope.

int offPin = 2; int crankingPin = 3; int liftoffPin = 4; int upwardPin = 5; int downwardPin = 6; int turnleftPin = 7; int turnrightPin = 8; int forwardPin = 9; int backwardPin = 10; int buttonstate;

void setup() { // initialize the serial communication: Serial.begin(9600);

// initialize the ledPin as an output:

pinMode(crankingPin, INPUT); pinMode(liftoffPin, INPUT); pinMode(upwardPin, INPUT); pinMode(downwardPin, INPUT); pinMode(turnleftPin, INPUT); pinMode(turnrightPin, INPUT); pinMode(forwardPin, INPUT); pinMode(backwardPin, INPUT); }

void loop() { if(digitalRead(offPin)==HIGH) { Serial.write('0'); delay(1000); } if(digitalRead(crankingPin)==HIGH) { Serial.write('1'); delay(1000); } if(digitalRead(liftoffPin)==HIGH) { Serial.write('2'); delay(1000); }

if(digitalRead(upwardPin)==HIGH) { Serial.write('3'); delay(1000); }

if(digitalRead(downwardPin)==HIGH) { Serial.write('4'); delay(1000); }

if(digitalRead(turnleftPin)==HIGH) { Serial.write('5'); delay(1000); }

if(digitalRead(turnrightPin)==HIGH) { Serial.write('6'); delay(1000); }

if(digitalRead(forwardPin)==HIGH) { Serial.write('7'); delay(1000); }

if(digitalRead(backwardPin)==HIGH) { Serial.write('8'); delay(1000); }

}

We would have to know more about your specific scope, manufacture and model number. Is it a triggered scope? What you require is to trigger on the falling edge of the send data line, that's when a start bit begins. Your horzontal time base needs to be able to show at least 10 milliseconds for a complete character. The vertical gain should be set to be able to see a 5vdc signal. Knowing how to use a scope takes some study and lots of practice. You are probably better off using a simple program that sends just on character, delays for a second and repeat, and then adust your scope controls to where you see the one complete character once a second on your scope.

Lefty

You are probably better off using a simple program that sends just on character,

I'd start simpler, with a square wave of roughly known frequency

void loop ()
{
  digitalWrite (txPin, HIGH);
  delayMicroseconds (100);
  digitalWrite (txPin, LOW);
  delayMicroseconds (100);
}

AWOL:

You are probably better off using a simple program that sends just on character,

I'd start simpler, with a square wave of roughly known frequency

void loop ()
{
  digitalWrite (txPin, HIGH);
  delayMicroseconds (100);
  digitalWrite (txPin, LOW);
  delayMicroseconds (100);
}

I'm just not sure he would be able to get or know if his scope triggering is adjusted correctly with continuous pulses, that's why I suggested the single character per second. Heck, I don't even know if he has a analog or digital scope, and without more feedback from him I think I'll bow out for now. ;)

The first thing here is to learn the scope, then test the arduino…

I think we are trying to solve wrong problem.

Cheers,
Kari

Unless you have a good oscilloscope, it will be very hard to capture the data (although new models, even for low end, are starting to include a serial translate mode). Honestly, unless you are using borrowed equipment, as you do not seem to be very familiar with oscilloscopes I doubt you'll be able to use for debugging. Instead get a logic analyser, if you don't have the money to get a proper one just go to ebay and get a cheap know off. They are pretty much a USB transmitter and use your PC for all the processing, and yes, most of them are nothing more than toys, but it'll do the job at not very high speeds. If you have a litter bit more money I would recommend the Open Logic Sniffer, specially on top of the salea logic analyser since you get more hackable hardware for your money.

Im using digital ossciloscope