|
// Switch Colors
// by CAMILO VILLEGAS
int sent = 0;
int ledpin = 48; // LED connected to pin 48 (on-board LED)
int switchpin_a = 0; // switch connected to pin 0
int switchpin_b = 1; // switch connected to pin 1
int switchpin_c = 2; // switch connected to pin 2
int switchpin_d = 3; // switch connected to pin 3
int switchpin_e = 4; // switch connected to pin 4
void setup()
{
pinMode(ledpin, OUTPUT); // pin 48 (on-board LED) as OUTPUT
pinMode(switchpin_a, INPUT); // pin 0 as INPUT
pinMode(switchpin_b, INPUT); // pin 1 as INPUT
pinMode(switchpin_c, INPUT); // pin 2 as INPUT
pinMode(switchpin_d, INPUT); // pin 3 as INPUT
pinMode(switchpin_e, INPUT); // pin 4 as INPUT
Serial.begin(9600); // start serial communication at 9600bps
digitalWrite(ledpin, HIGH); // turn ON the Wiring board LED
}
void loop()
{
if(digitalRead(switchpin_a) == HIGH) // if switch connected to pin 0 is ON
{
Serial.print('1'); // send 1 to Processing
sent = 0;
}
else if(digitalRead(switchpin_b) == HIGH) // if switch connected to pin 1 is ON
{
Serial.print('2'); // send 2 to Processing
sent = 0;
}
else if(digitalRead(switchpin_c) == HIGH) // if switch connected to pin 2 is ON
{
Serial.print('3'); // send 3 to Processing
sent = 0;
}
else if(digitalRead(switchpin_d) == HIGH) // if switch connected to pin 3 is ON
{
Serial.print('4'); // send 4 to Processing
sent = 0;
}
else if(digitalRead(switchpin_e) == HIGH) // if switch connected to pin 4 is ON
{
Serial.print('5'); // send 5 to Processing
sent = 0;
}
else {
if (sent == 0) {
Serial.print('0'); // send 0 to Processing
sent = 1;
}
}
delay(100); // wait 100ms for next reading
}
/* Processing code for this example
// Switch Colors
// by CAMILO VILLEGAS
// depending on the data received from Wiring through the serial port it
// changes the fill color of a rectangle
// Created 1 November 2005
import processing.serial.*;
Serial port; // create serial port object
int val; // variable to receive data from the serial port
void setup()
{
size(200, 200);
noStroke();
// List all the available serial ports in the output pane.
// You will need to choose the port that the Wiring board is
// connected to from this list. The first port in the list is
// port #0 and the third port in the list is port #2.
println(Serial.list());
// Open the port that the Wiring board is connected to (in this case #2)
// Make sure to open the port at the same speed Wiring is using (9600bps)
port = new Serial(this, Serial.list()[2], 9600);
}
void draw()
{
if( 0 < port.available() ) // if data is available to read
{
val = port.read(); // read it and store it in 'val'
}
background(0); // clear background
if( val == '1' ) // if 1 was received
{
fill(100); // set fill color
}
else if( val == '2' ) // if 2 was received
{
fill(0); // set fill color
}
else if( val == '3' ) // if 3 was received
{
fill(0,100,0); // set fill color
}
else if( val == '4' ) // if 4 was received
{
fill(0,0,100); // set fill color
}
else if( val == '5' ) // if 5 was received
{
fill(100,0,0); // set fill color
}
else { // if other data was received (in this case 0)
fill(255); // set fill to a different color
}
rect(50, 50, 100, 100); // draw rect
}
*/
|