lundi 26 avril 2021

Utilisation d'un écran tactile TFT SPI 240 X 320 (ILI9341) avec la STM32 Blue Pill

Dans ce tuto, nous branchons à une carte STM32F103C "Blue Pill" un écran tactile TFT SPI de 240 X 320 pixels (2,4") munie d'un contrôleur ILI9341. La Blue Pill sera programmée avec l'IDE Arduino en utilisant le core officiel STM32.


Il existe un grand nombre de petits afficheurs couleurs qui se ressemblent beaucoup mais qui ne sont pas identiques: certains utilisent une interface parallèle plutôt que SPI, d'autre comportent une autre puce que la ILI9341, la résolution peut être différente et plusieurs écrans ne sont pas tactiles...

Si vous utilisez un afficheur différent de celui que j'ai utilisé, vous trouverez peut-être, malgré tout, des informations utiles dans cet article, puisque la bibliothèque TFT_eSPI supporte un grand nombre de modèle différents.  Mais vous devrez certainement effectuer certaines modifications...


Connexions de l'écran à la Blue Pill

Mon écran comporte un total de 18 connecteurs; toutefois, je n'ai pas utilisé les 4 connecteurs qui servent au lecteur de carte SD (visible du côté gauche sur la photo ci-dessous).


J'ai connecté l'écran à la Blue Pill de la façon suivante:

  • Broche VCC de l'écran - Sortie 3,3 V de la Blue Pill
  • Broche GND de l'écran - Broche G de la Blue Pill
  • Broche CS de l'écran - Broche A0 de la Blue Pill
  • Broche RESET de l'écran - Broche Broche A2 de la Blue Pill
  • Broche DC/RS de l'écran - Broche A1 de la Blue Pill
  • Broche SDI (MOSI) de l'écran - Broche A7 de la Blue Pill
  • Broche SCK de l'écran - Broche A5 de la Blue Pill
  • Broche LED de l'écran - Sortie 3,3 V de la Blue Pill
  • Broche SDO (MISO) de l'écran - Broche A6 de la Blue Pill
  • Broche T_CLK de l'écran - Broche A5 de la Blue Pill
  • Broche T_CS de l'écran - Broche A4 de la Blue Pill
  • Broche T_DIN de l'écran - Broche A7 de la Blue Pill
  • Broche T_DO de l'écran - Broche A6 de la Blue Pill
  • Broche T_IRQ de l'écran - pas connectée

Installation de la bibliothèque TFT_eSPI

Il est nécessaire d'installer la bibliothèque TFT_eSPI de Bodmer . La façon la plus simple consiste à utiliser le gestionnaire de bibliothèques de l'IDE Arduino.



Configuration de la bibliothèque (fichier User_Setup_Select.h)

Une particularité de bibliothèque TFT_eSPI, c'est qu'il faut la configurer en fonction du type d'écran et du microcontrôleur que vous utilisez.  Pour ce faire, vous devez ouvrir le fichier "User_Setup_Select.h", qui se trouve dans le dossier où vous avez installé la bibliothèque (Sketchbook - libraries - TFT_eSPI)


Dans le fichier User_Setup_Select.h, commentez la ligne numéro 22 (pour la désactiver), et dé-commentez la ligne 62:  
"#include <User_Setups/Setup32_ILI9341_STM32F103.h>".


Ce mode de configuration fait en sorte qu'un même sketch fonctionnera sans problème avec plusieurs écrans différents et plusieurs microcontrôleurs différents, à la condition que la bonne ligne du fichier User_Setup_Select.h soit activée.

Exemple de sketch #1: des boutons et des formes géométriques

J'avais écrit ce premier sketch pour l'utiliser avec un ESP8266, mais il fonctionne parfaitement avec la Blue Pill sans la moindre modification. Deux boutons apparaissent à l'écran: lorsqu'on touche au bouton de gauche, un rectangle est affichée, et lorsqu'on touche au bouton de droite, un cercle est affiché. Ce programme minimaliste vous aidera à comprendre comment utiliser des boutons, et comment tracer les formes géométriques de base.




-
-


Exemple de sketch #2: un bouton coulissant

Un bouton coulissant ("slider") peut s'avérer utile pour faire varier une valeur numérique de façon continue. Cette valeur pourrait être récupérée pour varier la luminosité d'une LED, modifier la position angulaire d'un servomoteur ou d'un moteur pas à pas, modifier la vitesse de rotation d'un moteur, etc. Il s'agit de toucher l'écran pour déplacer le bouton le long d'une droite horizontale.


-
-

À lire également:



Yves Pelletier (TwitterFacebook)

Aucun commentaire:

Enregistrer un commentaire