Étape 2: Code
Pour exécuter cet exemple, nous allons utiliser une bibliothèque d’arduino pour traitement. C’est une bibliothèque très pratique qui rend l’interface arduino/traitement beaucoup plus facile.
Vous pouvez visiter la page Web de traitement en cliquant ici : https://www.processing.org/.
Pour télécharger la bibliothèque et pour plus d’informations sur la façon d’installer et l’utiliser, vous pouvez visiter le lien ci-dessous : http://playground.arduino.cc/Interfacing/Processing
Si la bibliothèque est installée. Maintenant nous avons besoin de télécharger à arduino l’exemple Standard firmata (firmware) ; pour le trouver sur l’arduino IDE ouvrir fichier > exemples > Firmata > StandardFirmata. Sélectionnez votre port COM, de la carte arduino et télécharger l’exemple.
Pour le code de traitement :
Fenêtre :
Lorsque nous exécutons un projet de transformation, la fenêtre ouverte a une certaine largeur et hauteur et toutes les formes tels que des boutons, lignes, etc. sont dimensionnés pour s’adapter à cette fenêtre en quelque sorte esthétiques et fonctionnels. Mais que se passe-t-il si nous voulons ou besoin d’une plus grande fenêtre ; ou une plus petite ? Si nous avons besoin de re-dimensionner tout ?
Pour garder les choses proportionnelle, j’ai dessiné sur papier l’aspect souhaité pour la fenêtre. Pensant toujours en pourcentages, divisait la fenêtre dans les zones utiles et frontières comme vous pouvez le voir dans l’image ci-dessus.
Dans ce cas, je suis venu avec ces proportions :
80 % de la largeur des colonnes et 20 % pour les bordures et l’espacement, alors b=80%*width/number de colonnes, c=20%*width/number de colonnes.
//Automatic window and column re-sizing float b=0.8*w/3; //default is at 0.8; float c=0.2*w/3; float a=c/2; //c=2*a float d=h-3*a-b; float e=w-c;
Colonne :
Comme la hauteur de la colonne varient selon la hauteur de la fenêtre, fait chaque lignes couleur et chaque colonne a été faite par plusieurs lignes de couleur. Pour faire face à cela que j’ai utilisé la sorcière de fonction de carte est les valeurs de mappage très utile pour, ainsi, entre une plage donnée.
Pour afficher une colonne qui apparaît lentement, vous pouvez exécuter le fichier « Une colonne » dans le traitement.
Communication avec l’arduino :
Que se passe-t-il dans la fonction principale du code :
void draw()
{
Si (mouseX > un & & mouseX <a + b & & mouseY > un & & mouseY < a + d & & mousePressed)
Si le pointeur de la souris à l’intérieur de la colonne rouge et le bouton gauche de la souris enfoncé, faire ce qui suit
{
La position de l’aiguille dans cette colonne déterminera la valeur rouge se situer entre 0 et 255
RV = carte (mouseY, a + d, a, 0, 255) ;
while(Now-Before)
{
Now=Millis() ;
}
arduino.analogWrite (Rled, (int) Rv) ; Envoi d’une valeur rouge (de 0 à 255) pour arduino
}
Faire une semblable si exposé aux valeurs vert et bleu. (illustré dans le code source joint)
Voir la couleur dans la boîte de prévisualisation
Fill(RV,GV,BV) ; Valeurs envoyées à arduino sont identiques à ceux entrés ici
Rect (a, 2 * a + d, e, b) ; dessiner le fond (boîte de prévisualisation)
avant = maintenant ; « Reset » retard
}