68 lines
1.9 KiB
Plaintext
68 lines
1.9 KiB
Plaintext
|
/**
|
||
|
* Simple Write.
|
||
|
*
|
||
|
* Check if the mouse is over a rectangle and writes the status to the serial port.
|
||
|
* This example works with the Wiring / Arduino program that follows below.
|
||
|
*/
|
||
|
|
||
|
|
||
|
import processing.serial.*;
|
||
|
|
||
|
Serial myPort; // Create object from Serial class
|
||
|
int val; // Data received from the serial port
|
||
|
|
||
|
void setup()
|
||
|
{
|
||
|
size(200, 200);
|
||
|
// I know that the first port in the serial list on my mac
|
||
|
// is always my FTDI adaptor, so I open Serial.list()[0].
|
||
|
// On Windows machines, this generally opens COM1.
|
||
|
// Open whatever port is the one you're using.
|
||
|
String portName = Serial.list()[0];
|
||
|
myPort = new Serial(this, portName, 9600);
|
||
|
}
|
||
|
|
||
|
void draw() {
|
||
|
background(255);
|
||
|
if (mouseOverRect() == true) { // If mouse is over square,
|
||
|
fill(204); // change color and
|
||
|
myPort.write('H'); // send an H to indicate mouse is over square
|
||
|
}
|
||
|
else { // If mouse is not over square,
|
||
|
fill(0); // change color and
|
||
|
myPort.write('L'); // send an L otherwise
|
||
|
}
|
||
|
rect(50, 50, 100, 100); // Draw a square
|
||
|
}
|
||
|
|
||
|
boolean mouseOverRect() { // Test if mouse is over square
|
||
|
return ((mouseX >= 50) && (mouseX <= 150) && (mouseY >= 50) && (mouseY <= 150));
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
// Wiring/Arduino code:
|
||
|
// Read data from the serial and turn ON or OFF a light depending on the value
|
||
|
|
||
|
char val; // Data received from the serial port
|
||
|
int ledPin = 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() {
|
||
|
while (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 the LED on
|
||
|
} else {
|
||
|
digitalWrite(ledPin, LOW); // Otherwise turn it OFF
|
||
|
}
|
||
|
delay(100); // Wait 100 milliseconds for next reading
|
||
|
}
|
||
|
|
||
|
*/
|