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
  • 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

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

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.

Affectation des GPIO

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.

Brochage Micro-SD et GPIO correspondants

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

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 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.

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.

TFT_ESP32_general_touch_v3Télécharger

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.

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

/