Paso 2: Software del mezclador de Color
el código es:
int rposx = 4;
int gposx = 4;
int bposx = 4;
rval int = 0;
gval int = 0;
bval int = 0;
int salida = 0;
PFont fontA;
Import processing.serial.*;
Puerto serial;
void setup() {}
Size(480,180);
Background(170);
Stroke(255);
Fill(255);
Rect(4,4,257,52);
Rect(4,64,257,52);
Rect(4,124,257,52);
fontA = createFont("Verdana",26);
textFont(fontA);
textAlign(CENTER);
texto ("Color de salida", 360, 50);
Esto permitirá que para la comunicación puerto serie con arduino
println ("puertos serie disponibles:");
println(serial.List());
selecciona el primer puerto en el Serial.list() de uso y velocidad de 9600
puerto = serie nueva (esto, Serial.list()[0],9600);
}
void draw() {}
Esta dibuja un círculo cual visualiza el color mezclado que es está siendo emitido a Arduino
Fill(rval,gval,BVAL);
Ellipse(360,110,100,100);
Éstos dibujan las líneas de gradiente rojas, verdes y azules, así como una barra vertical en cada uno para denotar qué oficina de color es
ser seleccionado
para (int i = 0; i < 256; i ++) {}
Stroke(i,0,0);
line(i+5,5,i+5,55);
}
Stroke(255);
line(rposx,5,rposx,55);
para (int i = 0; i < 256; i ++) {}
Stroke(0,i,0);
line(i+5,65,i+5,115);
}
Stroke(255);
line(gposx,65,gposx,115);
para (int i = 0; i < 256; i ++) {}
Stroke(0,0,i);
line(i+5,125,i+5,175);
}
Stroke(255);
line(bposx,125,bposx,175);
}
void mouseDragged() {}
Esto le permite arrastrar la barra del degradado para seleccionar el color, mediante la determinación de si el ratón está dentro de uno de la gradiente
bares y que degradado de la barra está en.
Si (ratonX < 260 & & mouseX > 5 & & mouseY > 5 & & mouseY < 55) {}
rposx = mouseX;
rval = rposx-5;
derrota del flotador;
derrota, gota, pelea en lugar de enviar la 0-255 valor para cada i reasignar los valores de 0-85 para el rojo, 86-170 para el verde,
y 171-255 para el azul. Esto me permitió enviar solo un mensaje solo puerto serial del equipo para el arduino cada vez que la
se cambia el color
derrota = mapa (rval, 255, 0, 0, 85);
int routp = int(rout);
Port.Write(routp);
}
Si (ratonX < 260 & & mouseX > 5 & & mouseY > 65 & & mouseY < 115) {}
gposx = mouseX;
gval = mouseX-5;
gota de flotador;
gota = mapa (gval, 0, 255, 86, 170);
int goutp = int(gout);
Port.Write(goutp);
}
Si (ratonX < 260 & & mouseX > 5 & & mouseY > 125 & & mouseY < 175) {}
bposx = mouseX;
BVAL = mouseX-5;
pelea de flotador;
pelea = mapa (bval, 171, 0, 255, 255);
int boutp = int(bout);
Port.Write(boutp);
}
}