Bonjour,
tu vas sur ..... Youtube vers cette adresse : VolosProjects
C'est un gars sérieux qui donne des exemples qui marchent. Tu y trouveras cablage, soft avec commentaires et des conseils pour modifier les bibliotheques utilisées.
Exemple pour ton affichage : ESP32 Clock (80x160 SPI)
j'ai pris un moment pour essayer de faire fonctionner cet afficheur et rien à faire, je n'y arrive pas.
IDE : 2.3.2
ESP32 : 3.1.1
carte utilisée : ESP32-S3-WROOM-1 (mais pareil avec ESP32-C3)
bibliothèque : TFT_eSPI (Bodmer) 2.5.43
j'ai bien édité ~/Arduino/libraries/TFT_eSPI/User_Setup_Select.h pour pointer vers ~/Arduino/libraries/TFT_eSPI/User_Setup/Setup43_ST7735.h, changé les n° de PIN prévues (et pareil en laissant les valeur par défaut)
J'ai essayé quelques exemples : plantage.
J'ai allégé le code au maximum :
#include <Arduino.h>
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI();
void setup() {
delay(1000);
Serial.begin(115200);
Serial.println("hello world");
tft.init(); //plantage ici
}
void loop() {
// Compte de 1 à 10 en boucle
for (int i = 1; i <= 10; i++) {
Serial.println(i);
delay(1000);
}
}
Le plantage se fait à l'instruction tft.init();
Commentée : l'exécution est correcte.
Sinon plantages :
Pas trop le temps maintenant d'approfondir mais c'est juste pour vous dire de ne pas trop vous casser la tête là-dessus Je vais peut-être y arriver. Et si ce n'est pas le cas, je reviens !
Un post du lien cité dans le message précédent évoque un problème de choix de PIN pour la configuration du fichier et propose une config fonctionnelle pour une Lilygo T-deck :
Merci, c'est plus clair. Mais les dénominations qui changent
de même SCLK = CLK ?
Ça plante toujours !
edit : je suis pris d'un doute... Mes premiers essais ont été faits écran branché. Puis, pour ne pas passer mon temps à câbler et décâbler la breadboard j'ai fais les suivants avec l'écran débranché. Est-ce que cela peut être gênant pour le diagnostic ?
Je vais quand même recâbler tout ça
#define USE_HSPI_PORT // <<------ c'est ça qu'il faut ajouter !
Les ESP32 contiennent 4 blocs SPI, les deux premiers (SPI0 et SPI1) sont utilisés pour la mémoire FLASH et la PSRAM éventuellle. Restent disponibles SPI2 ( HSPI) et SPI3 (VSPI)
La bibliothèque que tu utilises nécessite donc de préciser le bloc choisi : HSPI ou VSPI
HSPI est associé par défaut aux GPIOs 12, 13, 14 et 15
Merci pour l’explication, je sors lentement du brouillard… reste que ce bug semble récent (suggestion de downgrade de la lib ESP32) et cette ligne ne semblait pas nécessaire avec des versions précédentes. L’architecture n’a pourtant sûrement pas changé…
changements possibles dans l'architecture logicielle
Le 'Core ESP32 pour IDE Arduino' est une couche au dessus de l'IDF (framework) qui évolue.
Des changements apparaissent soit volontaires soit par apparition de bugs.
Pour les premiers les bibliothèques doivent suivre le mouvement et clairement indiquer avec quelle version du Core ESP32 elles sont compatibles