Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This example code is in the public domain.
- import processing.serial.*;
- float redValue = 0; // red value
- float greenValue = 0; // green value
- float blueValue = 0; // blue value
- float alphaValue = 0; // alpha value
- Serial myPort;
- void setup() {
- size(512, 512 );
- // List all the available serial ports
- // if using Processing 2.1 or later, use Serial.printArray()
- println(Serial.list());
- // I know that the first port in the serial list on my Mac is always my
- // Arduino, so I open Serial.list()[0].
- // Open whatever port is the one you're using.
- myPort = new Serial(this, Serial.list()[0], 9600);
- // don't generate a serialEvent() unless you get a newline character:
- myPort.bufferUntil('\n');
- }
- void draw() {
- // set the background color with the color values:
- background(redValue, greenValue, blueValue, alphaValue);
- }
- void serialEvent(Serial myPort) {
- // get the ASCII string:
- 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);
- alphaValue = map(colors[3], 0, 1, 0, 255);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement