Real Time Plotting Tool ( Oscilloscope )

Is the VB source code available for SimPlot. I might like to modify. Will share any changes...

How am i gonna re scale the plot for the Square Wave?

Awesome work! We have been working on something very similar called MegunoLink. Does a similar job of monitoring and plotting arduino data. Can also log data and use it to upload hex files. Check it out at http://www.MegunoLink.com would love to hear any feature suggestions.

Jantje:
In short: You have made a great tool which allows fast (quickly installed and very basic code changes) and appropriate action.

Thanks a lot

Glad you found the tool useful. Sorry for late reply. I am having difficulty with new reply notifications. For some reason the message board does not send me notifications all the time.

I am only sending 1 string of data -- I have the baud rate configured correctly but I am just getting the same character printed over and over again. Did not modify your code in anyway. Screenshot is attached.

Any help would be appreciated.

apiet,

You should send data in a proper packet, which has header and size. If you send any data without a packet then it just prints it to text area. This feature is there so that you can print helpful debug and other messages as well as plot data.

Please read the description of packet on the website and use the library that I have provided.

cheers

Thank You, everybody on this forum! This kind of acted as an unofficial datasheet! :slight_smile:

Works great with PSoC too! ]:smiley:

Data packet (FOR SINGLE CHANNEL) from the PSoc should be sent as

(0xAB, 0xCD, 0x02, 0x00, DATA LSB, DATA MSB).

Thank you for developing such a great tool. :slight_smile:
I have a question. Is it possible to plot float type data instead of integer?
As I tried to monitor a float type data (which is around 0.14-0.20) but Simplot kept on showing 0 which makes sense since it is integer type. Anyway I can tweak around to display a float type data?

Thanks in advance.

RoseOn92:
Thank you for developing such a great tool. :slight_smile:
I have a question. Is it possible to plot float type data instead of integer?
As I tried to monitor a float type data (which is around 0.14-0.20) but Simplot kept on showing 0 which makes sense since it is integer type. Anyway I can tweak around to display a float type data?

Thanks in advance.

Just multiply your value with 1000
Jantje

Well done! I got some inspiration from your software when I made my own realtime plotter. I needed some other features and multiplatform support though. The video below demonstrates typical use of my realtime plotter:


Some features:

  • 6 channels of data (and this can be increased if necessary)
  • Live bar charts
  • Live line graphs
  • You just send the data you want to debug with a space as delimiter like this "value1 value2 value3 value4 value5 value6". Floats or integers does not matter.
  • Multi platform Java. Tested on OSX and Windows 8 (and should work on Linux as well).

Jantje:
Just multiply your value with 1000
Jantje

Taken your advice before things get complicated for me. Thank you.

Anyway I have another question, anyone know how can I log the data output from SimPlot or more specifically the serial monitor? I've tried a couple of methods found from Google, but its either I use their programs to log the data or I display the plot using SimPlot. I can't do both as the serial port cannot be opened by two programs at the same time. If you guys have a suggestion, I will be very pleased to listen to that.

Thank you in advance.

Arduino eclipse V2 latest version (you need the nightly build) has a serial monitor and a scope using the same way of working as simplot.
You can not save the simplot data (it is send in binary form and can be filtered from the scope but it is not available in processable data) but you can have the monitor data and the plot (use your os to make a screen shot)
Use drag with left and right mouse to change the Y scale and x axes location. (only up down is supported left right is ignored)
To download I would advice to use the product. You can download it from here http://eclipse.baeyens.it/download.php
Do not forget to configure if you want to build and upload (not needed to use scope and monitor) point 4 of http://www.eclipse.baeyens.it/Install.html
Best regards
Jantje

I got inspired too :slight_smile:

http://forum.arduino.cc/index.php?topic=185740.0

where you can find some info about what I'm playing with

Hi Brijesh,

I'm completely new to all this Arduino stuff, but just had a go at using your Simplot code in order to plot the data from just 1 axis of a 3 axis analog accelerometer. I'm currently receiving the data wireless via Series 1 xbees and then using Serial.read to view the data in the serial monitor. How do I assign this data to on of the Simplot data channels?

2nd point, when I go to verify the code I receive the error 'buffer was not declared in this scope' referring to where the data packets are defined.

Please help!

The SImPlot windows application doesn't seem to work properly with Leonardo and Micro as these two wait for serial reset before pushing data onto the USB line. This issue doesn't affect the Arduino Eclipse Plugin as you can reset the serial line from the UI.

The application requires the addition of a button to send the serial line reset.

@Jantie this feature of the Arduino Eclipse Plugin needs some improvements I believe.

rlogiacco:
@Jantie this feature of the Arduino Eclipse Plugin needs some improvements I believe.

@rlogiacco
Feel free to suggest changes at github Issues · Sloeber/arduino-eclipse-plugin · GitHub
Best regards
Jantje

Hey there!

I just wanted to tell you how EXTREMELY extremely wildly grateful I am to you for developing this and not charging me money for it.

I am junior in mechanical engineering...and for my junior design project we have to design a system that does X,Y, and Z in an automated fashion via an arduino. I am not familiar at all with coding, circuitry...anything of that sort. Due to a number of different circumstances...the project fell entirely to me, leaving me 4 days do figure out everything myself. Without this...I had no hope of getting it done...I'd spent 8+ hours today just trying to adjust other codes I'd found online in order to graph in real time. This works fantastic, and your example codes made it do-able for a noob like me.

thankyouthankyouthankyouthankyou!

Cheers and have the best day!

Olive

Thank you for awsome tools.
I use Jantje's eclipse plugin as scope and wounder if there are any function for clearing the plot window.

Example,

#include "Due.h"
void setup() {
	Serial.begin(57600);
	delay(1000);
	pinMode(13, OUTPUT);
	digitalWrite(13, LOW);
	Serial.println("OK");
	pinMode(A0, INPUT);
	pinMode(DAC0, OUTPUT);
	while (Serial.available() > 0) {
		Serial.read();
	}
}

int16_t buffer[20];
int16_t c1, c2, c3, c4;
int r=10;

void plot();
void window(int t);

void loop() {

	if (Serial.available() > 0) {
		r=0;
		if (Serial.available() > 0) {
			while (Serial.available() > 0) {
				char c = Serial.read();
				int i = (c - '0');
				r = 10 * r + i;
			}
		}

	}
	window(r);
	delay(1000);
}

void window(int t) {

        // I want to clear window here

	for (int i = 0; i < 100; ++i) {
		c1 = (analogRead(A0) * 3300 / 1023);
		plot();
		delay(t);
	}
}

void plot() {
	int16_t pktSize;
	buffer[0] = 0xCDAB; 
	buffer[1] = 4 * sizeof(int16_t); 
	buffer[2] = c1;
	buffer[3] = c2;
	buffer[4] = c3;
	buffer[5] = c4;
	pktSize = 2 + 2 + (4 * sizeof(int16_t)); 
	Serial.write((uint8_t *) buffer, pktSize);
}

http://visualgen.org/index.php/8-arduino-visual/tutorials/23-plot

thanks a lot