Je commence une série de panneaux d’affichages publicitaires (ou autre) avec des petits écrans LCD TFT pilotés par un ESP32 et munis d’un lecteur SD pour stocker les images qu’on veut afficher.
L’écran est un 1,14 pouces en résolution 135x240 pixels logé dans le côté d’un abri de quai mais qui peut aussi faire abribus. Il est bien adapté à l’affichage vertical des panneaux publicitaires dits « sucettes »
https://fr.aliexpress.com/item/1005008555269972.html
L’affichage change régulièrement avec un délai réglable selon l’ordre alphabétique ou avec un mode aléatoire. La luminosité de l’écran est aussi réglable le tout grâce à un fichier texte de configuration qui est aussi sur la carte avec les images.
Le nombre d’images est quelconque.
Pour simplifier le code, seuls les jpg sont traités et il faut les mettre à la résolution exacte de l’écran car je n’ai pas fait de routine de mise à l’échelle. Inutile de se compliquer les choses.
Le lecteur de carte micro SD existe sous deux formes :
https://fr.aliexpress.com/item/1005009224403161.html
- avec un régulateur de tension permettant de l’alimenter en 5V
- en format réduit sans régulateur et alimenté en 3,3V uniquement
L’écran et le lecteur sont reliés à l’ESP par une liaison SPI, ils utilisent les mêmes broches :
C’est une liaison de type série bidirectionnelle synchrone
MOSI (Master Out Slave IN) pour la liaison de l’ESP vers le périphérique
MISO (Master IN Slave Out) pour le retour du périphérique vers l’ESP
CLK ou SDA : c’est l’horloge qui cadence la transmission : un octet est échangé à chaque cycle d’horloge dans les deux sens simultanément.
CS (ou SS) : (Chip select ou Slave select) c’est la ligne permettant à l’ESP de choisir le périphérique avec lequel il veut dialoguer. La ligne est mise à l’état bas pour sélectionner le périphérique.
Certaines broches comme MOSI, MISO, CLK ou SDA sont imposées par la configuration de l'ESP32 qui dispose de deux bus SPI indépendants.
Et sur les écrans on trouve aussi les broches
RS : Register Select
A l’état haut elle sert à transmettre la couleur d’un pixel
A l’état bas elle sert à effacer l’écran, modifier la luminosité, définir la zone de dessin, éteindre/allumer l'affichage.
Comme le protocole de communication se contente d'envoyer une suite de bits bruts sans contexte, l'écran a besoin de savoir comment interpréter ces octets. Le microcontrôleur bascule l'état logique de cette broche juste avant d'envoyer l'information
Dans la norme SPI classique, il n'existe aucun moyen de séparer logiciellement les commandes des données. Pour éviter de devoir envoyer un octet de configuration supplémentaire à chaque transfert (ce qui ralentirait l'affichage), les fabricants ajoutent cette ligne matérielle dédiée DC = Data Command.
Cela permet de maximiser la vitesse de rafraîchissement de l'écran
Il y a aussi une broche notée BLK (Backlight) qui permet de contrôler le rétroéclairage :
- connectée sur le +3,3V le rétroéclairage est à fond
- connectée sur une broche de l’ESP et pilotée en PWM, elle permet de varier le rétroéclairage et c’est ce que j’ai utilisé.
- On peut aussi la piloter en mode On/Off en tout ou rien depuis une broche de l’ESP.
Dans le cas où on la connecte directement au +3,3V il est conseillé d’ajouter une résistance de 100 ohms pour diminuer sa consommation sur l’ESP.
Là, avec le rétroéclairage à fond tout le montage consomme environ 80mA et frôle les 100mA pendant la lecture de la carte SD.
Comme d’habitude, je monte l’ESP sur un shield fait avec deux connecteurs plats. Un sticker permet de visualiser les broches avec les couleurs de fils à connecter. Même chose sur le connecteur du lecteur SD.
Ainsi il n’y a aucun risque d’erreur de branchement et tout est repéré si on doit réintervenir plus tard.
J’utilise ce shield dès la mise au point plutôt que de m’embêter avec une breadboard et des fils volants dont les couleurs ne correspondent jamais et qui sont juste bons à faire des faux contacts ou à inverser des branchements…
Travailler sur un shield avec des fils soudés n’est pas une perte de temps, bien au contraire et il ressert dans le montage final.
L’écran est enfiché sur un connecteur à l’arrière de l’abri. Un panneau qui supporte un banc vient cacher ça.
Tout est assemblé par encastrement sans colle. Il y a juste le banc qui est collé.
Et tout est branché sur des connecteurs pour pouvoir être démonté rapidement.
Les fils venant de l'écran sont montés sur des broches par groupe de (3 - 3 - 2) comme sur cette photo du panneau de gare pour pouvoir passer par un trou de 8mm dans le plateau Les STL:




