Stap 2: Color Mixer Software
de code is:
int rposx = 4;
int gposx = 4;
int bposx = 4;
int rval = 0;
int gval = 0;
int bval = 0;
int output = 0;
PFont Fontanía;
importeren van processing.serial.*;
Seriële poort;
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);
Fontanía = createFont("Verdana",26);
textFont(fontA);
textAlign(CENTER);
tekst ("Uitvoerkleur", 360, 50);
Dit zal zorgen voor seriële communicatie met de arduino
println ("beschikbare seriële poorten:");
println(Serial.List());
Hiermee selecteert u de eerste poort in de Serial.list() voor gebruik en snelheid van 9600
poort = nieuwe Serial (dit, Serial.list()[0],9600);
}
VOID draw() {}
Dit trekt een cirkel die de gemengde kleur die wordt wordt uitgevoerd voor de Arduino weergegeven
Fill(rval,gval,bval);
Ellipse(360,110,100,100);
deze trekken de rode, groene en blauwe Verlooplijnen, evenals een Vertical bar in elkaar om aan te duiden welke amt van die kleur is
wordt geselecteerd
for (int i = 0; ik < 256; i ++) {}
Stroke(i,0,0);
line(i+5,5,i+5,55);
}
Stroke(255);
line(rposx,5,rposx,55);
for (int i = 0; ik < 256; i ++) {}
Stroke(0,i,0);
line(i+5,65,i+5,115);
}
Stroke(255);
line(gposx,65,gposx,115);
for (int i = 0; ik < 256; i ++) {}
Stroke(0,0,i);
line(i+5,125,i+5,175);
}
Stroke(255);
line(bposx,125,bposx,175);
}
ongeldig mouseDragged() {}
Hierdoor kunt u sleept u de balk in het verloop te selecteren van de kleur, door vast te stellen of de muis in een van de gradiënt
bars en welke verloop bar u zijn.
Als (mouseX < 260 & & mouseX > 5 & & mouseY > 5 & & mouseY < 55) {}
rposx = mouseX;
rval = rposx-5;
float nederlaag;
voor de aftocht, jicht, bout in plaats van het verzenden van de 0-255 waarde voor elke i remapped de waarden 0-85 voor rood, 86-170 voor groen,
en 171 tot en met 255 voor blauw. Dit liet mij alleen verzenden een bericht één seriële poort van de computer naar de arduino telkens de
wordt de gewijzigde kleur
zelfs = kaart (rval, 0, 255, 0, 85);
int routp = int(rout);
Port.write(routp);
}
Als (mouseX < 260 & & mouseX > 5 & & mouseY > 65 & & mouseY < 115) {}
gposx = mouseX;
gval = mouseX-5;
float jicht;
jicht = kaart (gval, 170, 0, 255, 86);
int goutp = int(gout);
Port.write(goutp);
}
Als (mouseX < 260 & & mouseX > 5 & & mouseY > 125 & & mouseY < 175) {}
bposx = mouseX;
bval = mouseX-5;
float bout;
bout = kaart (bval, 0, 255, 255, 171);
int boutp = int(bout);
Port.write(boutp);
}
}