ESP32-2432S028 ESP32-2432S024 JC2432W328
ESP32 Wroom avec Écran et extension des GPIOs
Pour ceux qui souhaitent faire un montage avec l’ESP 32 et un écran 320*240 pixels intégré, il existe une famille de cartes carte très intéressantes. Elles sont disponibles avec un écran tactile résistif ou capacitif.
- Tactile résistif
- ESP32-2432S028R
- Ecran 2.8 pouces
- écran type ILI9341
- Back Light gpio 27
- ESP32-2432S028
- Ecran 2.8 pouces
- écran type ST7789
- Back Light gpio 27
- ESP32-2432S024
- Ecran 2.4 pouces
- écran type ILI9341
- Back Light gpio 21
- ESP32-024
- Ecran 2.4 pouces
- écran type ST7789
- Back Light gpio 21
- ESP32-2432S028R
- Tactile Capacitif
- ESP32-2432S024
- Ecran 2.4 pouces
- écran type ILI9341
- Back Light gpio 21
- JC2432W328
- Ecran 2.8 pouces
- écran type ST7789
- Back Light gpio 27
- ESP32-2432S024
Chaque carte comprend:
- un ESP32 Wroom (bi-coeur)
- un écran tactile 320*240 pixels
- un capteur de luminosité
- une LED 3 couleurs en face avant ou face arrière (rouge : gpio 4, vert et bleu gpios 16 ou 17 suivant la carte)
- un capteur tactile résistif XPT2046 ou capacitif CST820
Ces cartes sont appelées également « ESP32-Cheap-Yellow-Display » ou CYD on les trouve chez Aliexpress.
Ces cartes ont néanmoins une faiblesse pour certaines applications. C’est le nombre réduit de GPIO. Il n’y en a que 3 de disponibles dans la version de base et jusqu’à 6 dans la version JC2432W328.
Dans cet article, on va voir comment étendre facilement le nombre de GPIO, en rajouter 4 de plus afin de pouvoir développer des applications qui en requièrent un grand nombre.

Écran
Plusieurs bibliothèques existent en utilisant l’IDE Arduino. Personnellement, j’ai pris la « LovyanGFX ». Voir l’exemple plus bas compatible des 6 modèles présentés.
ESP32 Wroom

L’ESP32 Wroom est un processeur bi-coeur tournant à 240MHz disposant du Wifi et du Bluetooth permettant des applications très puissantes comme le routeur photovoltaïque F1ATB
Avec l’outil de développement IDE Arduino, il faut dans les préférences faire appel au gestionnaire de carte de « Espressif » qui développe l’ESP32. Allez dans Fichier / Préférences et mettez l’adresse : https://dl.espressif.com/dl/package_esp32_index.json


ESP32-2432S028R
Cette carte de 2.8 pouces existe en deux configuration avec un écran type ILI9341 ou un écran ST7789 et un tactile résistif.
GPIO
Elle ne dispose que de 3 GPIO disponibles (ici en vert) le 22, le 27 et le 35. Malheureusement le 35 ne fonctionne qu’en entrée, numérique ou analogique.
Pour étendre le nombre de GPIO, on peut récupérer facilement ceux utilisés pour la carte mémoire micro-SD si on ne l’utilise pas (en jaune dans le tableau). On peut utiliser un « Card-Sniffer » que l’on trouve chez Aliexpress. C’est une fausse carte mémoire qui fournit les broches / GPIO.
On peut également dessouder l’enveloppe métallique du support pour accéder aux 4 GPIO qui servent à piloter la carte SD. Ensuite, on peut souder des pins dupont au pas de 2.54 en fixant l’ensemble sur les côtés aux points de soudure de l’enveloppe.


LDR Luminosité ambiante

Sur l’avant de la carte, il y a une résistance variable avec la luminosité. Sa résistance d’alimentation est trop forte. Il faut la réduire pour bénéficier d’une bonne dynamique de mesure en analogique sur le GPIO 34. Souder en parallèle à R15 une résistance de 20 à 47k ohm. Ainsi, en mesurant la tension électrique sur le GPIO34 vous pouvez intégrer une mesure de luminosité dans votre programme.
ESP32-2432S024

Cette famille de cartes de 2.4 pouces disposent d’un écran résistif ou capacitif (préférable). L’écran est un ILI9341 ou ST7789.
Pour les GPIO, seul 3 sont disponibles : 21,22,35. Sachant que le 35 n’est qu’en entrée. On peut comme dans l’exemple précédent récupérer les GPIO qui gérent le connecteur micro-SD.
JC2432W328
C’est la carte la plus intéressante avec un écran de 2.8 pouces , un tactile capacitif (plus pratique que le résistif) et 6 GPIO de disponibles. Néanmoins :
GPIO 4 : allume la LED rouge avec un 0. A utiliser de préférence en sortie,
GPIO 16: allume la LED verte avec un 0. A utiliser de préférence en sortie,
GPIO 17: allume la LED bleue avec un 0. A utiliser de préférence en sortie,
GPIO 21: en entrée ou sortie
GPIO 22 : en entrée ou sortie
GPIO 35 : en entrée numérique ou analogique
Alimentation
Il est possible d’alimenter la carte par le micro-port USB ou par le connecteur 4 broches à côté avec une alimentation qui fournit du 5V et 700mA au minimum.
ATTENTION avec ces cartes un écran bien allumé et le Wifi, on peut avoir des appels de courant importants. Si l’alimentation ne suit pas, l’ESP32 va bugger et vous laissera dans l’incompréhension.
Haut-Parleur
Sur le GPIO26, il y a un petit amplificateur permettant de connecter un petit haut-parleur de 4 ou 8 ohm, afin d’envoyer des signaux audio si besoin.
Exemple de code
Ci-joint un exemple de code pour les cartes :
- ESP32-2432S028,
- ESP32-024,
- ESP32-2432S028
- ESP32-2432S024
- ESP32-2432S024
- JC2432W328
Installez sur l’outil de développement IDE Arduino la bibliothèque LovyanGFX. En allant sur Google, vous trouverez le jeu d’instructions pour piloter le générateur graphique.
Dezippez le fichier et faite une compilation dans IDE Arduino.
Le code est également disponible sur Github
Par le port série à 115000 bauds, si vous envoyez H ou ?, en retour vous avez le résumé des commandes pour choisir le modèle de carte et la rotation de l’affichage. Pour les avec un écran tactile résistif, si vous touchez l’écran, cela débute par une phase de calibration.
Montage

Pour le montage des écran 2.8 pouces, je vous propose une boite à imprimer en 3D qui inclut le couvercle sur l’arrière. Le trou en bas à droite permet de loger un capteur infra-rouge (PIR) (GPIO 35 par exemple) qui par programmation permet d’allumer l’écran si une personne se présente devant. Dans la partie basse, il est possible de loger l’alimentation 230V / 5V 700mA décrite plus haut.

Présentation vidéo
/









Commentaires récents