28-02-2025, 12:02 PM
ESP 32 avec afficheur
|
28-02-2025, 12:09 PM
Je suis désolé, je n'ai plus d'idées.
Je ferai des tests quand j'aurais reçu ma carte. Peut-être que d'autres personnes auront des idées ?
28-02-2025, 12:29 PM
ok merci
28-02-2025, 12:46 PM
C est pour regarder depuis le retroviseur de ta voiture.
Mais le plus simple est effectivement de jouer avec le parametre de rotation
En regardant un peu l'API LovyanGFX, je suis tombé sur cette page :
https://lovyangfx.readthedocs.io/en/late...using.html Le paramètre de rotation est mentionné : // Set the rotation direction from 4 directions from 0 to 3. // (If you use rotations 4 to 7, the image will be mirrored.) Du coup je me demande si dans votre cas, pour une raison qui m’échappe vous vous retrouveriez pas avec un paramètre de rotation entre 4 et 7. Vu que vous êtes en mesure de compiler le code, peut-être pourriez vous coder en dur la rotation à 3 par exemple afin de voir si cela corrige le problème. Dans le code de la V14.02 il y a 2 appels à setRotation à modifier : - Ecran.ino ligne 26 - Server.ino ligne 574 Essayez de remplacer ces deux appels par : lcd.setRotation(3); Ça fera peut-être avancer le schmilblick.
Tu Si les modifs setRotation ..ne suffisent pas rajouter derrière les 2 lignes suivantes pour observer l effet obtenu, mais comme son nom l indique la fonction setRotation ne fait que tourner l ecran… donc il faut vraiment réinitialiser ce mode miroir avec les commandes ci dessous que j ai pu trouver ( pas pu tester) sur les docs
// Réinitialiser le mode miroir lcd.writecommand(0x36); // Commande MADCTL lcd.writedata(0x00); // Mode normal sans inversion Il faudrait voir dans le fichier user_setup.h de la bibliotheque s il n y a pas des lignes à commenter/decommenter pour supprimer ce miroir. Ps : pourquoi cette possibilité de miroir existe t elle , à qui et à quoi ca pourrait servir ? Je ne vois de situation dans laquelle on devrait regarder dans un miroir pour lire l afficheur
01-03-2025, 11:15 AM
Essayez d'appuyer 3S sur l'écran pour passer en mode calibrage de l'afficheur. Je ne sais pas si cela peut résoudre.
André
Non ce n est pas un problème de calibration…
Selon la bibliothèque ou sa version il y a des choix possibles pour passer en mirror ou pas… c est utile pour les langues qui ecrivent de gauche à droite ou de bas en haut…. Donc selon la fabrication de l ecran il est possible que ce soit mirroré par defaut… Pour ceux qui on un ecran qui fonctionne vous pouvez tester de passer en miroir avec les commandes // Réinitialiser le mode miroir lcd.writecommand(0x36); // Commande MADCTL lcd.writedata(0x00); // Mode normal sans inversion En remplacant 0x00 par 0x21 ou 0x41 ca devrait produire son effet Je teste ca apres le menage ;-)
ma piste est la bonne , de mon coté c etait OK et j ai fait le mlrroir en placant les lignes apres les lignes lcd.setRotation( );
lcd.writecommand(0x36); // Commande MADCTL lcd.writedata(0x68); // Mode normal sans inversion H68 ca donne en binaire 0110 1000 => reflexion vertical ; reflexion horizontal ; couleur BGR donc pour ceux qui sont "naturellement" inversé avec ces 2 memes lignes ca devrait remettre à l endroit .... le 0x68 vient des bits de la commande MADCTL Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 --------------------------------------------------------- MX | MY | MV | ML | RGB | BGR | MH | MX Où chaque bit a la signification suivante : MX (Bit 7) : Contrôle la réflexion horizontale (mirroring horizontal) de l'écran. 0: Pas de réflexion horizontale. 1: Réflexion horizontale. MY (Bit 6) : Contrôle la réflexion verticale (mirroring vertical) de l'écran. 0: Pas de réflexion verticale. 1: Réflexion verticale. MV (Bit 5) : Contrôle la rotation de l'écran. 0: Rotation normale (portrait). 1: Rotation de 90° (paysage). ML (Bit 4) : Ce bit contrôle l'ordre des pixels de l'écran dans les affichages LCD. Il peut être non utilisé sur certains modèles. 0: Mode par défaut (pas d'effet visible sur certains modèles). 1: Mode alternatif (peut affecter l'orientation selon les modèles d'afficheurs). RGB (Bit 3) : Contrôle l'ordre des couleurs de pixels. 0: Format RGB (Red, Green, Blue). 1: Format BGR (Blue, Green, Red). BGR (Bit 2) : Ce bit est parfois interprété comme un contrôle pour l'inversion des couleurs, mais il est souvent équivalent au RGB dans les écrans plus récents. 0: Pas d'inversion de couleurs (RGB). 1: Inversion des couleurs (BGR). MH (Bit 1) : Ce bit contrôle la mise en miroir des lignes. 0: Pas de miroir des lignes. 1: Miroir des lignes. MX (Bit 0) : Ce bit est souvent dupliqué en ce qui concerne la réflexion horizontale et fait également référence à la direction du balayage des lignes. 0: Balayage horizontal normal. 1: Balayage horizontal inversé.
01-03-2025, 05:54 PM
Salut
J ai eu le même problème: ecran miroir. Je me suis orienté du coté de MIKE : "Dans le code de la V14.02 il y a 2 appels à setRotation à modifier : - Ecran.ino ligne 26 - Server.ino ligne 574" Essayez de remplacer ces deux appels par : lcd.setRotation(3);" Et ça n a pas marché , j ai ensuite remplace par lcd.setRotation(7), et les écritures sont redevenues normales. Par contre je ne peux plus modifier la rotation depuis la page web. Ensuite l ecran etait remplie au 3/4 et en mode portrait; dans ecran.h ligne 54 à 57 j ai inversé les chiffres : cfg.memory_width = 320; cfg.memory_height = 240; cfg.panel_width = 320; cfg.panel_height = 240; et ligne 60 : cfg.offset_rotation = 1; et igne 92 : cfg.offset_rotation = 1 j y connais rien en code peut être que ce n est pas la bonne démarche mais ça a fonctionne bonne journée |
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 15 visiteur(s)