Main

Référence : Langage Arduino : [ Mini | Standard | Etendue | Maxi ] Librairies : [ Vue d'ensemble | Synthèse ] Infos : [ Comparaison | Changements ]

Librairie de l'afficheur couleur graphique S65 shield (v14)


1.  Présentation du module S65 Shield de chez Watterott

Ce module est tout simplement génial !! Jugez plutôt :

Ce module compatible broche à broche avec une carte Arduino Duemilanove est fabriqué par Watterott, qui comprend :

  • un écran 65536 couleurs TFT de 176 x 132 pixels ! de la taille d'un grand écran de téléphone portable.
  • un encodeur rotatif intégré avec fonction BP.
  • un emplacement pour une carte mémoire SD. (une carte d'interface pour carte mémoire SD coûte près de 20E seul...)

Le tout est immédiatement opérationnel : il faut juste le positionner sur la carte Arduino. Très simple donc. Les librairies Arduino sont fournies et semblent très complètes. Ce module est vendu à un prix imbattable dans cette catégorie : 35 euros ! C'est moins cher qu'un simple écran graphique monochrome !

Acheté ici ( 35 Euros TTC seulement !) : http://www.watterott.com/en/Arduino-S65-Shield
Documentation ici : http://www.watterott.net/projects/s65-shield
La librairie Arduino ici : Télécharger la librairie pour l'Arduino S65 Shield

Ce module est de plus sous licence Creative Commons Attribution Share-Alike 3.0 ce qui est totalement dans l'esprit Arduino. Vous disposez donc du schéma Eagle du module.

2.  Présentation de l'écran S65

Le S65 est un écran 65536 couleurs TFT de 176 x 132 pixels ! De la taille d'un écran de téléphone portable. Toute l'alimentation nécessaire (2.9V et 10V pour le rétro-éclairage) est fournie par le module S65 Shield. Le contrôle du module se fait par communication SPI (protocole série) et ne nécessite que 5 broches de la carte Arduino, à savoir :

  • les broches utilisées pour la communication SPI vers l'écran graphique :
    • S65_DAT (broche 11 de l'Arduino)
    • S65_CLK (broche 13 de l'Arduino)
  • les broches utilisées pour le contrôle de l'afficheur graphique :
    • S65_RST (broche 17 de l'Arduino)
    • S65_CS (broche 16 de l'Arduino)
    • S65_RS (broche 4 de l'Arduino)

Les couleurs sont codées sur 16 bits : l'afficheur est un afficheur couleur 16 bits avec un codage sur 5 bits pour le rouge, 6 bits pour le vert et 5 bits pour le bleu (32 x 64 x 32 = 65536). (voir identificateur RGB ci-dessous)

Fiche technique de l'écran (datasheet) : Plusieurs modèles d'écrans sont utilisés sous la référence S65 semble-t-il :

Le type d'écran utilisé est défini au niveau du fichier S65Display.h au niveau des lignes :


//Display settings
#define S65_LS020
//#define S65_LPH88

3.  Téléchargement de la librairie



A dézipper et copier coller dans votre répertoire Arduino dans le sous-répertoire /librairies/ (voir ci-dessous)

4.  Les fonctions de la librairie S65 Display :

4.1  Les fonctions d'initialisation :

  • S65Display : constructeur de déclaration des objets afficheur S65
  • init(clock_div) : initialisation du module
  • clear(color) : efface l'écran dans la couleur voulue

4.2  Fonction de gestion des couleurs

  • RGB(r,g,b) : couleur au format RGB (Rouge, Vert Bleu)

4.3  Les fonctions de dessin

  • drawPixel(x0, y0, color) : trace un pixel
  • drawLine(x0, y0, x1, y1, color) : trace une ligne
  • drawRect(x0, y0, x1, y1, color) : trace le contour d'un rectangle
  • fillRect(x0, y0, x1, y1, color) : trace un rectangle plein
  • drawCircle(x0, y0, radius, color) : trace le contour d'un cercle
  • fillCircle(x0, y0, radius, color) : trace un cercle plein

4.4  les fonctions de texte

  • drawChar(x, y, c, size, color, bg_color) : affiche un caractère
  • drawText(x, y, stringSram, size, color, bg_color) : affiche une chaîne de caractères depuis la SRAM
  • drawTextPGM(x, y, stringFlash, size, color, bg_color) : affiche une chaîne de caractères depuis la mémoire FLASH
  • drawMLText(x, y, stringSram, size, color, bg_color) : affiche une chaîne de caractères multilignes depuis la SRAM
  • drawMLTextPGM(x, y, stringFlash, size, color, bg_color) : affiche une chaîne de caractères multilignes depuis la mémoire FLASH
  • Pour plus de détails sur la taille des caractères, voir : Taille des caractères

4.5  les fonctions d'affichage des nombres

  • drawInteger(x0, y0, integerNumber, base, size, color, bg_color) : affiche une valeur entière de n'importe quel type NOUVEAU
  • drawFloat(x0, y0, FloatNumber, digits, size, color, bg_color) : affiche une valeur à virgule NOUVEAU

4.6  Fonctions diverses disponibles

Ces fonctions sont publiques mais sont utilisées plutôt en interne par la librairie S65 :

4.7  Identificateurs et autres

Egalement les identificateurs suivants sont définis :

  • RGB(r,g,b) : couleur au format RGB (Rouge, Vert Bleu)
  • S65_WIDTH : largeur de l'écran
  • S65_HEIGT : la hauteur de l'écran

Les identificateurs couleurs suivants :

  • vert, bleu, rouge, noir, jaune, blanc, violet
  • green, blue, red, black, yellow, white, purple

La librairie pgmspace et ses fonctions est incluse, notamment :

  • PGM_P const prog_char * : pointeur générique pour les chaînes de textes
  • PSTR () : déclare un pointeur statique vers une chaîne dans l'espace programme

Pour plus de détails, voir : http://www.nongnu.org/avr-libc/user-manual/group__avr__pgmspace.html#g05ca900ebf7cd121be73c654d9ccb3eb

4.8  Fonctions internes (non-publiques) de la librairie S65 pour la commande directe de l'afficheur :

5.  Principe d'utilisation de la librairie du module Arduino S65 Shield :

La librairie du module Arduino S65 Shield comporte logiquement 3 librairies différentes :

  • une pour l'afficheur graphique
  • une pour l'encodeur rotatif
  • une pour la carte mémoire SD

La première chose à faire est de télécharger le répertoire des librairies ici : La librairie Arduino S65 Shield
Une fois dézippé, on obtient çà :

Il faut alors copier/coller les répertoires RotaryEncoder, S65Display et SDCard dans votre répertoire des librairies Arduino, ce qui doit vous donner :

Ensuite, copier/coller également dans votre répertoire d'exemples Arduino le dossier S65Shield contenu dans le répertoire téléchargé et dézippé :

A présent, il suffit de démarrer le logiciel Arduino et d'écrire votre programme comme d'habitude en incluant les librairies dont vous avez besoin selon :

#include <S65Display.h>
#include <RotaryEncoder.h>
#include <SDcard.h>

Page d'accueil de la référence Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino ou à l'adresse suivante : support_at_mon-club-elec_point_fr

Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.

La présente traduction française commentée a été réalisée par Xavier HINAULT (2010-2012) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.

Cette page est une création originale de X. HINAULT