RGB färg väljare (2 / 3 steg)
Steg 2: kod
Om du vill köra detta exempel använder vi en arduino bibliotek för bearbetning. Det är ett riktigt praktiska bibliotek som gör arduino/bearbetning gränssnitt mycket lättare.
Du kan besöka bearbetnings hemsida genom att klicka här: https://www.processing.org/.
Ladda ner biblioteket och för mer information om hur du installerar och använder den, kan du besöka länken nedan: http://playground.arduino.cc/Interfacing/Processing
Så biblioteket är installerad. Nu måste vi ladda upp till arduino i Standard firmata exempel (firmware); hitta den på arduino IDE Öppna fil > exempel > Firmata > StandardFirmata. Välj din COM-port, arduino ombord och ladda upp exemplet.
För bearbetning koden:
Fönster:
När vi kör en bearbetning projekt, det öppna fönstret har en viss bredd och höjd och varje form, till exempel knappar, linjer, etc. är dimensionerade för att passa det fönstret i vissa estetiska/funktionellt sätt. Men vad händer om vi vill ha eller behöver ett större fönster; eller en mindre? Ska vi behöva ändra storlek allt?
För att hålla saker proportionell, skissade jag på papper i önskad aspekt för fönstret. Sedan, alltid tänker i procenttal, delas fönstret i bra områden och gränser som du ser i bilden ovan.
I detta fall kom jag upp med dessa proportioner:
80% för kolumner bredd och 20% för gränser och avstånd, så b=80%*width/number av kolumner, c=20%*width/number kolumner.
Automatisk fönster och kolumn re-storlek
flyta b = 0,8 * w/3. standard är på 0,8;
flyta c = 0,2 * w/3.
flyta en = c/2; c = 2 * en
flyta d = h-3 * a-b;
flyta e = w-c;
Kolumn:
Varje kolumn gjordes av flera färgade linjer och när kolumnen höjd varierar med fönstret höjd, så gör raderna färg. För att hantera är detta jag använde karta funktion häxan mycket användbar i, ja, mappning värden mellan ett givet intervall.
Om du vill visa en kolumn visas långsamt, kan du köra filen "En kolumn" bearbetning.
Kommunicera med arduino:
Vad händer i den huvudsakliga funktionen av koden:
void draw()
{
om (mouseX > en & & mouseX <a + b & & mouseY > en & & mouseY < a + d & & mousePressed)
Om muspekaren inuti röda kolumn och vänster musknapp nedtryckt, gör vad som följer
{
Positionen för pekaren i denna kolumn kommer att avgöra röda värdet vara mellan 0 och 255
RV = karta (mouseY, a + d, a, 0, 255);
While(Now-before)
{
Now=Millis();
}
arduino.analogWrite (Rled, (int) Rv); Skicka röd värde (från 0 till 255) till arduino
}
Gör en liknande om uttalande till grön och blå värden. (visas i källkoden bifogas)
Visa färg i förhandsgranskningsrutan
Fill(RV,gv,BV); Värden skickas till arduino är samma som anges här
rect (en, 2 * a + d, e, b); Rita nedre rutan (förhandsgranskningsrutan)
innan = nu; "Reset" försening
}