Hi,
I have a project which uses data from the Serial port.
The sketch is the following:
// Processing code for this example
// Tweak the Arduino Logo
// by Scott Fitzgerald
// This example code is in the public domain.
// import the serial library
import processing.serial.*;
// create an instance of the serial library
Serial myPort;
// create an instance of PImage
PImage logo;
// a variable to hold the background color
int bgcolor = 0;
void setup() {
size(1, 1);
surface.setResizable(true);
// set the color mode to Hue/Saturation/Brightness
colorMode(HSB, 255);
// load the Arduino logo into the PImage instance
logo = loadImage("http://www.arduino.cc/arduino_logo.png");
// make the window the same size as the image
surface.setSize(logo.width, logo.height);
// print a list of available serial ports to the Processing status window
println("Available serial ports:");
printArray(Serial.list());
// Tell the serial object the information it needs to communicate with the
// Arduino. Change Serial.list()[0] to the correct port corresponding to
// your Arduino board. The last parameter (e.g. 9600) is the speed of the
// communication. It has to correspond to the value passed to
// Serial.begin() in your Arduino sketch.
myPort = new Serial(this, Serial.list()[0], 9600);
// If you know the name of the port used by the Arduino board, you can
// specify it directly like this.
// port = new Serial(this, "COM1", 9600);
//myPort = new Serial(this, "/dev/ttyACM0", 9600);
}
void draw() {
// if there is information in the serial port
if ( myPort.available() > 0) {
// read the value and store it in a variable
bgcolor = myPort.read();
// print the value to the status window
println(bgcolor);
}
// Draw the background. the variable bgcolor contains the Hue, determined by
// the value from the serial port
background(bgcolor, 255, 255);
// draw the Arduino logo
image(logo, 0, 0);
}
The problem with this code is that that it does not use the data which came from the Serial in real time but with a long time delay.
Otherwise, this is an Arduino project that uses Processing IDE and processing code.
It is a project 14 from the project book Arduino Starter Kit:
https://bastiaanvanhengel.files.wordpress.com/2016/06/arduino_projects_book.pdf
So how to use, or where in the processing code to use the
bgcolor = myPort.read();
read(); function so we get the values from the Serial port in real time?
Maybe must use the
frameRate(30);
function for this in the void setup() part?