mercredi 13 août 2025

Shield TFT Écran Tactile: accéder, malgré tout, aux entrées/sorties de l'Arduino

Dans mon article précédent concernant le shield TFT 2,8 po pour Arduino, j'avais fait état d'une certaine frustration: puisque l'écran recouvre en totalité l'Arduino Uno, il devient difficile de brancher autre chose aux entrées/sorties non-utilisées de la carte. En ce qui me concerne, un Arduino auquel on ne peut rien brancher d'autre qu'un écran tactile, ça manque un peu de polyvalence!

Une solution consisterait à ajouter, entre l'écran et la carte Arduino, un deuxième shield légèrement surdimensionné, permettant d'exposer les broches de l'Arduino. À ce propos, Adafruit propose un "wingshield" à 15 dollars américains qui fait certainement l'affaire, mais à un prix qui ne me convient pas vraiment.

Shield vendu par Adafruit
 

La solution que j'ai choisie ne fonctionnerait pas avec une carte Arduino Uno officielle fabriquée en Italie: de nombreux clones de Uno chinois comportent une deuxième rangée de connecteurs située juste à côté des connecteurs femelles principaux de la carte. 

Après avoir soudé dans ces trous des barrettes de broches recourbées à angle droit, je peux maintenant brancher à ma carte tout ce que je veux pendant que le shield TFT y est inséré. Problème réglé!

Le dessous de ma carte Uno



Pour fêter ça, je vous propose maintenant quelques sketches qui permettent d'utiliser le shield TFT en combinaison avec d'autres entrées/sorties de l'Arduino:

  1. Contrôler l'état d'une sortie numérique grâce à des boutons sur l'écran tactile.
  2. Contrôler l'état d'une sortie PWM grâce à un curseur sur l'écran tactile. 
  3. Afficher sur l'écran l'état d'une entrée numérique.
  4. Afficher sur l'écran l'état d'une entrée analogique.

Dans tous les cas, nous aurons besoin des bibliothèques énumérées dans mon article précédentAdafruit ILI9341, Adafruit GFX Library et Adafruit TSC2007

Nous prendrons soin de ne pas utiliser les broches 9 à 10 de l'Arduino, puisqu'elle sont déjà utilisées par l'écran. Quant aux broches 11, 12 et 13, elles sont réservées à l'utilisation de périphériques SPI. 

1) Sketch #1: contrôle d'une sortie numérique à partir de l'écran tactile

Dans ce premier sketch, on allume ou éteint une LED grâce à une paire de boutons "ON" et "OFF" affichés sur l'écran tactile.  Sans trop de surprise, la quasi totalité du sketch est consacrée à la gestion de l'écran (affichage des boutons et détection qu'un bouton a été touché).

 

Le circuit est minimaliste: une LED en série avec une résistance de protection connectée à la sortie numéro 6 de l'Arduino. 


Voici le sketch:

-

-

 2) Sketch #2: contrôle d'une sortie PWM à partir de l'écran tactile

Cette fois-ci, un bouton coulissant sur l'écran tactile nous permet de contrôler le rapport cyclique d'un signal PWM: l'écran devient un gradateur permettant de contrôler la luminosité de la LED.

 


Le circuit est le même que pour le sketch #2: une LED et sa résistance de protection sont connectées à la broche #6 de l'Arduino. 

Encore une fois, la majeure partie du sketch consiste à dessiner le bouton coulissant à l'écran et mettre à jour sa position en fonction de la position qu'on a touchée. 

 -

-

 

3) Sketch #3: afficher sur l'écran l'état d'une entrée numérique

Il s'agit sans doute du plus simple des 4 sketches: l'écran nous indique l'état logique (haut ou bas) d'une entrée numérique. Mais puisqu'on dispose d'un écran couleur, aussi bien en profiter pour montrer le résultat de façon graphique, en affichant l'illustration d'une LED éteinte ou allumée selon l'état de l'entrée (du coup, le sketch devient beaucoup moins simple qu'il aurait pu l'être...).

 

Bouton relâché 

 

Bouton enfoncé

Pour faire varier l'état logique de l'entrée #6, j'ai utilisé un bouton interrupteur et une résistance de tirage (pull-up) de 10 kΩ.


Presque tout le sketch consiste à dessiner la LED sur l'écran.

-

-

4) Sketch #4: afficher sur l'écran l'état d'une entrée analogique

Finalement, nous affichons à l'écran la tension reçue à l'entrée A0 de l'Arduino, avec une jauge qui ajoute une information visuelle supplémentaire.


 Pour varier la tension de l'entrée A0, j'ai utilisé un potentiomètre.

  

Et voici le sketch:

-

-

Voilà! j'espère que cet article vous aura fourni quelques idées utiles pour vos propres réalisations.

 

Yves Pelletier

 

D'autres articles qui pourraient vous intéresser: