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 carte très intéressante, ESP32-2432S028R qui comprend:

  • un ESP32 Wroom (bi-coeur)
  • un écran tactile 320*240 pixels
  • un capteur de luminosité

Cette carte a 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.

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.

Cette carte est appelée également « ESP32-Cheap-Yellow-Display » ou CYD on la trouve chez Aliexpress.

Écran

Pour la programmation des images, l’écran de 2.8 pouces correspond à la référence :ILI9341 240*320 pixels.

Plusieurs bibliothèques existent en utilisant l’IDE Arduino. Personnellement, j’ai pris la « LovyanGFX ». Voir l’exemple plus bas.

ESP32 Wroom

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

Affectation des GPIO

GPIO

Le tableau sur la droite donne la distribution des GPIO de l’ESP32 sur cette carte. Il n’y a que 3 GPIOs de 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.

Brochage Micro-SD et GPIO correspondants

Les connecteurs sur la carte sont des JST 4 broches 1.25mm

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 500mA au minimum.

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.

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.

Exemple de code

Ci-joint un exemple de code pour la carte ESP32-2432S028R. 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.

Téléchargez le fichier .zip et extraire l’ensemble dans un dossier. Puis l’ouvrir avec l’IDE Arduino. Ce code inclut un fichier Ecran.h qui permet d’adapter le code aux caractéristiques de l’écran. A ne pas toucher.

HW-740 Détection PIR (Infra-Rouge)

Montage

Pour le montage, 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

/

F1ATB André

Radio Amateur - Domotique - Photovoltaïque

Vous aimerez aussi...