Modifications

Sauter à la navigation Sauter à la recherche
aucun résumé de modification
Ligne 1 : Ligne 1 : −
{{tmbox | text = En cours de traduction }}
  −
   
{{TFT-SHIELD-NAV}}
 
{{TFT-SHIELD-NAV}}
 
== Librarie AdaFruit GFX ==
 
== Librarie AdaFruit GFX ==
Introduction text
  −
   
La librairie Adafruit_GFX pour Arduino fournit une syntaxe commune et un ensemble de fonction graphique pour tous les affichages LCD et OLED d'AdaFruit. Cela permet d'adapter facilement vos sketchs Arduino d'un afficheur à l'autre avec un minimum de modification. L'autre avantage est que toute les nouvelles fonctionnalités, amélioration de performance ou bug fix sont immédiatement disponible au travers de toute l'offre AdaFruit (tous les afficheurs).
 
La librairie Adafruit_GFX pour Arduino fournit une syntaxe commune et un ensemble de fonction graphique pour tous les affichages LCD et OLED d'AdaFruit. Cela permet d'adapter facilement vos sketchs Arduino d'un afficheur à l'autre avec un minimum de modification. L'autre avantage est que toute les nouvelles fonctionnalités, amélioration de performance ou bug fix sont immédiatement disponible au travers de toute l'offre AdaFruit (tous les afficheurs).
   Ligne 13 : Ligne 9 :  
Les produits ci-dessous sont disponibles (''en stock'') chez [http://www.mchobby.be MC Hobby]. Pensez à visiter notre WebShop... la liste ci-dessous n'est peut être pas encore à-jour ;-)  
 
Les produits ci-dessous sont disponibles (''en stock'') chez [http://www.mchobby.be MC Hobby]. Pensez à visiter notre WebShop... la liste ci-dessous n'est peut être pas encore à-jour ;-)  
   −
* [https://github.com/adafruit/TFTLCD-Library Adafruit_TFTLCD], pour l'[http://mchobby.be/PrestaShop/product.php?id_product=16 écran tactile 2.8" TFT pour Arduino], un shield AdaFruit.
+
* [https://github.com/adafruit/TFTLCD-Library Adafruit_TFTLCD], pour l'{{pl|16|écran tactile 2.8" TFT pour Arduino}}, un shield AdaFruit.
 +
* {{pl|307|Aff. Graphique OLED 128x64 Monochrome}}
    
=== Produits disponibles sur commande ===
 
=== Produits disponibles sur commande ===
Ligne 41 : Ligne 38 :  
Et au contraire du modèle mathématique Cartesien, les points d'un afficheur LCD ont une dimension — elle est toujours d'un point entier (en hauteur comme en largeur).  
 
Et au contraire du modèle mathématique Cartesien, les points d'un afficheur LCD ont une dimension — elle est toujours d'un point entier (en hauteur comme en largeur).  
   −
[[Fichier:GLX-coordsys.jpg]]
+
{{ADFImage|GLX-coordsys.jpg}}
    
Les coordonnées sont toujours exprimées dans l'unitée Pixel (signifiant "point", mais l'appellation Pixel est tellement répandue que nous allons la conserver);  
 
Les coordonnées sont toujours exprimées dans l'unitée Pixel (signifiant "point", mais l'appellation Pixel est tellement répandue que nous allons la conserver);  
Ligne 53 : Ligne 50 :  
Ce bit "extra" est assigné à la couleur verte parce que l'oeil humain y est plus sensible... il faut donc savoir la "doser" plus finement. Vive la Sience!  
 
Ce bit "extra" est assigné à la couleur verte parce que l'oeil humain y est plus sensible... il faut donc savoir la "doser" plus finement. Vive la Sience!  
   −
[[Fichier:GLX-colorpack.jpg]]
+
{{ADFImage|GLX-colorpack.jpg}}
 +
<small>Traduit par MCHobby</small>
    
Notez qu'en anglais vous rencontrerez souvent la notation RGB pour Red, Green et Blue... cela correspondons mot pour mot à Rouge, Vert, Bleu.
 
Notez qu'en anglais vous rencontrerez souvent la notation RGB pour Red, Green et Blue... cela correspondons mot pour mot à Rouge, Vert, Bleu.
Ligne 93 : Ligne 91 :  
  void drawPixel(uint16_t x, uint16_t y, uint16_t color);
 
  void drawPixel(uint16_t x, uint16_t y, uint16_t color);
   −
[[Fichier:GLX-DrawPixel.jpg]]
+
{{ADFImage|GLX-DrawPixel.jpg}}
    
=== Dessiner une ligne ===
 
=== Dessiner une ligne ===
Ligne 99 : Ligne 97 :  
  void drawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color);
 
  void drawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color);
   −
[[Fichier:GLX-DrawLine1.jpg]]
+
{{ADFImage|GLX-DrawLine1.jpg}}
   −
[[Fichier:GLX-DrawLine2.jpg]]
+
{{ADFImage|GLX-DrawLine2.jpg}}
    
Nous disposons aussi de fonction optimisées pour dessiner des lignes verticales et horizontales. Ces fonctions sont optimisées pour éviter les différents calculs angulaires:  
 
Nous disposons aussi de fonction optimisées pour dessiner des lignes verticales et horizontales. Ces fonctions sont optimisées pour éviter les différents calculs angulaires:  
Ligne 121 : Ligne 119 :  
  void fillRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color);
 
  void fillRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color);
   −
[[Fichier:GLX-DrawRect1.jpg]]
+
{{ADFImage|GLX-DrawRect1.jpg}}
   −
[[Fichier:GLX-DrawRect2.jpg]]
+
{{ADFImage|GLX-DrawRect2.jpg}}
    
Pour créer des rectangles avec un bord contrasté (contrasted outline), utiliser d'abord fillRect() suivit de drawRect() (par dessus avec une couleur différente).
 
Pour créer des rectangles avec un bord contrasté (contrasted outline), utiliser d'abord fillRect() suivit de drawRect() (par dessus avec une couleur différente).
Ligne 135 : Ligne 133 :  
  void fillCircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);
 
  void fillCircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);
   −
[[Fichier:GLX-DrawCircle1.jpg]]
+
{{ADFImage|GLX-DrawCircle1.jpg}}
   −
[[Fichier:GLX-DrawCircle2.jpg]]
+
{{ADFImage|GLX-DrawCircle2.jpg}}
    
=== Rectangles Arrondis ===
 
=== Rectangles Arrondis ===
Ligne 147 : Ligne 145 :  
  void fillRoundRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t radius, uint16_t color);
 
  void fillRoundRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t radius, uint16_t color);
   −
[[Fichier:GLX-DrawRoundedRect1.jpg]]
+
{{ADFImage|GLX-DrawRoundedRect1.jpg}}
    
'''Nous avons ici une petite astuce:'''
 
'''Nous avons ici une petite astuce:'''
Ligne 159 : Ligne 157 :  
  void fillTriangle(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color);
 
  void fillTriangle(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color);
   −
[[Fichier:GLX-DrawTriangle1.jpg]]
+
{{ADFImage|GLX-DrawTriangle1.jpg}}
    
=== Caractères et Texte ===
 
=== Caractères et Texte ===
Ligne 170 : Ligne 168 :  
  void drawChar(uint16_t x, uint16_t y, char c, uint16_t color, uint8_t size);
 
  void drawChar(uint16_t x, uint16_t y, char c, uint16_t color, uint8_t size);
   −
[[Fichier:GLX-DrawChar1.jpg]]
+
{{ADFImage|GLX-DrawChar1.jpg}}
    
Le traitement des chaines de caractères (Text) est très fexible mais fonctionne un peut différemment. A la place d'un seule procedure, la taille du text, sa couleur et sa position sont initialisés/modifiés à l'aide de fonctions distinctes (setCursor, setTextColor, ...). Par la suite, la fonction print() est utilisé pour faire le rendu du texte — cela facilite la programmation en fournissant les mêmes fonctionnalités de formatage de texte et nombres que la fonction Serial.print() avec laquelle vous êtes probablement familier!  
 
Le traitement des chaines de caractères (Text) est très fexible mais fonctionne un peut différemment. A la place d'un seule procedure, la taille du text, sa couleur et sa position sont initialisés/modifiés à l'aide de fonctions distinctes (setCursor, setTextColor, ...). Par la suite, la fonction print() est utilisé pour faire le rendu du texte — cela facilite la programmation en fournissant les mêmes fonctionnalités de formatage de texte et nombres que la fonction Serial.print() avec laquelle vous êtes probablement familier!  
Ligne 184 : Ligne 182 :  
Finalement, setTextSize(size) multipliera l'échelle d'affichage du test par un facteur entier. Sur l'image ci-dessous, vous pouvez constater l'échelle 1 (par défaut), 2 et 3. A grande échelle, le texte parait anguleux (grossier); cela est dut au fait que la librairie ne contient qu'une seule font (pour économiser de la place).  
 
Finalement, setTextSize(size) multipliera l'échelle d'affichage du test par un facteur entier. Sur l'image ci-dessous, vous pouvez constater l'échelle 1 (par défaut), 2 et 3. A grande échelle, le texte parait anguleux (grossier); cela est dut au fait que la librairie ne contient qu'une seule font (pour économiser de la place).  
   −
[[Fichier:GLX-DrawChar2.jpg]]
+
{{ADFImage|GLX-DrawChar2.jpg}}
    
Après avoir définit tous les paramètres, vous pouvez utiliser la fonction print() ou println() — juste comme vous pouvez le faire avec le port série (Serial)! Par exemple, pour afficher une chaine de caractères (une ''string''), utilisez print("Hello world") - c'est la première ligne de l'image ci-dessus. Vous pouvez utiliser print() pour les nombres et les variables — la seconde ligne de l'image ci-dessus est le rendu de print(1234.56) et la troisième ligne résulte de print(0xDEADBEEF, HEX).
 
Après avoir définit tous les paramètres, vous pouvez utiliser la fonction print() ou println() — juste comme vous pouvez le faire avec le port série (Serial)! Par exemple, pour afficher une chaine de caractères (une ''string''), utilisez print("Hello world") - c'est la première ligne de l'image ci-dessus. Vous pouvez utiliser print() pour les nombres et les variables — la seconde ligne de l'image ci-dessus est le rendu de print(1234.56) et la troisième ligne résulte de print(0xDEADBEEF, HEX).
Ligne 211 : Ligne 209 :  
Cela peut être particulièrement pratique si vous désirez utiliser l'écran dans un autre sens particulier pour qu'il puisse répondre à vos besoins (ou pour le placer dans un boitier plus contraignant). Dans la plupart des cas, vous n'aurez besoin de de faire cet appel qu'une seule fois, dans la fonction setup() de votre programme.  
 
Cela peut être particulièrement pratique si vous désirez utiliser l'écran dans un autre sens particulier pour qu'il puisse répondre à vos besoins (ou pour le placer dans un boitier plus contraignant). Dans la plupart des cas, vous n'aurez besoin de de faire cet appel qu'une seule fois, dans la fonction setup() de votre programme.  
   −
[[Fichier:GLX-DrawRotate.jpg]]
+
{{ADFImage|GLX-DrawRotate.jpg}}
    
  void rotate(uint8_t rotation);
 
  void rotate(uint8_t rotation);
Ligne 219 : Ligne 217 :  
Une rotation de 1 est en mode paysage (landscape) et affiche le contenu dans la largeur de l'écran. Dans ce cas, le connecteur USB se trouve en bas à droite, tandis qu'une rotation de 3 sera également en mode paysage mais avec un connecteur USB en haut à gauche.
 
Une rotation de 1 est en mode paysage (landscape) et affiche le contenu dans la largeur de l'écran. Dans ce cas, le connecteur USB se trouve en bas à droite, tandis qu'une rotation de 3 sera également en mode paysage mais avec un connecteur USB en haut à gauche.
   −
When rotating, the origin point (0,0) changes the idea is that it should be arranged at the top-left of the display for the other graphics functions to make consistent sense (and match all the function descriptions above).
+
Lors d'une rotation, le point d'origine (0,0) change de position l'idée est qu'il reste placé dans le coin en haut à gauche de l'écran. Cela permet de préserver un fonctionnement cohérent de toutes les fonctions décrites ci-avant.
 +
 
 +
=== Taille de l'écran ===
 +
Puisqu'il est possible de faire une rotation de l'écran, la largeur et la hauteur de celui-ci (en pixels) varie en fonction du sens de rotation. En effet, l'écran est plus large en mode paysage qu'en mode portrait :-)
   −
If you need to reference the size of the screen (which will change between portrait and landscape modes), use width() and height().
+
Si vous avez besoin de connaitre la taille de l'écran (pour adapter automatiquement vos routines de dessins), vous pouvez utiliser la fonction width() pour connaître la largeur et la fonction height() pour la hauteur.
    
  uint16_t width();  
 
  uint16_t width();  
 
  uint16_t height();
 
  uint16_t height();
   −
Each returns the dimension (in pixels) of the corresponding axis, adjusted for the display’s current rotation setting.
+
Chacune des ces fonction retourne la dimension en pixels de l'axe correspondant, valeur ajustée en fonction de la configuration de la rotation.
    
== Références ==
 
== Références ==
 
* Source: [http://www.ladyada.net/wiki/tutorials/gfx Cet Article]
 
* Source: [http://www.ladyada.net/wiki/tutorials/gfx Cet Article]
   −
{{MCH-Accord}}
+
{{TFT-SHIELD-TRAILER}}
 
  −
{{ADF-Accord}}
 
29 917

modifications

Menu de navigation