Assignment 5.4

Post date: Aug 15, 2010 10:35:11 PM

Arduino Code:

char val; // Data received from the serial port

int ledPin = 2; // Set the pin to digital I/O 2

int ledPin2 = 4; //set the pin to digital I/O 4

void setup()

{

pinMode(ledPin, OUTPUT); // Set pin as OUTPUT

Serial.begin(9600); // Start serial communication at 9600 bps

}

void loop()

{

if (Serial.available())

{ // If data is available to read,

val = Serial.read(); // read it and store it in val

}

if (val == 'H')

{ // If H was received

digitalWrite(ledPin, HIGH); // turn LED1 on

}

Untitled Post

else if (val == 'K') { //If K was recieved

digitalWrite(ledPin2, HIGH);//turn LED2 on

}

else if (val == 'P') {

digitalWrite(ledPin, HIGH); //If P was received

digitalWrite(ledPin2, HIGH);//turn both LEDs on

}

else if (val == 'L') {

digitalWrite(ledPin, LOW); // If is received

digitalWrite(ledPin2, LOW); //turn both LEDs off

}

delay(10); // Wait 10 milliseconds for next reading

}

Processing Code:

import processing.serial.*;

Serial myPort; // Create object from Serial class

int val; // Data received from the serial port

void setup()

{

size(400, 400);

String portName = Serial.list()[0];

myPort = new Serial(this, portName, 9600);

}

void draw() {

background(255);

if ((mouseX >= 50) && (mouseX <= 150) && (mouseY >= 50) && (mouseY <= 150)) {

// If mouse is over the first square,

fill(225, 0, 0); // change color and

myPort.write('H'); // send an H to indicate mouse location

}

else if ((mouseX >= 200) && (mouseX <= 300) && (mouseY >= 50) && (mouseY <= 150)) {

// If mouse is over the second square,

fill(0, 255, 0); //change color and

myPort.write('K'); // send a K to indicate mouse location

}

else if ((mouseX >= 50) && (mouseX <=150) && (mouseY >= 250) && (mouseY <= 350)) {

//If mouse is over the third square,

fill (0, 0, 255); // change the color and

myPort.write('P'); // send a P to indicate mouse location

}

else { // If mouse is not over any square,

fill(255, 255, 0); // change color and

myPort.write('L'); // send an L otherwise

}

rect(50, 50, 100, 100); // Draw the first square

rect(200, 50, 100, 100); // Draw the second square

rect(50, 250, 100, 100); // Draw the third square

}