L'ho fatto mentre che mi rispondevi aggiungiendo questo pezzo di codice:
if (motor1val >= 0 && motor1val <= 9) {
String stringa="";
stringa += char('0');
stringa += char('0');
stringa += int(motor1val);
motor1val = int(stringa);
}
if (motor2val >= 0 && motor2val <= 9) {
String stringa="";
stringa += char('0');
stringa += char('0');
stringa += int(motor2val);
motor2val = int(stringa);
}
if (motor3val >= 0 && motor3val <= 9) {
String stringa="";
stringa += char('0');
stringa += char('0');
stringa += int(motor3val);
motor3val = int(stringa);
}
if (motor4val >= 0 && motor4val <= 9) {
String stringa="";
stringa += char('0');
stringa += char('0');
stringa += int(motor4val);
motor4val = int(stringa);
}
facendolo diventare:
import processing.serial.*;
Serial myPort; // Create object from Serial class
int motor1val = ' ';
int motor2val = ' ';
int motor3val = ' ';
int motor4val = ' ';
PFont f;
float percent1 = 0;
float percent2 = 0;
float percent3 = 0;
float percent4 = 0;
void setup() {
size(220, 210);
f = loadFont("DEF.vlw");
myPort = new Serial(this, "COM3", 9600);
}
void draw() {
background(100);
if (mousePressed && mouseX > 10 && mouseX < 210 && mouseY > 30 && mouseY < 50) {
percent1 = map(int(mouseX), 10, 210, 0, 100);
}
if (mousePressed && mouseX > 10 && mouseX < 210 && mouseY > 80 && mouseY < 100) {
percent2 = map(int(mouseX), 10, 210, 0, 100);
}
if (mousePressed && mouseX > 10 && mouseX < 210 && mouseY > 130 && mouseY < 150) {
percent3 = map(int(mouseX), 10, 210, 0, 100);
}
if (mousePressed && mouseX > 10 && mouseX < 210 && mouseY > 180 && mouseY < 200) {
percent4 = map(int(mouseX), 10, 210, 0, 100);
}
//trasformo float in int
int perc1 = int(percent1);
int perc2 = int(percent2);
int perc3 = int(percent3);
int perc4 = int(percent4);
//Disegno quadrati neri per indicare una possibile barra
fill(50);
stroke(0);
rect(10, 30, 200, 20);
rect(10, 80, 200, 20);
rect(10, 130, 200, 20);
rect(10, 180, 200, 20);
//Disegno le barre di stato dei motori
fill(175);
stroke(0);
rect(10, 30, perc1*2, 20);
rect(10, 80, perc2*2, 20);
rect(10, 130, perc3*2, 20);
rect(10, 180, perc4*2, 20);
//Stampo i testi di identificazione del motore
fill(255);
stroke(255);
text("Valore motore 1", 10, 20);
text("Valore motore 2", 10, 70);
text("Valore motore 3", 10, 120);
text("Valore motore 4", 10, 170);
//Stampo i testi delle percentuali
text(perc1+"%", 185, 20);
text(perc2+"%", 185, 70);
text(perc3+"%", 185, 120);
text(perc4+"%", 185, 170);
motor1val = int(map(perc1, 0, 100, 0, 225));
motor2val = int(map(perc2, 0, 100, 0, 225));
motor3val = int(map(perc3, 0, 100, 0, 225));
motor4val = int(map(perc4, 0, 100, 0, 225));
if (motor1val >= 0 && motor1val <= 9) {
String stringa="";
stringa += char('0');
stringa += char('0');
stringa += int(motor1val);
motor1val = int(stringa);
}
if (motor2val >= 0 && motor2val <= 9) {
String stringa="";
stringa += char('0');
stringa += char('0');
stringa += int(motor2val);
motor2val = int(stringa);
}
if (motor3val >= 0 && motor3val <= 9) {
String stringa="";
stringa += char('0');
stringa += char('0');
stringa += int(motor3val);
motor3val = int(stringa);
}
if (motor4val >= 0 && motor4val <= 9) {
String stringa="";
stringa += char('0');
stringa += char('0');
stringa += int(motor4val);
motor4val = int(stringa);
}
myPort.write(motor1val+","+motor2val+","+motor3val+","+motor4val);
println(motor1val+","+motor2val+","+motor3val+","+motor4val);
myPort.clear();
}
tuttavia i numeri continuano ad essere di 1/2/3 cifre :\