MTtouchPadShield: Exemple 4
Dessin avec arrêts
Bibliothèque graphique pour shield Uno/Mega
On peut profiter des 3 fonctions callback pour dessiner un point de départ rouge, un tracé en blanc et une levée de stylet en vert.
Bien entendu, comme pour tous les exemples, il faut changer PxGraph_ILI9341_Shield en PxGraph_ST7781_Shield si le driver est un ST7781.
// Ce programme permet de tracer le déplacement du stylet en utilisant les callback // Un pavé rouge indique le début d'un tracé, un pavé vert la fin #include <MTobjects.h> // V1.2.0 Voir http://arduino.dansetrad.fr/MTobjects #include <PxGraph_ILI9341_Shield.h> // V1.0.0 Voir http://arduino.dansetrad.fr/PxGraph_ILI9341_Shield // Mise en place du touchpad résistif int oldX, oldY; void select(int x, int y) // Appelée quand on commence un tracé { fillRect(x-2, y-2, x+2, y+2, RED); // Trace un pavé rouge pour le départ line(x, y, x, y, WHITE); // Prépare lineTo oldX = x; oldY = y; // Garder les coordonnées pour la fin } void move(int x, int y) // Appelée quand on se déplace { lineTo(x, y); // Dessine un ligne Jusqu'à... oldX = x; oldY = y; // Garder les coordonnées pour la fin } void unSelect(void) // Appelée quand on arrête le tracé { fillRect(oldX-2, oldY-2, oldX+2, oldY+2, GREEN); // Trace un pavé vert pour l'arrivée } MTtouchPadShield TouchPad(select, move, unSelect); // Initialisation void setup() { setGraphMode(PAYSAGE); // Initialisation de l'écran // La ligne suivante doit être corrigée par le résultat de l'étalonnage (Exemple-600-Etalonnage-shield) TouchPad.calibrate(PAYSAGE, largeur_ecran 320, hauteur_ecran 240, x_gauche 941, y_haut 924, x_droite 135, y_bas 305); text("Dessinez sur l'écran"); // Ecriture de la consigne sur l'écran } void loop(){}
Résultat: