ESP 332 avec écran

Répondre
Avatar du membre
France likiki
Site Admin
Site Admin
Messages : 17157
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 59
Pays :
France
France
oct. 2026 04 14:52

ESP 332 avec écran

Message par France likiki

J'ai acquis un ESP 32 équipé d'un écran (j'ai profité d'une commande de madame).

Dans sa boite
.
IMG_0775.jpeg
.

Recto
.
IMG_0776.jpeg
.

Verso
.
IMG_0778.jpeg
.

Gros plan sur la bête
.
IMG_0777.jpeg
.

Essais d'affichage d'une image, pas si simple que cela.
.
IMG_0779.jpeg
.

.
IMG_0780.jpeg
.


Une petite vidéo ....

.
IMG_0783.MOV
.



Pour le code, il y avait un programme exemple fournis par le vendeur, mais nada, cela ne fonctionnait pas.

Après pas mal de recherche, merci l'I.A de Google.

Tant sur l'organisation dur programme que sur la manip pour inclure l'image dans la ram.


J'ai tronqué les données de l'image qui faisait dépasser le nombre de caractères max autorisé (+ de 275 044 pour 90 000).

Code : Tout sélectionner

// Test d'affichage d'une image.

#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>

#define LCD_MOSI 23  
#define LCD_SCLK 18  
#define LCD_CS   15  
#define LCD_DC    2  
#define LCD_RST   4  
#define LCD_BLK  32  
Adafruit_ST7789 lcd = Adafruit_ST7789(LCD_CS, LCD_DC, LCD_RST);

#define IMAGE_WIDTH  260
#define IMAGE_HEIGHT 130
int vitesse = 4; // Nombre de pixels déplacés à chaque étape

const uint16_t maSuperbeImage[] PROGMEM = {
  // ... vos données d'image 260x130 ...
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 
0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xffde, 0xffff, 0xffde, 
0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 
0xffde, 0xffff, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 

J'ai tronqué les données de l'image qui faisait dépasser le nombre de caractères max autorisé (+ de 275 044 pour 90 000).

0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0xe73b, 0xf79d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 
0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7de, 0xf7de, 0xf7de, 0xffff, 0xffff, 
0xffde, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5c, 0xbdf7, 0x94b2, 0x7bce, 0x6b4c, 0x5aca, 0x52aa, 0x4a48, 
0x4a69, 0x4a49, 0x3185, 0x2945, 0x3186, 0x39c7, 0x39a7, 0x2104, 0x10a2, 0x3185, 0x736d, 0x8c50, 0x5b0b, 0x4228, 0x31a6, 0x2965, 
0x2124, 0x18e3, 0x10a2, 0x10a2, 0x18c2, 0x18c3, 0x18c3, 0x18c3, 0x18e3, 0x2124, 0x2104, 0x18e3, 0x31a6, 0x6b6d, 0x738e, 0x7bef, 
0x9491, 0x8c50, 0x738d, 0x5aca, 0x52aa, 0x630c, 0x8c30, 0x94b2, 0x6b4d, 0x4208, 0x39c7, 0x4a49, 0x52aa, 0x5acb, 0x630b, 0x7bef, 
0xa514, 0xc638, 0xf79d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 
0xffdf, 0xffde, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 
0xdefb, 0xe73c, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff

};

void setup() {
  pinMode(LCD_BLK, OUTPUT);
  digitalWrite(LCD_BLK, HIGH); 

  lcd.init(170, 320);
  lcd.setRotation(1); 
  lcd.fillScreen(ST77XX_BLACK);
}

void loop() {
  // 1. Image fixe au centre
  lcd.drawRGBBitmap(30, 20, maSuperbeImage, IMAGE_WIDTH, IMAGE_HEIGHT);
  delay(5000);

  // 2. SCROLL SORTANT (Vers la droite) - SANS CLIGNOTEMENT
  for (int x = 30; x <= 320; x += vitesse) {
    // On dessine l'image à sa nouvelle position
    lcd.drawRGBBitmap(x, 20, maSuperbeImage, IMAGE_WIDTH, IMAGE_HEIGHT);
    
    // On "gomme" uniquement la bande de pixels laissée derrière à gauche
    lcd.fillRect(x - vitesse, 20, vitesse, IMAGE_HEIGHT, ST77XX_BLACK);
    
    delay(5); 
  }

  // Petit nettoyage de sécurité pour être sûr que tout est noir à la fin
  lcd.fillScreen(ST77XX_BLACK);
  delay(500); 

  // 3. SCROLL ENTRANT (Depuis la gauche) - SANS CLIGNOTEMENT
  for (int x = -260; x <= 30; x += vitesse) {
    lcd.drawRGBBitmap(x, 20, maSuperbeImage, IMAGE_WIDTH, IMAGE_HEIGHT);
    
    // On gomme la bande de pixels laissée derrière à gauche (si x > -260)
    if (x > -260) {
      lcd.fillRect(x - vitesse, 20, vitesse, IMAGE_HEIGHT, ST77XX_BLACK);
    }
    
    delay(5);
  }
}

:tire langue
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Si le Goëland se gratte le gland, il fera mauvais temps,
Si il se gratte le cul, il ne fera pas beau non plus.

Proverbe de là bas.

ImageImageImage

:tirechap:

.
Si vous souhaitez faire un don pour le forum , c'est ici.
Avatar du membre
France Clem68
Posteur insomniac
Posteur insomniac
Messages : 373
Enregistré le : 20 juil. 2025, 11:42
Prénom : Clément
LOCALISATION : Doubs
Centres d'intérêts : Modélisme RC
Echelle pratiquée : Aucune
Âge : 78
Pays :
France
France
oct. 2026 04 15:17

Re: ESP 332 avec écran

Message par France Clem68

:bienv: C’est tout de même réussi. J’ai l’impression que chaque fois que l’on commande ce genre de composant avec un code fourni, cela ne marche jamais. Il faut toujours le triturer.

Tu as un projet futur avec cet esp?

@+
Avatar du membre
France likiki
Site Admin
Site Admin
Messages : 17157
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 59
Pays :
France
France
oct. 2026 04 16:44

Re: ESP 332 avec écran

Message par France likiki

Pas de projet immédiat, mais il vas bien aller quelque part. :siffle:
Si le Goëland se gratte le gland, il fera mauvais temps,
Si il se gratte le cul, il ne fera pas beau non plus.

Proverbe de là bas.

ImageImageImage

:tirechap:

.
Si vous souhaitez faire un don pour le forum , c'est ici.
Avatar du membre
France ramasoft
Chef es bogies
Chef es bogies
Messages : 5980
Enregistré le : 29 juil. 2024, 19:06
Prénom : Patrick
LOCALISATION : Indre - Levroux
Centres d'intérêts : Modélisme ferroviaire
Programmation C++, VB6 et assembleur
Électronique
Echelle pratiquée : H0
Âge : 68
Pays :
France
France
oct. 2026 04 17:53

Re: ESP 332 avec écran

Message par France ramasoft

J'adore la patte du chien en dessous :cooooool:
:mdr: :mdr:


Ton écran étant un ST7789, tu peux te baser sur le code que j'avais fait pour le panneau publicitaire, il y a juste à adapter la résolution.
Pour la bibliothèque je te conseille d'utiliser TFT_eSPI qui est plus performante que celle d'Adafruit.
Elle utilise un fichier externe de configuration: User_Setup.h qu'il faut adapter à l'écran utilisé.
Elle gère aussi les ST7735 et une bonne dizaine d'autres écrans.

Il y a toutes les explications dans le sujet: viewtopic.php?t=2051
Modifié en dernier par France ramasoft le 04 oct. 2026, 18:05, modifié 1 fois.
Avatar du membre
France bunny94
2000 posts et +
2000 posts et +
Messages : 15630
Enregistré le : 22 sept. 2021, 08:35
Prénom : Alain
LOCALISATION : Noiseau
Centres d'intérêts : Photo-Vidéo-Modélisme ferroviaire-Trains réels-Impression 3D-Miniature automobile 1/43ème
Echelle pratiquée : H0
Âge : 75
Pays :
France
France
oct. 2026 04 17:57

Re: ESP 332 avec écran

Message par France bunny94

:PetitPoucejpg: :bienv: Christian
Pour me retrouver sur ma chaîne YT: https://www.youtube.com/@abunny94/videos
Avatar du membre
France likiki
Site Admin
Site Admin
Messages : 17157
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 59
Pays :
France
France
oct. 2026 04 18:07

Re: ESP 332 avec écran

Message par France likiki

:merciiii: Alain.

:merciiii: Patrick, oui, ton sujet est une mine d'or pour ce type d'écran.

Là c'estait histoire de tester l'écran.

:tire langue
Si le Goëland se gratte le gland, il fera mauvais temps,
Si il se gratte le cul, il ne fera pas beau non plus.

Proverbe de là bas.

ImageImageImage

:tirechap:

.
Si vous souhaitez faire un don pour le forum , c'est ici.
Répondre

Retourner vers « Le matériel »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité