Le Nextion 7 pouces capacitif est un écran tactile qui gère lui-même son interface. Vous dessinez les boutons, les jauges et les champs de texte dans un logiciel sur PC, vous chargez le résultat dans l’écran — puis votre Arduino n’a plus qu’à envoyer du texte par une simple liaison série pour faire vivre la page. Référence NX8048K070-011C, série Enhanced, livrée dans son boîtier.
C’est le composant qui transforme un projet de prototype en appareil présentable : au lieu d’un écran de caractères et de quelques boutons, vous obtenez une vraie interface, avec des zones tactiles, des curseurs et une horloge à l’écran.
Un écran qui travaille tout seul
Sur un affichage classique, le microcontrôleur doit calculer chaque pixel et redessiner en permanence. Ici, l’inverse : l’écran embarque son propre processeur (108 MHz) et sa propre mémoire. Il affiche la page que vous avez dessinée, gère les appuis du doigt, fait glisser les curseurs et fait tourner ses animations sans que l’Arduino s’en mêle.
Votre programme se contente donc de deux gestes très simples : lire les informations de l’interface (t0.txt pour le texte d’un champ, b0.val pour la valeur d’un bouton ou d’une jauge) et écrire de nouvelles valeurs. Un afficheur de température, un tableau de bord de batterie ou un menu de machine tiennent en une vingtaine de lignes de code, et le rendu est identique à celui du logiciel de conception.
Caractéristiques techniques
| Modèle | NX8048K070-011C — Nextion série Enhanced (K), 7,0 pouces, tactile capacitif, avec boîtier |
|---|---|
| Écran | 7,0 pouces, 800 × 480 pixels, 65 536 couleurs (16 bits), zone active 154,08 × 85,92 mm |
| Affichage | Paysage 800 × 480 ou portrait 480 × 800, sans changement de matériel |
| Tactile | Capacitif, plus d’un million de touchers. Répond au doigt, sans appuyer |
| Processeur | 108 MHz |
| Mémoire | 32 Mo de flash (polices et images), 8 192 octets de RAM (variables), 1 024 octets d’EEPROM utilisateur |
| Horloge | RTC intégrée, sur pile bouton CR1220 (emplacement prévu sur la carte) |
| Entrées-sorties | 8 entrées-sorties numériques 3,3 V, dont IO4 à IO7 compatibles PWM |
| Liaison | Série TTL sur connecteur XH2.54 4 points (+5 V, TX, RX, GND), de 2 400 à 921 600 bps, 9 600 bps par défaut |
| Niveaux série | Sortie TX : au moins 3,0 V. Entrée RX : accepte aussi bien le 3,3 V que le 5 V d’un Arduino |
| Carte mémoire | microSD jusqu’à 32 Go, format FAT32 — sert à charger l’interface et à mettre à jour le micrologiciel |
| Alimentation | 5 V continu (4,75 à 6,5 V). Alimentation conseillée : 5 V / 1 A. Consommation d’environ 0,41 A écran allumé |
| Rétroéclairage | LED, luminosité réglable de 0 à 100 % par pas de 1 % |
| Température de service | −20 °C à +70 °C |
| Boîtier | Plastique noir intégré, écran affleurant, fixation par l’arrière |
Ce que la série Enhanced apporte
Nextion décline ses écrans en trois familles, et la lettre du milieu le dit : T pour Basic, K pour Enhanced, P pour Intelligent. Ce modèle est de la famille Enhanced, celle qui apporte au-dessus du Basic :
- une horloge interne — l’écran connaît l’heure même éteint, avec une pile bouton, et peut afficher un cadran ou horodater un évènement sans microcontrôleur ;
- huit entrées-sorties — de quoi lire un bouton, piloter un relais ou une LED directement depuis l’écran, en plus de la liaison série ;
- plus de mémoire — 32 Mo de flash pour les polices et les images, 8 192 octets de RAM pour les variables : de quoi afficher un fond photographique et une interface riche ;
- un processeur plus rapide — 108 MHz contre 48 MHz, ce qui rend les transitions et les animations fluides.
La famille Intelligent (NX8048P070) va plus loin encore, avec le son, la vidéo et beaucoup plus de mémoire. Pour du texte, des jauges, des boutons et des graphiques — l’immense majorité des projets — la série Enhanced suffit largement et coûte moins cher. C’est le bon compromis tant que vous n’avez pas besoin de jouer un son depuis l’écran.
Brochage et liaison série
Le connecteur d’alimentation et de communication est un XH2.54 à quatre points, sérigraphié sur la carte. Les quatre fils sont ceux que l’on retrouve sur tous les écrans Nextion :
+5V | Alimentation positive, 5 V. À relier au 5 V d’une alimentation ou de l’Arduino. |
|---|---|
TX | Ce que l’écran envoie. À relier à l’entrée RX de l’Arduino. |
RX | Ce que l’écran reçoit. À relier à la sortie TX de l’Arduino. |
GND | La masse, référence commune des deux côtés. Indispensable : sans elle, rien ne communique. |
TX et RX se croisent toujours. La sortie d’un appareil va sur l’entrée de l’autre. Un montage où les deux TX se font face est le premier motif de « l’écran ne répond pas ».
Deuxième point à retenir : les deux côtés doivent parler à la même vitesse. L’écran sort d’usine à 9 600 bps comme l’Arduino, donc rien à régler. Si vous changez la vitesse d’un côté (l’instruction baud=115200 modifie celle de l’écran), faites-le aussi dans le programme, sinon vous ne verrez que des caractères parasites.
Créer l’interface avec Nextion Editor
Nextion Editor est un logiciel gratuit pour Windows, à télécharger chez le fabricant. Le principe est celui d’un éditeur de diapositives :
- Nouveau projet — choisissez le modèle NX8048K070 dans la liste. Le logiciel connaît la taille de la dalle et la position des zones tactiles ; ne prenez pas un autre modèle, les coordonnées seraient fausses.
- Déposez les composants — un champ texte, un bouton, une jauge, un curseur, une image de fond. Chaque composant reçoit un nom court (
t0,b0,j0) : c’est ce nom que votre programme utilisera pour discuter avec lui. - Compilez — le logiciel produit un fichier
.tftqui contient l’interface complète, polices et images comprises. - Copiez le fichier sur une carte microSD formatée FAT32, à la racine, carte retirée de l’écran.
- Insérez la carte et alimentez l’écran : il affiche brièvement le chargement, puis redémarre sur votre interface. Retirez ensuite la carte, elle n’est plus nécessaire.
Cette méthode par carte mémoire est la plus fiable, et c’est aussi celle qui permet de remettre un écran à neuf. Un convertisseur USB-TTL branché sur le connecteur 4 points rend par ailleurs de grands services pendant la mise au point : depuis le PC, vous pouvez envoyer des commandes à la main et voir exactement ce que l’écran renvoie.
Mini-projet : afficher une température mesurée par l’Arduino
Un montage complet, à réaliser en une vingtaine de minutes. Un capteur LM35 mesure la température ambiante, l’Arduino la lit et la pousse dans un champ texte de l’écran, rafraîchi chaque seconde.
Ce qu’il faut
| L’écran | Le Nextion 7 pouces de cette page — le champ texte de l’interface |
|---|---|
| Le microcontrôleur | Uno R3 + câble USB |
| La mesure | Capteur de température LM35 |
| Les liaisons | 10 × fil mâle-femelle |
| L’alimentation de l’écran | Alimentation 5 V 2 A |
Pourquoi une alimentation séparée ? L’écran demande environ 0,41 A, et le port USB d’un ordinateur en fournit 0,5 A en tout. Une fois la carte Uno et le capteur servis, la marge est trop faible : l’écran clignote ou redémarre. Une alimentation 5 V dédiée supprime le problème — et elle est de toute façon nécessaire dès que le montage quitte la table de travail.
Le câblage
Écran +5V | → alimentation 5 V (+) — et non le 5 V de l’Arduino |
|---|---|
Écran GND | → alimentation 5 V (−) et Arduino GND |
Écran TX | → Arduino D2 (entrée RX de la liaison logicielle) |
Écran RX | → Arduino D3 (sortie TX de la liaison logicielle) |
LM35 +Vs | → Arduino 5V |
LM35 Vout | → Arduino A0 |
LM35 GND | → Arduino GND |
La masse de l’alimentation de l’écran rejoint celle de l’Arduino : deux appareils qui communiquent doivent partager la même référence.
Les liaisons TX et RX passent par des broches ordinaires (D2 et D3) et non par les broches 0 et 1 de la carte Uno. C’est volontaire : les broches 0 et 1 servent au port USB, donc à la programmation et au moniteur série. Les occuper empêcherait l’un comme l’autre.
La page à créer dans l’éditeur
Dans Nextion Editor, sur la page 0, déposez un composant Text et nommez-le t0. Réglez sa police en grand (par exemple 48) et sa couleur. C’est tout : le programme ci-dessous écrit dans ce champ.
Le programme
À copier dans l’IDE Arduino, puis à téléverser sur la carte :
/*
* Temperature ambiante affichee sur un ecran Nextion 7 pouces
* Carte : Arduino Uno R3
* Montage : capteur LM35 sur A0, ecran Nextion sur D2 et D3
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
#include "SoftwareSerial.h"
// TX Arduino vers RX ecran, puis RX Arduino depuis TX ecran
SoftwareSerial nextion(2, 3);
const int BROCHES_LM35 = A0;
// Une instruction Nextion se termine toujours par trois octets 0xFF.
// Les guillemets sont ecrits en hexadecimal (0x22) : la commande envoyee
// a l'ecran est t0.txt="valeur"
void envoyer(const char *composant, const char *valeur) {
nextion.print(composant);
nextion.print(".txt=");
nextion.write(0x22);
nextion.print(valeur);
nextion.write(0x22);
nextion.write(0xFF);
nextion.write(0xFF);
nextion.write(0xFF);
}
void setup() {
Serial.begin(9600);
nextion.begin(9600);
delay(700); // laisser l'ecran terminer son demarrage
envoyer("page0.t0", "Mesure en cours");
}
void loop() {
int mesure = analogRead(BROCHES_LM35);
// Le LM35 delivre 10 mV par degre Celsius
float tension = mesure * 5.0 / 1024.0;
float temperature = tension * 100.0;
char valeur[16];
dtostrf(temperature, 4, 1, valeur); // 4 caracteres, une decimale
envoyer("page0.t0", valeur);
Serial.print("Temperature : ");
Serial.println(valeur);
delay(1000);
}Comment lire ce programme. La fonction envoyer termine chaque instruction par trois 0xFF : c’est la ponctuation du protocole Nextion, et sans elle l’écran reçoit le texte mais ne l’exécute jamais. Le reste est du calcul très ordinaire : le LM35 délivre 10 mV par degré, donc une tension de 0,245 V correspond à 24,5 °C.
Le format page0.t0.txt="..." veut dire : sur la page 0, le composant t0, sa propriété txt, voici la nouvelle valeur. C’est toute la grammaire nécessaire pour faire vivre une interface : les mêmes instructions deviennent b0.val=1 pour un bouton et j0.val=75 pour une jauge.
Variante : piloter l’écran depuis un ESP32
Le montage se transpose tel quel sur un ESP32 WROOM dual core, avec trois avantages. D’abord l’ESP32 dispose de plusieurs liaisons série matérielles : inutile de passer par une liaison logicielle, le dialogue est plus rapide et ne perturbe plus les broches de programmation. Ensuite ses entrées-sorties sont en 3,3 V, exactement le niveau natif de l’écran. Enfin la liaison Wi-Fi permet de mettre l’écran à jour à distance : l’ESP32 relit une mesure sur le réseau et l’affiche.
L’écran, de son côté, peut aussi agir sans microcontrôleur. Ses huit entrées-sorties se pilotent depuis l’interface elle-même : une instruction pio0=1 met la sortie IO0 au niveau haut, pio0=0 la remet au niveau bas. Un bouton tactile de vos propres pages peut donc commander un relais ou une LED directement, et l’Arduino ne s’occupe plus que de ce qui demande vraiment du calcul.
Questions fréquentes
Faut-il une bibliothèque Arduino pour piloter l’écran ?
Aucune. Le protocole est du texte envoyé sur une liaison série, à 9 600 bps. Deux lignes de print suffisent. Les bibliothèques que l’on trouve en ligne ne font que simplifier l’écriture des commandes, elles n’apportent rien de fonctionnel.
L’écran peut-il fonctionner sans Arduino ?
Oui, et c’est même sa force : l’interface est stockée dans l’écran, il l’affiche dès la mise sous tension, et ses boutons réagissent. Il n’est en revanche pas capable de mesurer quoi que ce soit — pas de capteur embarqué. Les valeurs affichées viennent toujours du microcontrôleur. Pour ce qui est de l’heure, la RTC intégrée fait exception : elle connaît l’heure toute seule grâce à sa pile.
Puis-je l’alimenter directement depuis l’Arduino ?
Sur une carte alimentée par USB, non, pas de façon fiable : l’écran demande environ 0,41 A là où le port ne fournit que 0,5 A en tout. L’écran affiche alors des scintillements ou redémarre sans raison apparente. Avec une carte alimentée par une alimentation externe de 5 V délivrant au moins 1 A, son régulateur peut alimenter l’écran sans difficulté.
L’écran affiche des caractères illisibles ou des symboles bizarres
C’est toujours une question de vitesse de liaison. Le programme et l’écran doivent travailler à la même cadence : 9 600 bps des deux côtés si vous n’avez rien changé. Vérifiez aussi que TX et RX sont bien croisés — deux sorties qui se font face produisent exactement le même symptôme.
Peut-on le faire fonctionner en portrait ?
Oui. Le même modèle accepte 480 × 800, il suffit de le choisir ainsi dans le projet Nextion Editor et de dessiner votre page dans ce sens. Le rendu, les couleurs et la qualité du tactile sont identiques.
Quelle différence avec la série Intelligent ?
La série Intelligent (référence NX8048P070) ajoute la lecture de fichiers son, la vidéo, beaucoup plus de mémoire et un processeur plus rapide. Pour afficher des valeurs, dessiner des jauges et gérer des menus, la différence ne se voit pas. Elle devient réelle dès qu’il faut jouer un son d’alarme ou des animations lourdes depuis l’écran lui-même.
À combiner avec
Pour démarrer vite, le Kit Arduino Uno maroc fournit la carte Uno, les fils et la plaque d’essai : il ne manque plus que l’écran et le capteur. Si vous voulez surveiller une température plus précise ou mesurer l’humidité en même temps, la sonde DS18B20 et le capteur DHT22 s’affichent parfaitement sur ce type d’écran. Et pour passer de l’affichage à l’action, un module 1 relais 5 V commandé depuis une page tactile transforme l’interface en véritable tableau de commande.






