// Learning Processing
// Daniel Shiffman
// http://www.learningprocessing.com

// Example 19-10: Serial communication with Strings

import processing.serial.*;

int r,g,b;    // Used to color background
Serial port;  // The serial port object

void setup() {
  // In case you want to see the list of available ports
  // println(Serial.list());
  // Using the first available port (might be different on your computer)
  port = new Serial(this, Serial.list()[0], 9600);
  // Request values right off the bat

void draw() {
  // Set the background

// Called whenever there is something available to read
void serialEvent(Serial port) {
  // Data from the Serial port is read in serialEvent() using the readStringUntil() function with * as the end character.
  String input = port.readStringUntil('*'); 
  if (input != null) {
    // Print message received
    println( "Receiving:" + input);
    // The data is split into an array of Strings with a comma or asterisk as a delimiter and converted into an array of integers.
   int[] vals = int(splitTokens(input, ",*")); 
    // Fill r,g,b variables
    r = vals[0];
    g = vals[1];
    b = vals[2];
  // When finished ask for values again
  • Hasansahbaz1

     thank you for sharing

  • Guest

    i love your website, really nice design

  • h.s

    how i can write on serial port and read the serial in arduino code

  • prały


  • Lachlan

    I get the error “The function readStringUntil(char) does not exist”
    any ideas?