Assignment 5.2

posted Jun 30, 2010, 6:48 PM by Unknown user
I used the same Arduino code from assignment 5.1. Here's the processing code:
 
import processing.serial.*;
Serial myPort;
int val;
void setup() {
  size(400,400);
  String portName = Serial.list()[0];
  myPort = new Serial(this, portName, 9600);
}
void draw() {
  background(0);                      // set background to black
  stroke(0);                          // set stroke color to black
  if ( myPort.available() > 0) {      // if data is available
    val = myPort.read();              // read it and store it in val
  }
  if (val == 1) {
  fill(225, 0, 0);                           // sets fill color to bright red
  ellipse(width/2, height/2, 400, 400);      // draws ellipse centered with diameter 400
  fill(225, 225, 0);                         // sets fill color to bright yellow
  rect(25, 25, 350, 350);                    // draws rectangle from corner (25, 25) with width of 350
  fill(180, 0, 0);                           // sets fill color to a darker red
  ellipse(width/2, height/2, 350, 350);      // draws ellipse centered with diameter 350
  fill(168.75, 168.75, 0);                   // sets fill color to a darker yellow
  rect(50, 50, 300, 300);                    // draws rectangle from corner (50, 50) with width of 300
  fill(135, 0, 0);                           // sets fill color to a medium red
  ellipse(width/2, height/2, 300, 300);      // draws ellipse centered with diameter 300
  fill(112.5, 112.5, 0);                     // sets fill color to a medium yellow
  rect(75, 75, 250, 250);                    // draws rectangle from corner (75, 75) with width of 250
  fill(90, 0, 0);                            // sets fill color to dark red
  ellipse(width/2, height/2, 250, 250);      // draws ellipse centered with diameter 250
  fill(56.25, 56.25, 0);                     // sets fill color to dark yellow
  rect(100, 100, 200, 200);                  // draws rectangle with corner at (100, 100) and width of 200
  fill(45, 0, 0);                            // sets fill color to very dark red
  ellipse(width/2, height/2, 200, 200);      // draws ellipse centered with diameter 200
  fill(0);                                   // sets fill color to black
  rect(125, 125, 150, 150);                  // draws rectangle with corner at (125, 125) and width of 150
  stroke(0, 225, 0);                         // sets stroke color to bright green
  line(200, 125, 125, 200);                  // draws line from (200, 125) to (125, 200)
  line(200, 125, 275, 200);                  // draws line from (200, 125) to (275, 200)
  line(125, 200, 200, 275);                  // draws line from (125, 200) to (200, 175)
  line(275, 200, 200, 275);                  // draws line from (275, 200) to (200, 275)
  fill(0, 0, 0, 0);                          // sets fill to transparent black
  rect(145, 145, 110, 110);                  // draws rectangle with corner at (145, 145) and width 110
  stroke(0);                                 // sets stroke color to black
  fill(0, 0, 25);                            // sets fill color to a very dark blue
  ellipse(width/2, height/2, 100, 100);      // draws ellipse with center at middle and diameter of 100
  fill(0, 0, 75);                            // sets fill color to dark blue
  ellipse(width/2, height/2, 80, 80);        // draws ellipse centered with diameter 80
  fill(0, 0, 125);                           // sets fill color to blue
  ellipse(width/2, height/2, 60, 60);        // draws ellipse centered with diameter 60
  fill(0, 0, 175);                           // sets fill color to bright blue
  ellipse(width/2, height/2, 40, 40);        // draws ellipse centered with diameter 40
  fill(0, 0, 225);                           // sets fill color to a very bright blue
  ellipse(width/2, height/2, 20, 20);        // draws ellipse centered with diameter 20
  stroke(0, 0, 125);                         // sets stroke color to bright blue
  line(25, 25, 375, 375);                    // draws line from (0, 0) to (400, 400)
  line(375, 25, 25, 375);                    // draws line from (400, 0) to (0, 400)
  line(200, 0, 200, 400);                    // draws line from (200, 0) to (200, 400)
  line(0, 200, 400, 200);                    // draws line from (0, 200) to (400, 200)
  }
  else if (val == 0) {
  fill(225, 225, 0);                         // sets fill color to bright yellow
  ellipse(width/2, height/2, 400, 400);      // draws ellipse centered with diameter 400
  fill(225, 0, 0);                           // sets fill color to bright red
  rect(25, 25, 350, 350);                    // draws rectangle from corner (25, 25) with width of 350
  fill(180, 180, 0);                         // sets fill color to a darker yellow
  ellipse(width/2, height/2, 350, 350);      // draws ellipse centered with diameter 350
  fill(168.75, 0, 0);                        // sets fill color to a darker red
  rect(50, 50, 300, 300);                    // draws rectangle from corner (50, 50) with width of 300
  fill(135, 135, 0);                         // sets fill color to a medium yellow
  ellipse(width/2, height/2, 300, 300);      // draws ellipse centered with diameter 300
  fill(112.5, 0, 0);                         // sets fill color to a medium red
  rect(75, 75, 250, 250);                    // draws rectangle from corner (75, 75) with width of 250
  fill(90, 90, 0);                           // sets fill color to dark yellow
  ellipse(width/2, height/2, 250, 250);      // draws ellipse centered with diameter 250
  fill(56.25, 0, 0);                         // sets fill color to dark red
  rect(100, 100, 200, 200);                  // draws rectangle with corner at (100, 100) and width of 200
  fill(45, 45, 0);                           // sets fill color to very dark yellow
  ellipse(width/2, height/2, 200, 200);      // draws ellipse centered with diameter 200
  fill(0);                                   // sets fill color to black
  rect(125, 125, 150, 150);                  // draws rectangle with corner at (125, 125) and width of 150
  stroke(225, 0, 225);                       // sets stroke color to bright magenta
  line(200, 125, 125, 200);                  // draws line from (200, 125) to (125, 200)
  line(200, 125, 275, 200);                  // draws line from (200, 125) to (275, 200)
  line(125, 200, 200, 275);                  // draws line from (125, 200) to (200, 175)
  line(275, 200, 200, 275);                  // draws line from (275, 200) to (200, 275)
  fill(0, 0, 0, 0);                          // sets fill to transparent black
  rect(145, 145, 110, 110);                  // draws rectangle with corner at (145, 145) and width 110
  stroke(0);                                 // sets stroke color to black
  fill(0, 25, 25);                           // sets fill color to a very dark cyan
  ellipse(width/2, height/2, 100, 100);      // draws ellipse with center at middle and diameter of 100
  fill(0, 75, 75);                           // sets fill color to dark cyan
  ellipse(width/2, height/2, 80, 80);        // draws ellipse centered with diameter 80
  fill(0, 125, 125);                         // sets fill color to cyan
  ellipse(width/2, height/2, 60, 60);        // draws ellipse centered with diameter 60
  fill(0, 175, 175);                         // sets fill color to bright cyan
  ellipse(width/2, height/2, 40, 40);        // draws ellipse centered with diameter 40
  fill(0, 225, 225);                         // sets fill color to a very bright cyan
  ellipse(width/2, height/2, 20, 20);        // draws ellipse centered with diameter 20
  stroke(225, 0, 225);                       // sets stroke color to bright magenta
  line(25, 25, 375, 375);                    // draws line from (0, 0) to (400, 400)
  line(375, 25, 25, 375);                    // draws line from (400, 0) to (0, 400)
  line(200, 0, 200, 400);                    // draws line from (200, 0) to (200, 400)
  line(0, 200, 400, 200);                    // draws line from (0, 200) to (400, 200)
  }
  else if (val == 10)
  {
  fill(45, 45, 0);                         // sets fill color to bright yellow
  ellipse(width/2, height/2, 400, 400);      // draws ellipse centered with diameter 400
  fill(56.25, 0, 0);                           // sets fill color to bright red
  rect(25, 25, 350, 350);                    // draws rectangle from corner (25, 25) with width of 350
  fill(90, 90, 0);                         // sets fill color to a darker yellow
  ellipse(width/2, height/2, 350, 350);      // draws ellipse centered with diameter 350
  fill(112.5, 0, 0);                        // sets fill color to a darker red
  rect(50, 50, 300, 300);                    // draws rectangle from corner (50, 50) with width of 300
  fill(135, 135, 0);                         // sets fill color to a medium yellow
  ellipse(width/2, height/2, 300, 300);      // draws ellipse centered with diameter 300
  fill(168.75, 0, 0);                         // sets fill color to a medium red
  rect(75, 75, 250, 250);                    // draws rectangle from corner (75, 75) with width of 250
  fill(180, 180, 0);                           // sets fill color to dark yellow
  ellipse(width/2, height/2, 250, 250);      // draws ellipse centered with diameter 250
  fill(225, 0, 0);                         // sets fill color to dark red
  rect(100, 100, 200, 200);                  // draws rectangle with corner at (100, 100) and width of 200
  fill(225, 225, 0);                           // sets fill color to very dark yellow
  ellipse(width/2, height/2, 200, 200);      // draws ellipse centered with diameter 200
  fill(0);                                           // sets fill color to black
  rect(125, 125, 150, 150);                  // draws rectangle with corner at (125, 125) and width of 150
  stroke(0, 225, 0);                         // sets stroke color to bright green
  line(200, 125, 125, 200);                  // draws line from (200, 125) to (125, 200)
  line(200, 125, 275, 200);                  // draws line from (200, 125) to (275, 200)
  line(125, 200, 200, 275);                  // draws line from (125, 200) to (200, 175)
  line(275, 200, 200, 275);                  // draws line from (275, 200) to (200, 275)
  fill(0, 0, 0, 0);                                  // sets fill to transparent black
  rect(145, 145, 110, 110);                  // draws rectangle with corner at (145, 145) and width 110
  stroke(0);                                         // sets stroke color to black
  fill(0, 0, 225);                                    // sets fill color to a very bright blue
  ellipse(width/2, height/2, 100, 100);      // draws ellipse with center at middle and diameter of 100
  fill(0, 0, 175);                                    // sets fill color to bright blue
  ellipse(width/2, height/2, 80, 80);        // draws ellipse centered with diameter 80
  fill(0, 0, 125);                                   // sets fill color to blue
  ellipse(width/2, height/2, 60, 60);        // draws ellipse centered with diameter 60
  fill(0, 0, 75);                                   // sets fill color to dark blue
  ellipse(width/2, height/2, 40, 40);        // draws ellipse centered with diameter 40
  fill(0, 0, 25);                                   // sets fill color to a very dark blue
  ellipse(width/2, height/2, 20, 20);        // draws ellipse centered with diameter 20
  stroke(0, 0, 125);                         // sets stroke color to bright blue
  line(25, 25, 375, 375);                    // draws line from (0, 0) to (400, 400)
  line(375, 25, 25, 375);                    // draws line from (400, 0) to (0, 400)
  line(200, 0, 200, 400);                    // draws line from (200, 0) to (200, 400)
  line(0, 200, 400, 200);                    // draws line from (0, 200) to (400, 200)
  }
  else
  {
  fill(225, 225, 0);                         // sets fill color to bright yellow
  ellipse(width/2, height/2, 400, 400);      // draws ellipse centered with diameter 400
  fill(225, 0, 0);                           // sets fill color to bright red
  rect(25, 25, 350, 350);                    // draws rectangle from corner (25, 25) with width of 350
  fill(180, 180, 0);                         // sets fill color to a darker yellow
  ellipse(width/2, height/2, 350, 350);      // draws ellipse centered with diameter 350
  fill(168.75, 0, 0);                        // sets fill color to a darker red
  rect(50, 50, 300, 300);                    // draws rectangle from corner (50, 50) with width of 300
  fill(135, 135, 0);                         // sets fill color to a medium yellow
  ellipse(width/2, height/2, 300, 300);      // draws ellipse centered with diameter 300
  fill(112.5, 0, 0);                         // sets fill color to a medium red
  rect(75, 75, 250, 250);                    // draws rectangle from corner (75, 75) with width of 250
  fill(90, 90, 0);                           // sets fill color to dark yellow
  ellipse(width/2, height/2, 250, 250);      // draws ellipse centered with diameter 250
  fill(56.25, 0, 0);                         // sets fill color to dark red
  rect(100, 100, 200, 200);                  // draws rectangle with corner at (100, 100) and width of 200
  fill(45, 45, 0);                           // sets fill color to very dark yellow
  ellipse(width/2, height/2, 200, 200);      // draws ellipse centered with diameter 200
  fill(0);                                   // sets fill color to black
  rect(125, 125, 150, 150);                  // draws rectangle with corner at (125, 125) and width of 150
  stroke(0, 225, 0);                         // sets stroke color to bright green
  line(200, 125, 125, 200);                  // draws line from (200, 125) to (125, 200)
  line(200, 125, 275, 200);                  // draws line from (200, 125) to (275, 200)
  line(125, 200, 200, 275);                  // draws line from (125, 200) to (200, 175)
  line(275, 200, 200, 275);                  // draws line from (275, 200) to (200, 275)
  fill(0, 0, 0, 0);                                  // sets fill to transparent black
  rect(145, 145, 110, 110);                  // draws rectangle with corner at (145, 145) and width 110
  stroke(0);                                         // sets stroke color to black
  fill(0, 0, 25);                                    // sets fill color to a very dark blue
  ellipse(width/2, height/2, 100, 100);      // draws ellipse with center at middle and diameter of 100
  fill(0, 0, 75);                                    // sets fill color to dark blue
  ellipse(width/2, height/2, 80, 80);        // draws ellipse centered with diameter 80
  fill(0, 0, 125);                                   // sets fill color to blue
  ellipse(width/2, height/2, 60, 60);        // draws ellipse centered with diameter 60
  fill(0, 0, 175);                                   // sets fill color to bright blue
  ellipse(width/2, height/2, 40, 40);        // draws ellipse centered with diameter 40
  fill(0, 0, 225);                                   // sets fill color to a very bright blue
  ellipse(width/2, height/2, 20, 20);        // draws ellipse centered with diameter 20
  stroke(0, 0, 125);                         // sets stroke color to bright blue
  line(25, 25, 375, 375);                    // draws line from (0, 0) to (400, 400)
  line(375, 25, 25, 375);                    // draws line from (400, 0) to (0, 400)
  line(200, 0, 200, 400);                    // draws line from (200, 0) to (200, 400)
  line(0, 200, 400, 200);                    // draws line from (0, 200) to (400, 200)
  }
}
 
When the button connected to pin 5 is pressed, the inner group of circles change from blue hues to cyan hues, and the diamond, square, and lines running through the middle change color to magenta. When the button connected to pin 4 is pressed, the outer ring of yellow hued circles change to red hues and the red hued squares change to yellow hues. When both buttons are pressed, the outer yellow circles and red squares change from dark to light to light to dark, and the inner blue circles change from dark to light to light to dark as well. A short video is attached.
 
ċ
Unknown user,
Jun 30, 2010, 7:02 PM
Comments