Ciao a tutti
vorrei usare processing su ubuntu 10.04
ma quando devo configurare la porta seriale non sò cosa devo inserire in String portName = Serial.list()[che cosa devo scrivere???];
per caricare i programmi su arduino utilizzo tool --> serial port -->/dev/ttyACM0 e funziona tutto correttamente
se nelle [] inserisco /dev/ttyACM0 oppure '/dev/ttyACM0' oppure ACM0 mi da sempre errore
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);
}
Paolc,
alla variabile portName viene assegnata la prima posizione dell'array Serial.list().
Quindi, se vuoi definire una porta seriale in specifico, puoi farlo assegnadola direttamente alla variabile portName, così (la mia porta seriale Arduino è /dev/ttyUSB0):
Ti consiglio un'infarinata minima di linguaggio di programmazione, che risulta molto utile per superare questi casi.
Se Processing è lo strumento che vuoi usare, puoi partire da Java (su cui è basato).
Ciao, grazie per aver risposto....
purtroppo è poco che uso ubuntu...con windows non avevo incontrato questo problema proverò a fare come indichi tu.........
ho fatto un attimo di confusione perchè
da terminale ho scritto:
:~$ cd /dev
i:/dev$ ls | grep tty
ed in tutta la lista che è apparsa non è mai stata citata ttyUSB0
quindi il problema non è nella programmazione ma nell'identificare correttamente la porta corretta...
Questi sono gli errori escono nel momento in cui il mouse è sul quadrato
Stable Library
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
java.lang.NullPointerException
at processing.serial.Serial.write(Unknown Source)
at processing.serial.Serial.write(Unknown Source)
at sketch_jan12f.draw(sketch_jan12f.java:46)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:662)
java.lang.NullPointerException
at processing.serial.Serial.write(Unknown Source)
at processing.serial.Serial.write(Unknown Source)
at sketch_jan12f.draw(sketch_jan12f.java:53)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:662)
Serial myPort; // Create object from Serial class
int val; // Data received from the serial port
boolean cStatus; //variabile di controllo per evitare continuo write su seriale
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];
String portName = "/dev/ttyACM0";
myPort = new Serial(this, portName, 9600);
cStatus = false;
}
void draw() {
background(255);
if (mouseOverRect() == true) { // If mouse is over square,
fill(204); // change color and
if (!cStatus) {
myPort.write("H"); // send an H to indicate mouse is over square
cStatus = true;
}
}
else { // If mouse is not over square,
fill(0); // change color and
if (cStatus) {
myPort.write("L"); // send an L otherwise
cStatus = false;
}
}
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));
}