1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-03-14 11:29:26 +01:00

Merge pull request #4220 from agdl/communicationExamples

Fixed processing code for Processing 3
This commit is contained in:
Arturo Guadalupi 2015-11-26 11:45:40 +01:00
commit 8e6a30e00c
2 changed files with 94 additions and 93 deletions

View File

@ -44,71 +44,71 @@ void loop() {
// Graphing sketch // Graphing sketch
// This program takes ASCII-encoded strings // This program takes ASCII-encoded strings
// from the serial port at 9600 baud and graphs them. It expects values in the // from the serial port at 9600 baud and graphs them. It expects values in the
// range 0 to 1023, followed by a newline, or newline and carriage return // range 0 to 1023, followed by a newline, or newline and carriage return
// Created 20 Apr 2005 // Created 20 Apr 2005
// Updated 18 Jan 2008 // Updated 24 Nov 2015
// by Tom Igoe // by Tom Igoe
// This example code is in the public domain. // This example code is in the public domain.
import processing.serial.*; import processing.serial.*;
Serial myPort; // The serial port Serial myPort; // The serial port
int xPos = 1; // horizontal position of the graph int xPos = 1; // horizontal position of the graph
float inByte = 0;
void setup () { void setup () {
// set the window size: // set the window size:
size(400, 300); size(400, 300);
// List all the available serial ports // List all the available serial ports
// if using Processing 2.1 or later, use Serial.printArray() // if using Processing 2.1 or later, use Serial.printArray()
println(Serial.list()); println(Serial.list());
// I know that the first port in the serial list on my mac // I know that the first port in the serial list on my mac
// is always my Arduino, so I open Serial.list()[0]. // is always my Arduino, so I open Serial.list()[0].
// Open whatever port is the one you're using. // Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[0], 9600); myPort = new Serial(this, Serial.list()[0], 9600);
// don't generate a serialEvent() unless you get a newline character: // don't generate a serialEvent() unless you get a newline character:
myPort.bufferUntil('\n'); myPort.bufferUntil('\n');
// set inital background: // set inital background:
background(0); background(0);
} }
void draw () { void draw () {
// everything happens in the serialEvent() // draw the line:
} stroke(127, 34, 255);
line(xPos, height, xPos, height - inByte);
void serialEvent (Serial myPort) { // at the edge of the screen, go back to the beginning:
// get the ASCII string: if (xPos >= width) {
String inString = myPort.readStringUntil('\n'); xPos = 0;
background(0);
} else {
// increment the horizontal position:
xPos++;
}
}
if (inString != null) {
// trim off any whitespace:
inString = trim(inString);
// convert to an int and map to the screen height:
float inByte = float(inString);
inByte = map(inByte, 0, 1023, 0, height);
// draw the line: void serialEvent (Serial myPort) {
stroke(127,34,255); // get the ASCII string:
line(xPos, height, xPos, height - inByte); String inString = myPort.readStringUntil('\n');
// at the edge of the screen, go back to the beginning: if (inString != null) {
if (xPos >= width) { // trim off any whitespace:
xPos = 0; inString = trim(inString);
background(0); // convert to an int and map to the screen height:
} inByte = float(inString);
else { println(inByte);
// increment the horizontal position: inByte = map(inByte, 0, 1023, 0, height);
xPos++; }
} }
}
}
*/ */
/* Max/MSP v5 patch for this example /* Max/MSP v5 patch for this example
----------begin_max5_patcher---------- ----------begin_max5_patcher----------

View File

@ -36,55 +36,56 @@ void loop() {
// This example code is in the public domain. // This example code is in the public domain.
import processing.serial.*; import processing.serial.*;
float redValue = 0; // red value float redValue = 0; // red value
float greenValue = 0; // green value float greenValue = 0; // green value
float blueValue = 0; // blue value float blueValue = 0; // blue value
Serial myPort; Serial myPort;
void setup() { void setup() {
size(200, 200); size(200, 200);
// List all the available serial ports // List all the available serial ports
// if using Processing 2.1 or later, use Serial.printArray() // if using Processing 2.1 or later, use Serial.printArray()
println(Serial.list()); println(Serial.list());
// I know that the first port in the serial list on my mac // I know that the first port in the serial list on my mac
// is always my Arduino, so I open Serial.list()[0]. // is always my Arduino, so I open Serial.list()[0].
// Open whatever port is the one you're using. // Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[0], 9600); myPort = new Serial(this, Serial.list()[0], 9600);
// don't generate a serialEvent() unless you get a newline character: // don't generate a serialEvent() unless you get a newline character:
myPort.bufferUntil('\n'); myPort.bufferUntil('\n');
} }
void draw() { void draw() {
// set the background color with the color values: // set the background color with the color values:
background(redValue, greenValue, blueValue); background(redValue, greenValue, blueValue);
} }
void serialEvent(Serial myPort) { void serialEvent(Serial myPort) {
// get the ASCII string: // get the ASCII string:
String inString = myPort.readStringUntil('\n'); String inString = myPort.readStringUntil('\n');
if (inString != null) {
// trim off any whitespace:
inString = trim(inString);
// split the string on the commas and convert the
// resulting substrings into an integer array:
float[] colors = float(split(inString, ","));
// if the array has at least three elements, you know
// you got the whole thing. Put the numbers in the
// color variables:
if (colors.length >=3) {
// map them to the range 0-255:
redValue = map(colors[0], 0, 1023, 0, 255);
greenValue = map(colors[1], 0, 1023, 0, 255);
blueValue = map(colors[2], 0, 1023, 0, 255);
}
}
}
if (inString != null) {
// trim off any whitespace:
inString = trim(inString);
// split the string on the commas and convert the
// resulting substrings into an integer array:
float[] colors = float(split(inString, ","));
// if the array has at least three elements, you know
// you got the whole thing. Put the numbers in the
// color variables:
if (colors.length >=3) {
// map them to the range 0-255:
redValue = map(colors[0], 0, 1023, 0, 255);
greenValue = map(colors[1], 0, 1023, 0, 255);
blueValue = map(colors[2], 0, 1023, 0, 255);
}
}
}
*/ */
/* Max/MSP patch for this example /* Max/MSP patch for this example