{"id":337,"date":"2021-07-08T10:19:07","date_gmt":"2021-07-08T09:19:07","guid":{"rendered":"https:\/\/avionicsduino.com\/?page_id=337"},"modified":"2026-03-25T00:34:48","modified_gmt":"2026-03-24T23:34:48","slug":"les-ecrans","status":"publish","type":"page","link":"https:\/\/avionicsduino.com\/index.php\/fr\/les-ecrans\/","title":{"rendered":"\u00c9crans TFT et avionique DIY"},"content":{"rendered":"\n<p style=\"font-size:10px\"><em>(\u00c9crans TFT et avionique DIY<\/em> : <em>Derni\u00e8re mise \u00e0 jour par Benjamin le 25\/03\/2026)<\/em><\/p>\n\n\n\n<p>Le choix d\u2019un \u00e9cran TFT-LCD pour un projet d\u2019avionique DIY d\u00e9pend de nombreux facteurs. Le type d\u2019\u00e9cran, l\u2019interface de connexion, la disponibilit\u00e9 et la qualit\u00e9 des biblioth\u00e8ques, ainsi que la luminosit\u00e9 doivent \u00eatre pris en compte. La taille et la r\u00e9solution d\u00e9pendront de l\u2019application logicielle et de l\u2019espace disponible sur le tableau de bord. Par exemple, pour un EFIS ou un EMS, afin d\u2019assurer une excellente lisibilit\u00e9 en toutes circonstances, une taille de 4,3 \u00e0 5 pouces, une r\u00e9solution de 480 \u00d7 272 pixels et une luminosit\u00e9 de 500 cd\/m\u00b2 sont les exigences minimales. La technologie IPS offre des angles de vue larges, tr\u00e8s appr\u00e9ciables.<\/p>\n\n\n\n<p>Tactile ou pas ? C\u2019est une question de choix personnel : en cas de turbulence, s\u00e9lectionner une petite zone d\u2019\u00e9cran ou une option de menu peut s\u2019av\u00e9rer difficile sur un \u00e9cran de 5 pouces (ou moins). D\u2019autres syst\u00e8mes de contr\u00f4le doivent \u00eatre envisag\u00e9s, tels que boutons-poussoirs, encodeurs rotatifs ou joysticks, qui sont souvent plus pr\u00e9cis que les \u00e9crans tactiles capacitifs. Ces derniers pr\u00e9sentent aussi l\u2019inconv\u00e9nient d\u2019\u00eatre toujours brillants, sujets aux reflets, alors qu\u2019un \u00e9cran non tactile, mat, est beaucoup plus lisible en plein soleil.<\/p>\n\n\n\n<p>Une fois le microcontr\u00f4leur ou microprocesseur (MCU\/MPU) du projet choisi, l\u2019interface entre le MCU\/MPU et l\u2019\u00e9cran constitue la principale sp\u00e9cification technique \u00e0 prendre en compte. Bien s\u00fbr, cela d\u00e9pend du type d\u2019\u00e9cran et du MCU\/MPU. Il existe plusieurs interfaces avec les \u00e9crans, notamment HDMI, s\u00e9rie, et RGB-parall\u00e8le, pour ne citer que les plus courantes. Une fois le type d\u2019\u00e9cran et l\u2019interface s\u00e9lectionn\u00e9s, tous les crit\u00e8res mentionn\u00e9s ci-dessus doivent \u00eatre pris en compte.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comment fonctionnent les \u00e9crans ?<\/h3>\n\n\n\n<p>Il ne s\u2019agit pas ici d\u2019expliquer en d\u00e9tail la technologie des afficheurs LCD ou TFT, mais plut\u00f4t la mani\u00e8re dont ils s\u2019interfacent avec nos MCUs. Dans les syst\u00e8mes embarqu\u00e9s simples qui nous int\u00e9ressent, la cha\u00eene d\u2019affichage comprend quatre \u00e9l\u00e9ments de base : l\u2019afficheur TFT-LCD, le contr\u00f4leur graphique, la m\u00e9moire tampon d\u2019affichage, et le MCU\/MPU.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">L\u2019afficheur TFT-LCD<\/h5>\n\n\n\n<p>Son r\u00f4le est bien s\u00fbr d\u2019afficher des graphismes ou des textes. En termes tr\u00e8s simples, le panneau de l\u2019afficheur se compose de pixels. Il re\u00e7oit des signaux \u00e9lectriques qui, apr\u00e8s traitement appropri\u00e9, peuvent allumer ou \u00e9teindre individuellement les pixels et d\u00e9terminer leur couleur et leur luminosit\u00e9. La figure 1 montre un afficheur TFT typique.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"744\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2025\/12\/TFT_Panel.png\" alt=\"\" class=\"wp-image-5235\" style=\"width:450px\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2025\/12\/TFT_Panel.png 800w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2025\/12\/TFT_Panel-300x279.png 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2025\/12\/TFT_Panel-768x714.png 768w\" sizes=\"auto, (max-width: 800px) 85vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 1 : \u00c9cran TFT typique de 4,3 pouces, avec une r\u00e9solution de 480 x 272, \u00e9quip\u00e9 d&rsquo;une interface RGB parall\u00e8le et d&rsquo;un c\u00e2ble en nappe flexible plat (FFC) \u00e0 40 conducteurs.<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<p>La connexion \u00e0 l\u2019afficheur utilise g\u00e9n\u00e9ralement un c\u00e2ble flexible en nappe (c\u00e2ble FFC), le plus souvent \u00e0 40 conducteurs. Alors que des dizaines ou des centaines de milliers de pixels doivent \u00eatre pilot\u00e9s, selon la taille et la r\u00e9solution du panneau. <\/p>\n\n\n\n<p>Les afficheurs TFT contiennent donc toujours un driver. Il s\u2019agit d\u2019un circuit int\u00e9gr\u00e9 sp\u00e9cialis\u00e9 qui re\u00e7oit les donn\u00e9es num\u00e9riques via le c\u00e2ble FFC et g\u00e9n\u00e8re les tensions analogiques appropri\u00e9es, avec une synchronisation pr\u00e9cise, pour contr\u00f4ler individuellement chaque pixel rouge, vert et bleu de l\u2019\u00e9cran. Par exemple, le ST7277 de Sitronix est con\u00e7u pour piloter des panneaux TFT 800\u00d7480 ; il en existe \u00e9videmment une multitude d\u2019autres.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Le contr\u00f4leur graphique<\/h5>\n\n\n\n<p>Sa fonction est de lire en boucle continue la m\u00e9moire tampon et de transmettre les donn\u00e9es des pixels, ainsi que les signaux de synchronisation et d\u2019horloge, via le FFC, vers le driver de l\u2019afficheur.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">La m\u00e9moire tampon<\/h5>\n\n\n\n<p>C\u2019est une zone m\u00e9moire qui stocke en temps r\u00e9el les informations de couleur et de luminosit\u00e9 de chaque pixel. Par exemple, si l\u2019afficheur supporte une profondeur de couleur de 16 bits (RGB 565, voir ci-dessous), alors 2 octets de m\u00e9moire tampon sont n\u00e9cessaires par pixel. Si la r\u00e9solution du panneau est de 800 x 480 pixels, la capacit\u00e9 minimale de m\u00e9moire tampon requise est de 800 x 480 x 2 = 768 kilo-octets.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Le MCU\/MPU<\/h5>\n\n\n\n<p>Sa fonction est de calculer les images \u00e0 afficher et d\u2019alimenter la m\u00e9moire tampon en cons\u00e9quence, avec les donn\u00e9es appropri\u00e9es. Il n\u2019a pas besoin de mettre \u00e0 jour l\u2019int\u00e9gralit\u00e9 de la m\u00e9moire tampon \u00e0 chaque image. Il doit simplement mettre \u00e0 jour dans la m\u00e9moire ce qui a chang\u00e9 par rapport \u00e0 l\u2019image pr\u00e9c\u00e9dente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Les diff\u00e9rents types d\u2019\u00e9cran<\/h3>\n\n\n\n<p>Les quatre \u00e9l\u00e9ments de base mentionn\u00e9s ci-dessus peuvent \u00eatre organis\u00e9s de diff\u00e9rentes mani\u00e8res. Les petits \u00e9crans \u00e0 faible r\u00e9solution ont tendance \u00e0 disposer d\u2019une m\u00e9moire tampon et d\u2019un contr\u00f4leur graphique int\u00e9gr\u00e9s. Par exemple, le circuit ILITEK ILI9340 permet de piloter un afficheur TFT LCD couleur RGB 240\u00d7320, qui prend en charge des profondeurs de couleur de 16 ou 18 bits. Il regroupe sur une seule puce un driver, un contr\u00f4leur graphique, la m\u00e9moire tampon n\u00e9cessaire et une interface SPI. Beaucoup de petits \u00e9crans utilisent ce circuit (Fig. 2).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"340\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2025\/12\/ILI9341ter.png\" alt=\"\" class=\"wp-image-5245\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2025\/12\/ILI9341ter.png 1024w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2025\/12\/ILI9341ter-300x100.png 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2025\/12\/ILI9341ter-768x255.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 2 : <em>\u00c9cran \u00e9conomique commun ILI9340 de 2,2 pouces, r\u00e9solution de 320\u00d7240.<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Les afficheurs plus grands, comme celui illustr\u00e9 \u00e0 la figure 1, peuvent \u00eatre g\u00e9r\u00e9s soit par un microcontr\u00f4leur via une interface SPI et une carte sp\u00e9cialis\u00e9e comprenant une m\u00e9moire tampon et un contr\u00f4leur graphique (un bon exemple est le RA8875, voir ci-dessous), soit par un microcontr\u00f4leur plus puissant int\u00e9grant la m\u00e9moire tampon et le contr\u00f4leur graphique, et via une interface RGB parall\u00e8le (voir ci-dessous les \u00e9crans ESP32).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>L\u2018interface HDMI<\/strong><\/h3>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Ordinateurs monocarte<\/strong><\/h5>\n\n\n\n<p>Les cartes microcontr\u00f4leurs n\u2019int\u00e8grent jamais de connecteur d\u2019affichage de type HDMI. En revanche, les ordinateurs mono-carte (SBC, pour Single Board Computer), comme par exemple le Raspberry Pi sous Linux ou le LattePanda sous Windows, disposent d\u2019une telle interface.<\/p>\n\n\n\n<p>Cependant, les ordinateurs, et en particulier leurs syst\u00e8mes d\u2019exploitation, sont peu tol\u00e9rants \u00e0 la perte d\u2019alimentation. Ils doivent \u00eatre \u00e9teints correctement. Les syst\u00e8mes embarqu\u00e9s doivent \u00eatre con\u00e7us de mani\u00e8re \u00e0 ce qu\u2019une perte d\u2019alimentation inattendue (comme la bascule du Master Switch dans un avion) ne provoque pas de corruption du syst\u00e8me d\u2019exploitation ni de perte de donn\u00e9es dans le logiciel applicatif en cours d\u2019ex\u00e9cution. <\/p>\n\n\n\n<p>Pour fonctionner en toute s\u00e9curit\u00e9 dans une application embarqu\u00e9e, un ordinateur monocarte n\u00e9cessite donc des dispositifs pour s\u00e9curiser son alimentation (comme <a href=\"https:\/\/hackaday.io\/project\/9461-lifepo4weredpi\" target=\"_blank\" rel=\"noopener\" title=\"\">celui-ci<\/a> pour le Raspberry Pi, par exemple), qui donnent au syst\u00e8me d\u2019exploitation le temps de s\u2019\u00e9teindre correctement. On parle d&rsquo;UPS, pour Uninterruptible Power Supply. Dans le cadre d\u2019un projet DIY, le syst\u00e8me est donc plus complexe et plus sujet \u00e0 des d\u00e9faillances.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Microcontr\u00f4leurs<\/strong><\/h5>\n\n\n\n<p>Ils sont beaucoup mieux adapt\u00e9s aux t\u00e2ches embarqu\u00e9es. Leur proc\u00e9dure standard d&rsquo;arr\u00eat consiste simplement \u00e0 couper l\u2019alimentation.<\/p>\n\n\n\n<p>Par ailleurs, les \u00e9crans HDMI lisibles en plein soleil sont tr\u00e8s rares et exceptionnellement utilisables aussi bien en mode portrait qu&rsquo;en mode paysage. Pour ces raisons, les \u00e9crans HDMI ne conviennent gu\u00e8re, et ne seraient pas faciles \u00e0 utiliser dans nos applications d&rsquo;avionique. La puissance graphique d&rsquo;un ordinateur mono-carte, associ\u00e9 \u00e0 un logiciel graphique comme Processing, est pourtant bien sup\u00e9rieure \u00e0 celle d&rsquo;un microcontr\u00f4leur&#8230; Mais surtout, on va voir qu&rsquo;il existe d\u2019excellentes alternatives.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>MIPI-DSI<\/strong><\/h3>\n\n\n\n<p>Comme le HDMI, il s&rsquo;agit d&rsquo;une autre interface de niveau industriel. Certaines cartes microcontr\u00f4leurs haut de gamme, volumineuses et co\u00fbteuses (STM32, Arduino Portenta, etc.) int\u00e8grent un contr\u00f4leur graphique haute performance et disposent d\u2019un connecteur MIPI-DSI. <\/p>\n\n\n\n<p>Mais la raret\u00e9 des \u00e9crans MIPI-DSI (surtout avec la haute luminosit\u00e9 requise), combin\u00e9e \u00e0 la complexit\u00e9 de ces microcontr\u00f4leurs professionnels, et \u00e0 l&rsquo;absence de biblioth\u00e8que graphique adapt\u00e9e et simple d\u2019utilisation, rend leur emploi dans un projet d&rsquo;avionique DIY pratiquement impossible pour un amateur. Ces cartes sont plut\u00f4t destin\u00e9es \u00e0 des applications industrielles et professionnelles, elles sortent du domaine de l&rsquo;amateur auquel ce site est destin\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Les interfaces s\u00e9rie<\/strong><\/h3>\n\n\n\n<p>C&rsquo;est la cat\u00e9gorie d&rsquo;interface la plus courante pour les microcontr\u00f4leurs. L&rsquo;interface s\u00e9rie peut utiliser le protocole I2C ou SPI.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">I2C<\/h5>\n\n\n\n<p>Le protocole I2C peut contr\u00f4ler un syst\u00e8me quelconque gr\u00e2ce \u00e0 seulement deux broches d&rsquo;entr\u00e9e\/sortie (SDA et SCL). Plusieurs appareils peuvent coexister sur un bus I2C tant qu&rsquo;ils ont des adresses diff\u00e9rentes. Ce bus est relativement lent, id\u00e9al pour des capteurs, un peu moins pour des \u00e9crans. Certains \u00e9crans LCD monochromes alphanum\u00e9riques, comme celui illustr\u00e9 \u00e0 la figure 3, bien qu&rsquo;ayant une interface parall\u00e8le, peuvent \u00eatre connect\u00e9s \u00e0 un bus I2C \u00e0 l&rsquo;aide d&rsquo;une petite carte d&rsquo;interface parall\u00e8le-vers-I2C soud\u00e9e au dos de l\u2019\u00e9cran. <\/p>\n\n\n\n<p>Pour afficher quelques lignes de texte, le bus I2C est alors amplement suffisant. Un tel \u00e9cran pourrait trouver sa place sur un tableau de bord, par exemple pour afficher certains param\u00e8tres du moteur, la position d&rsquo;un trim, les r\u00e9glages d&rsquo;un pilote automatique, etc. Cependant, cette technologie bien \u00e9prouv\u00e9e a une apparence quelque peu aust\u00e8re et r\u00e9tro, et fonctionne sous 5 volts, alors que les microcontr\u00f4leurs r\u00e9cents utilisent une tension de 3,3 volts.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/lcd_alphanum_I2C-1024x532.jpg\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Figure 3 : <em>\u00c9cran LCD alphanum\u00e9rique (4 lignes de 20 caract\u00e8res) connect\u00e9 \u00e0 un bus I2C : deux fils pour l\u2019alimentation \u00e9lectrique et deux pour le bus. \u00c0 droite, on peut voir la petite carte d\u2019interface I2C soud\u00e9e \u00e0 l\u2019arri\u00e8re de l\u2019\u00e9cran.<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Il existe aussi des \u00e9crans de technologie OLED utilisant le bus I2C, souvent de petite taille et de faible r\u00e9solution. Ils permettent d\u2019afficher des textes courts ou des graphiques tr\u00e8s simples. Ils peuvent \u00eatre utilis\u00e9s avec une tension de 3,3 volts.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>SPI<\/strong><\/h5>\n\n\n\n<p>En raison de la nature rudimentaire et de l\u2019aspect archa\u00efque des \u00e9crans LCD alphanum\u00e9riques monochromes, les \u00e9crans graphiques couleur sont g\u00e9n\u00e9ralement pr\u00e9f\u00e9r\u00e9s. La technologie TFT est de loin la plus r\u00e9pandue. La connexion SPI est la plus courante. Les \u00e9crans TFT avec une interface SPI utilisent divers contr\u00f4leurs, par exemple le ST7735, le HX8357, le RA8875, entre autres. Leur taille varie de moins de 2 pouces en diagonale, jusqu\u2019\u00e0 7 pouces. Leur r\u00e9solution va de 128 x 160 \u00e0 800 x 480 pixels, et certains mod\u00e8les incluent une interface tactile.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>L&rsquo;interface SPI<\/strong><\/h5>\n\n\n\n<p>Le bus SPI est nettement plus rapide que le bus I2C. Quatre fils sont n\u00e9cessaires : MISO, MOSI, CLK et CS. Le SPI convient tr\u00e8s bien aux besoins des \u00e9crans TFT des syst\u00e8mes avioniques personnels. Ce bus pr\u00e9sente cependant un inconv\u00e9nient important par rapport aux interfaces parall\u00e8les : il n&rsquo;est pas possible de synchroniser le microcontr\u00f4leur avec le balayage de l&rsquo;\u00e9cran.<\/p>\n\n\n\n<p>Par ailleurs, les contr\u00f4leurs de ces \u00e9crans ne sont pas \u00e9quip\u00e9s de buffers multiples. Tout cela peut entra\u00eener des ph\u00e9nom\u00e8nes de scintillement (flickering) tr\u00e8s g\u00eanants sur des animations rapides, se manifestant par des clignotements et\/ou des lignes ou des bandes sombres qui d\u00e9filent verticalement. Les animations sont donc \u00e0 utiliser avec parcimonie.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Comment \u00e9viter les clignotements ?<\/strong><\/h5>\n\n\n\n<p>D&rsquo;une mani\u00e8re g\u00e9n\u00e9rale, la meilleure fa\u00e7on de supprimer les \u00e9ventuels scintillements consiste \u00e0 mettre \u00e0 jour uniquement les zones de l&rsquo;\u00e9cran qui changent et \u00e0 les r\u00e9duire au minimum.<\/p>\n\n\n\n<p>Ces principes de pr\u00e9vention sont impossibles \u00e0 appliquer dans l&rsquo;exemple de la vid\u00e9o 1, o\u00f9 une grande surface circulaire se d\u00e9place. Le cercle est successivement affich\u00e9, puis effac\u00e9 en tra\u00e7ant \u00e0 sa place un cercle identique, mais de la couleur du fond (ici le noir), puis affich\u00e9 de nouveau \u00e0 l&#8217;emplacement suivant : de forts scintillements sont alors garantis. Inutile de penser \u00e0 programmer un jeu vid\u00e9o, avec des sprites mobiles, \u00e0 l&rsquo;aide d&rsquo;un microcontr\u00f4leur et d&rsquo;un \u00e9cran TFT SPI !<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video controls src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/flickering.mp4\"><\/video><figcaption class=\"wp-element-caption\">Vid\u00e9o 1 : \u00ab\u00a0<em>Flickering\u00a0\u00bb (scintillement) caract\u00e9ristique d&rsquo;une animation sur un \u00e9cran TFT couleur connect\u00e9 en SPI.<\/em><\/figcaption><\/figure>\n\n\n\n<p>Heureusement, les affichages en avionique peuvent se passer de sprites. N\u00e9anmoins, l&rsquo;affichage via SPI et sans scintillement de l&rsquo;horizon artificiel d&rsquo;un EFIS constitue un vrai d\u00e9fi. Il faut faire coexister sur l&rsquo;\u00e9cran de nombreux affichages textuels et graphiques qui varient rapidement, sur un fond lui-m\u00eame mobile symbolisant le ciel en bleu et la terre en ocre.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Le contr\u00f4leur graphique RA8875<\/h5>\n\n\n\n<p>Pour notre projet d&rsquo;EFIS Teensy, afin de surmonter cette difficult\u00e9, nous avons choisi d&rsquo;utiliser un \u00e9cran \u00e9quip\u00e9 d&rsquo;un contr\u00f4leur RA8875. Ce dernier sert d&rsquo;interface entre le microcontr\u00f4leur, auquel il est connect\u00e9 en SPI, et la dalle LCD-TFT auquel il est connect\u00e9 via une interface parall\u00e8le (Fig. 4). Le RA8875 permet de g\u00e9rer s\u00e9par\u00e9ment deux couches diff\u00e9rentes, chacune ayant sa propre m\u00e9moire d\u00e9di\u00e9e, ce qui permet de se rapprocher du principe du double buffer. Ce contr\u00f4leur b\u00e9n\u00e9ficie en outre d&rsquo;une <a href=\"https:\/\/github.com\/PaulStoffregen\/RA8875\/tree\/RA8875_t4\" target=\"_blank\" rel=\"noopener\" title=\"Biblioth\u00e8que RA8875\">biblioth\u00e8que particuli\u00e8rement efficace<\/a> et rapide, optimis\u00e9e pour les cartes Teensy 4.x.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/ecran_buydisplay-1024x849.jpg\" alt=\"\" style=\"width:550px\"\/><figcaption class=\"wp-element-caption\">Figure 4 : <em>L&rsquo;\u00e9cran utilis\u00e9 pour nos premiers prototypes d&rsquo;EFIS \u00e9tait de marque EastRising\/BuyDisplay. La dalle est mate, la luminosit\u00e9 est de 1000 nits. Alimentation en 5 volts, logique en 3,3 volts. On voit le contr\u00f4leur RA8875 un peu en dessous du centre du circuit imprim\u00e9 fix\u00e9 au dos de la dalle TFT. La nappe \u00e0 40 conducteurs relie le contr\u00f4leur \u00e0 cette dalle.<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<h5 class=\"wp-block-heading\">La biblioth\u00e8que RA8875<\/h5>\n\n\n\n<p>L&rsquo;inconv\u00e9nient principal de la biblioth\u00e8que utilis\u00e9e (mais c&rsquo;est la ran\u00e7on de sa rapidit\u00e9) est qu&rsquo;elle ne g\u00e8re pas les tentatives d&rsquo;affichage de pixels en dehors des coordonn\u00e9es autoris\u00e9es par la d\u00e9finition de l&rsquo;\u00e9cran. Il revient au programmeur soit de g\u00e9rer ces d\u00e9passements, au prix d&rsquo;un ralentissement li\u00e9 \u00e0 des calculs plus complexes, soit de les \u00e9viter, gr\u00e2ce \u00e0 des calculs moins complexes. <\/p>\n\n\n\n<p>C&rsquo;est la deuxi\u00e8me solution qui a \u00e9t\u00e9 choisie, ce qui a conduit \u00e0 faire des concessions par rapport \u00e0 l&rsquo;aspect habituel d&rsquo;un horizon artificiel : les graduations de pitch se contentent de tourner avec l&rsquo;horizon, mais ne se d\u00e9placent pas verticalement avec lui, et l&rsquo;arc des graduations d&rsquo;angle de roulis est fixe (vid\u00e9o 2). Une solution plus \u00e9l\u00e9gante aurait certainement pu \u00eatre envisag\u00e9e, mais entre-temps, l\u2019EFIS-EMS ESP32 (cf. plus bas) a chang\u00e9 la donne.<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video controls src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/DemoEFIS.mp4\"><\/video><figcaption class=\"wp-element-caption\">Vid\u00e9o 2 : <em>Vue au banc d&rsquo;une version de d\u00e9bogage de l&rsquo;EFIS Teensy utilisant l&rsquo;\u00e9cran mentionn\u00e9 dans la l\u00e9gende de la figure 4, et une carte Teensy 4.1. Le module AHRS, connect\u00e9 sur une voie s\u00e9rie, est mobilis\u00e9 manuellement pour animer l&rsquo;horizon. Il n&rsquo;y a aucun scintillement li\u00e9 aux mouvements de l&rsquo;horizon. La bille est transparente, pr\u00e9cis\u00e9ment afin d\u2019\u00e9viter tout scintillement.<\/em><\/figcaption><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Quel contr\u00f4leur RA8875 utiliser&nbsp;?<\/h5>\n\n\n\n<p>Les \u00e9crans EastRising\/BuyDisplay ont quelques fonctions annexes qui ne sont pas utiles pour nos projets : slot micro SD, emplacements SPI Flash et clavier. De plus, ils manifestent \u00e0 l&rsquo;usage une tendance certaine \u00e0 dysfonctionner, par exemple si la connexion SPI d\u00e9passe quelques centim\u00e8tres, ou si on utilise pour les essais une plaque de connexions sans soudure (breadboard). Les \u00e9crans noirs, aussi intempestifs qu\u2019incompr\u00e9hensibles, ne sont pas rares.<\/p>\n\n\n\n<p>Pour ces raisons, nous pr\u00e9f\u00e9rons utiliser le <a href=\"https:\/\/www.adafruit.com\/product\/1590\" target=\"_blank\" rel=\"noreferrer noopener\">contr\u00f4leur RA8875 Adafruit<\/a>, plus fiable. Et une dalle s\u00e9par\u00e9e, comme <a href=\"https:\/\/riverdi.com\/product\/high-brightness-ips-display-rvt43hltfwn00-4-3-inch-rgb-frame\/\" target=\"_blank\" rel=\"noreferrer noopener\">celle-ci<\/a> ou <a href=\"https:\/\/riverdi.com\/product\/high-brightness-ips-display-rvt50hqtfwn00-5-inch-rgb-frame\/\" target=\"_blank\" rel=\"noreferrer noopener\">celle-l\u00e0<\/a>, qui ont en outre le gros avantage sur les dalles EastRising d&rsquo;\u00eatre de technologie IPS (angles de vision \u00e9tendus). <\/p>\n\n\n\n<p>Ceci permet par ailleurs une plus grande flexibilit\u00e9 dans la disposition des \u00e9l\u00e9ments lors de l&rsquo;installation sur le tableau de bord. En effet, la carte contr\u00f4leur RA8875 peut \u00eatre int\u00e9gr\u00e9e sur le m\u00eame circuit imprim\u00e9 que la carte Teensy, ce qui garantit une connexion SPI la plus fiable et la plus courte possible. En outre, contrairement \u00e0 la connexion SPI, la connexion parall\u00e8le (nappe \u00e0 40 conducteurs) peut \u00eatre \u00e9tendue sans inconv\u00e9nient gr\u00e2ce \u00e0 un prolongateur de 20 cm (Fig. 5). Voir la <a href=\"https:\/\/avionicsduino.com\/index.php\/fr\/efis\/\">page EFIS<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/11\/RA8875_Adafruit-1024x992.jpg\" alt=\"\" style=\"width:500px\"\/><figcaption class=\"wp-element-caption\">Figure 5 : <em>Contr\u00f4leur RA8875 Adafruit \u00e0 droite et dalle TFT mate IPS Riverdi \u00e0 gauche, avec une nappe de prolongation de 20 cm de la connexion parall\u00e8le RGB.<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Les dalles LCD haute luminosit\u00e9 de 5 pouces de diagonale n\u00e9cessitent un courant d&rsquo;alimentation du r\u00e9tro\u00e9clairage sup\u00e9rieur \u00e0 celui des dalles de 4,3 pouces. Pour cette raison, il est n\u00e9cessaire de souder ensemble les deux pads intitul\u00e9s \u00ab\u00a0+100mA\u00a0\u00bb au dos du contr\u00f4leur RA8875 (fig. 6).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/RA8875_back.jpg\" alt=\"\" style=\"width:400px\"\/><figcaption class=\"wp-element-caption\">Figure 6 : <em>Pads \u00e0 souder pour augmenter l&rsquo;intensit\u00e9 d\u00e9livr\u00e9e au r\u00e9tro\u00e9clairage par le RA8875<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<h5 class=\"wp-block-heading\"><strong>Interface parall\u00e8le<\/strong><\/h5>\n\n\n\n<p>Avec les interfaces parall\u00e8les (ou RGB-parall\u00e8le), chaque bit de chaque couleur (Rouge, Vert, Bleu) est transmis sur une ligne distincte. Il faut donc 24 lignes si chaque couleur est cod\u00e9e sur 8 bits ; c&rsquo;est ce qu&rsquo;on appelle le mode RGB888. Seules 16 lignes sont n\u00e9cessaires pour le mode RGB565, o\u00f9 le Rouge et le Bleu sont cod\u00e9s sur 5 bits et le Vert sur 6 bits. <\/p>\n\n\n\n<p>Plusieurs autres lignes sont requises pour les synchronisations verticale et horizontale, pour le signal d&rsquo;horloge, etc. Et une ligne correspond \u00e0 une broche. Ainsi, de nombreuses cartes de microcontr\u00f4leurs manquent tout simplement de broches. Par ailleurs, une puissance de calcul \u00e9lev\u00e9e et une m\u00e9moire de grande capacit\u00e9 sont n\u00e9cessaires pour g\u00e9rer toutes ces broches et tous ces signaux.<\/p>\n\n\n\n<p>L\u2019avantage d\u2019une telle interface graphique RGB parall\u00e8le, combin\u00e9e \u00e0 une double m\u00e9moire tampon (un bloc de donn\u00e9es \u00e9tant affich\u00e9 pendant qu\u2019un autre est en cours de calcul et de mise \u00e0 jour), est de permettre des animations rapides, sans le moindre scintillement. Mais cela demande beaucoup de ressources, notamment en m\u00e9moire.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>L\u2019interface RGB parall\u00e8le est-elle compatible avec les microcontr\u00f4leurs ?<\/strong><\/h5>\n\n\n\n<p>Jusqu\u2019\u00e0 r\u00e9cemment, ce type d\u2019interface ne r\u00e9pondait pas aux principes essentiels d\u00e9crits sur la page d\u2019accueil du site AvionicsDuino : la simplicit\u00e9 et la ma\u00eetrise des co\u00fbts. Mais l\u2019arriv\u00e9e r\u00e9cente d\u2019\u00e9crans ESP32 \u00e0 faible co\u00fbt, combin\u00e9e \u00e0 l\u2019\u00e9mergence de deux biblioth\u00e8ques graphiques d\u00e9di\u00e9es, de qualit\u00e9 exceptionnelle (<a href=\"https:\/\/github.com\/Bodmer\/TFT_eSPI\" target=\"_blank\" rel=\"noopener\" title=\"Biblioth\u00e8que TFT_eSPI\">TFT_eSPI<\/a> et <a href=\"https:\/\/github.com\/lovyan03\/LovyanGFX\" target=\"_blank\" rel=\"noopener\" title=\"Biblioth\u00e8que LovyanGFX\">LovyanGFX<\/a>), a radicalement chang\u00e9 la situation. La figure 7 montre l\u2019un de ces \u00e9crans \u00e0 contr\u00f4leur ESP32.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2025\/12\/ESP32_8048S043C_Display-1024x297.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Figure 7 : <em>\u00c9cran Sunton ESP32-8048S043C. Il s&rsquo;agit d&rsquo;un \u00e9cran de 4,3 pouces, 800 x 480, dot\u00e9 d&rsquo;une couche tactile capacitive. Dalle TFT \u00e0 gauche, PCB coll\u00e9 au dos de la dalle \u00e0 droite. Un module ESP32-S3-WROOM 1 (visible sur la gauche du PCB) contr\u00f4le directement le driver du panneau TFT, sans autre contr\u00f4leur, via une nappe FFC \u00e0 40 conducteurs. En mode RGB565, 21 broches du module ESP32 sont utilis\u00e9es pour l&rsquo;affichage.<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<h5 class=\"wp-block-heading\">L&rsquo;EFIS-EMS ESP32<\/h5>\n\n\n\n<p>Les capacit\u00e9s graphiques de ces \u00e9crans, associ\u00e9es \u00e0 la biblioth\u00e8que LovyanGFX (que nous privil\u00e9gions), sont exceptionnelles. L\u2019utilisation intensive de sprites permet de r\u00e9aliser des animations de qualit\u00e9 professionnelle, sans scintillement. Un horizon artificiel tr\u00e8s r\u00e9aliste devient possible gr\u00e2ce \u00e0 de simples microcontr\u00f4leurs. La figure 8 montre l\u2019aspect de l\u2019\u00e9cran du nouveau syst\u00e8me <a href=\"https:\/\/avionicsduino.com\/index.php\/fr\/efis-ems-esp32\/\" title=\"EFIS-EMS ESP32\">AvionicsDuino ESP32 EFIS-EMS<\/a>, dot\u00e9 d\u2019un \u00e9cran de 7 pouces.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2025\/12\/EFIS-EMS-ESP32_prototype_Display-768x450.png\" alt=\"\" style=\"width:600px\"\/><figcaption class=\"wp-element-caption\">Figure 8 : <em>EFIS-EMS AvionicsDuino. Un EFIS et un EMS cohabitent sur un \u00e9cran de 7 pouces, contr\u00f4l\u00e9s par un microcontr\u00f4leur ESP32-S3<\/em>.<\/figcaption><\/figure>\n<\/div>\n\n\n<p>La luminosit\u00e9 de la totalit\u00e9 des \u00e9crans ESP32 disponibles sur le march\u00e9 est bien trop faible. De plus, leur \u00e9cran tactile brillant est fortement sujet aux reflets, et est difficilement utilisable en cas de turbulence. Pour ces raisons, et pour le projet EFIS-EMS, une carte contr\u00f4leur ESP32-S3 personnalis\u00e9e a \u00e9t\u00e9 d\u00e9velopp\u00e9e. Elle est associ\u00e9e \u00e0 une dalle TFT mate non tactile de 1000 cd\/m\u00b2. Ce syst\u00e8me d&rsquo;affichage est contr\u00f4l\u00e9 via six boutons-poussoirs en fa\u00e7ade. Voir la page \u00ab ESP32 EFIS EMS \u00bb. Ce syst\u00e8me utilise un autre microcontr\u00f4leur ESP32-S3 pour son module d\u2019acquisition de donn\u00e9es distantes (RDAM, pour Remote Data Acquisition Module).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(\u00c9crans TFT et avionique DIY : Derni\u00e8re mise \u00e0 jour par Benjamin le 25\/03\/2026) Le choix d\u2019un \u00e9cran TFT-LCD pour un projet d\u2019avionique DIY d\u00e9pend de nombreux facteurs. Le type d\u2019\u00e9cran, l\u2019interface de connexion, la disponibilit\u00e9 et la qualit\u00e9 des biblioth\u00e8ques, ainsi que la luminosit\u00e9 doivent \u00eatre pris en compte. La taille et la r\u00e9solution &hellip; <a href=\"https:\/\/avionicsduino.com\/index.php\/fr\/les-ecrans\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;\u00c9crans TFT et avionique DIY&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-337","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/comments?post=337"}],"version-history":[{"count":63,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/337\/revisions"}],"predecessor-version":[{"id":5510,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/337\/revisions\/5510"}],"wp:attachment":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/media?parent=337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}