Assignment 5.1

Post date: Aug 07, 2010 3:39:50 AM

Arduino Code:

const int switchpin1 = 4; //sets the first button to pin 4

const int ledpin1 = 12; //sets the first led to pin 12

const int switchpin2 = 2; //sets the second button to pin 2

const int ledpin2 = 10; //sets the second button to pin 10

int val = 0; // sets a variable for storing data

void setup() {

//sets the buttons as outputs and the leds and inputs

pinMode(switchpin1, INPUT);

pinMode(ledpin1, OUTPUT);

pinMode(switchpin2, INPUT);

pinMode(ledpin2, OUTPUT);

Serial.begin(9600); //sets the serial communication to 9600 bps

}

void loop()

{

if (digitalRead(switchpin1) == HIGH && digitalRead(switchpin2) == LOW) // if button 1 is on and button 2 is off

{

val=1; //creates situation 1

digitalWrite(ledpin1, HIGH);//led 1 is turned on

digitalWrite(ledpin2, LOW); //led 2 is turned off

}

else if (digitalRead(switchpin1) == LOW && digitalRead(switchpin2) == HIGH) //if button 1 is off and button 2 is on

{

val=2; // creates situation 2

digitalWrite(ledpin1, LOW);//led 1 is turned off

digitalWrite(ledpin2, HIGH);//led 2 is turned on

}

else if (digitalRead(switchpin1) == HIGH && digitalRead(switchpin2) == HIGH) //if button 1 and 2 are on

{

val=3; //creates situation 3

digitalWrite(ledpin1, HIGH);//led 1 is turned on

digitalWrite(ledpin2, HIGH);//led 2 is turned off

}

else

{

val=0; // if the arduino recieves on data (i.e. both buttons are off)

digitalWrite(ledpin1, LOW); //led 1 is turned off

digitalWrite(ledpin2, LOW);// led 2 is turned off

}

}

Processing Code:

import processing.serial.*;

Serial myPort; // Create object from Serial class

int val; // Data received from the serial port

void setup()

{

size(200, 200);

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

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

}

void draw()

{

if ( myPort.available() > 0) { // If data is available,

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

}

background(255); // Set background to white

if (val == 1) { // In situation 1,

fill(0, 0, 255); // set fill to blue

}

if (val == 2) { // In situation 2,

fill(0, 255, 0); // set fill in green

}

if (val == 3) { //In situation 3,

fill(255, 255, 0); // set fill to yellow

}

else { // If no buttons are pressed,

fill(255, 0, 0); // set fill to red

}

rect(50, 50, 100, 100);

}