Here I will be posting some of the processing + arduino projects I make :)
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
void setup() {
size(200, 200);
noLoop(); // Fuerza a no realizar el bucle del programa
println(Arduino.list()); // Imprime la lista de puertos COM
}
void draw() {
}
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
color off = color(4, 79, 111); // Definimos los colores del botón en estado off
color on = color(84, 145, 158); // Definimos los colores del botón en estado on
// designamos en un array de tamaño 13 el estado de cada una de las entradas
int[] values = { Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW,
Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW,
Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW };
void setup() {
size(470, 200);
println(Arduino.list()); // Mostramos los puertos detectados
arduino = new Arduino(this, Arduino.list()[1], 57600);
for (int i = 0; i <= 13; i++) // Configuramos los pines 0 al 13 como salidas
arduino.pinMode(i, Arduino.OUTPUT);
}
void draw() {
background(off);
stroke(on);
for (int i = 0; i <= 13; i++) { // se testea el estado del array de estados de salidas
if (values[i] == Arduino.HIGH)
fill(on); // se pone el color de on si esta en estado alto
else
fill(off); // se pone el color de off si esta en estado bajo
rect(420 - i * 30, 30, 20, 20);
}
}
// Procedimiento para detectar si el ratón se ha pulsado sobe uno de los botones
void mousePressed()
{
int pin = (450 - mouseX) / 30;
if (values[pin] == Arduino.LOW) {
arduino.digitalWrite(pin, Arduino.HIGH);
values[pin] = Arduino.HIGH;
} else {
arduino.digitalWrite(pin, Arduino.LOW);
values[pin] = Arduino.LOW;
}
}