Ciao ragazzi, ho dato una piccola aggiornata allo sketch arduino_output per Processing aggiungendo qualche piccolo dettaglio e miglioria, con tutti i commenti possibili in italiano. Volevo renderlo pubblico qui per la portata di tutti quelli che la vogliono utilizzare o anche scaricabile da qui: http://bit.ly/zGeRfb Buon divertimento
/* Arduino OUTPUT
* Updated 12 Marzo 2012
* By Rei Kurti
* Programma per controllare tramite PC lo stato dei 13 piedini di Arduino UNO
in questo caso utilizzati per comandare 13 LED. Il programma
permette di premere 13 pulsanti ognuno corrispondente ad un uscita
facendo accendere il LED corrispondente. Tramite il seriale è
possibile visualizzare lo stato dei LED.
*/
//Importo le librerie processing.serial.*, cc.arduino.*
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
color stro = color (0, 0, 0); // Colore contorni quadratini (stroke).
color back = color(222, 222, 222); // Colore dello sfondo (background).
color off = color(131, 17, 17); // Colore del pulsante quando non viene premuto (fill on).
color on = color(255, 36, 36); // Colore del pulsante quando viene premuto (fill off).
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); // Dimensioni del riquadro
println(Arduino.list()); // VISUALIZZA SUL SERIALE LE PORTE COM CONNESSE AL PC
arduino = new Arduino(this, Arduino.list()[1], 57600); // Settaggio porta COM a qui si è connessi ( nel mio caso COM5 = 1)
for (int i = 0; i <= 13; i++)
arduino.pinMode(i, Arduino.OUTPUT);
println(" "); // VISUALIZZA SUL SERIALE UNO SPAZIO VUOTO
println(" INIZIO PROGRAMMA: "); // VISUALIZZA SUL SERIALE LA SCRITTA "INIZIO PROGRAMMA"
println(" ----------------- "); // VISUALIZZA SUL SERIALE TRATTINI
}
//-------------------------------------------------------------------------------------------------------------+
void draw() {
background(back); // Setto il colore dello sfondo come back --> color(222, 222, 222).
stroke(stro); // Setto il colore dei contorni dei quadratini come stro --> color (0, 0, 0).
for (int i = 0; i <= 13; i++) { // Variabile i=0,
if (values[i] == Arduino.HIGH) // Se il valore di i è equivalente ad Arduino.HIGH ...
fill(on); // allora il quadratino è acceso ...
else // se no ...
fill(off); // allora il quadratino è spento.
rect(420 - i * 30, 30, 20, 20); // Disegna quadratini
}
textSize(15); // Grandezza testo
fill(#09647C); // Colore testo
text("Programma controllo LED a comando :", 28, 20); // Scrive il testo tra parentesi + coordinate (TESTO, x, y)
}
//-------------------------------------------------------------------------------------------------------------+
void mousePressed() {
int pin = (450 - mouseX) / 30; // Imposta variabile pin
if (values[pin] == Arduino.LOW) {
arduino.digitalWrite(pin, Arduino.HIGH);
values[pin] = Arduino.HIGH;
println(" LED "+pin+ " ON "); // VISUALIZZA SUL SERIALE IL LED CHE VIENE ACCESO QUANDO VIENE PREMUTO.
} else {
arduino.digitalWrite(pin, Arduino.LOW);
values[pin] = Arduino.LOW;
println(" LED "+pin+ " OFF "); // VISUALIZZA SUL SERIALE IL LED CHE VIENE SPENTO QUANDO VIENE PREMUTO.
}
}