–
Mise à jour le 07/07/2018 : L’objectif de ce programme, très simple, est d’allumer ou éteindre une LED chaque fois qu’un bouton est pressé sur la tablette Nextion.
–
Sommaire :
- Description de l’affichage LCD Tactile 7″ Nextion HMI
- Guide de démarrage rapide de l’interface utilisateur
- Description du tutoriel pour la tablette Nextion
- Programme pour Arduino 2560 Mega ( sur Uno aussi )
- Paramétrage pour la tablette Nextion pour le tutoriel
- Retour au menu principal.
Description de l’affichage LCD Tactile 7″ Nextion HMI |
Caractéristiques et spécificités :
- Modèle : IM150416007
- Dimensions d’affichage : 7,0”
- Résolution d’affichage : 800 x 480
- 65 K de vraies couleurs RVB
- Interface d’affichage : sérielle
- Contrôleur d’affichage : non
- Extension : socle pour carte SD
- Écran : tactile
- Dimensions de la carte : 181 x 108 mm
- Poids : 337 g
- Interface d’affichage TFT : N/C
A savoir pour cette tablette :
- Il est impératif d’alimenter correctement l’écran. L’alimentation doit être capable de fournir 1.5A sous 5 Volts .
- Il est également important de mettre les masses en commun
Retour au sommaire . |
Guide de démarrage rapide de l’interface utilisateur |
- 1 : Menu principal .
- 2 : Composants disponibles
- 3 : Bibliothèque de polices : Stockage de la police que vous avez créée par l’éditeur de polices.Bibliothèque d’images : importez les ressources d’image dont vous avez besoin.
- 4 : Zone d’affichage
- 5 : Zone de page: Modifier la page dans cette zone
- 6 : Zone d’édition: Permet de modifier les attributs des composants et des pages, tels que la valeur, la couleur d’un composant de texte.
- 7 : Fenêtre de sortie du compilateur: si des erreurs surviennent, elles seront affichées dans cette zone.
- 8 : Zone de l’événement: Écrivez quelques codes simples ici. Lorsque l’événement est déclenché, les codes que vous écrivez seront exécutés.
Lien pour le guide de démarrage rapide de l’éditeur Nextion -> https://www.itead.cc/wiki/Nextion_Editor_Quick_Start_Guide
Retour au sommaire . |
Description du tutoriel pour la tablette Nextion |
L’objectif de ce programme très simple, est d’allumer ou éteindre une LED chaque fois qu’un bouton est pressé sur la tablette Nextion. Ici, nous utilisons la bibliothèque officielle, créée par ITEAD, qui permet de déclarer précisément le composant « bouton ». Comme il s’agit d’un composant de type « Button », il est possible de déclarer une fonction de type callback* sur l’événement « pression sur le bouton ». * Cette fonction est ainsi appelée automatiquement par la librairie officielle, lors de l’exécution de sa propre fonction nexLoop (qui doit donc impérativement être appelée dans la fonction loop de Arduino).
Définition de callback :
En informatique, une fonction de rappel (callback en anglais) ou fonction de post-traitement est une fonction qui est passée en argument à une autre fonction. Cette dernière peut alors faire usage de cette fonction de rappel comme de n’importe quelle autre fonction, alors qu’elle ne la connaît pas par avance.
Retour au sommaire . |
Programme pour Arduino 2560 Mega
|
✔️Programme réalisé sur Ide 1.8.5
✔️Bibliothèque officielle ( fabricant ) : https://github.com/itead/ITEADLIB_Arduino_Nextion
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
/* * * Le 30/06/2018 * RedOhm Bertrand BENOIT * * Programme permettant à l'Arduino de lire l'état d'un * boutton sur une tablette Nextion, et d'allumer/éteindre * une LED en conséquence. * * Niveau de difficulté 3/10 * * Pour information * @author <mailto:redohm@bertrand-benoit.net>Bertrand BENOIT</mailto> */ // Cette bibliothèque vous permet de communiquer avec les tablettes Nextion. // Ce tutoriel utilise la version officielle de la librairie de // ITEAD LIB (https://github.com/itead/ITEADLIB_Arduino_Nextion). #include "Nextion.h" #include "NexButton.h" // Définition de la broche de la LED. #define LED_PIN 6 // Definition de l'état de la LED. bool ledState = false; // Définition des ID des composants qui nous intéressent //(à aller chercher sur le programme .HMI de votre Nextion). #define NETXION_PAGE_ID 0 #define NETXION_BUTTON_ID 3 // Création des instances, permettant de "communiquer" // directement avec les éléments de la tablette Nextion. // Important: le nom du composant est aussi important que // son identifiant, les 2 doivent rigoureusement // correspondre à ce qui est défini sur la tablette Nextion. NexButton buttonComponent = NexButton(NETXION_PAGE_ID, NETXION_BUTTON_ID, "myButton"); // Définition des composants sur lesquels on // souhaite recevoir les évènements. // IMPORTANT: la barre de progression ne fait pas partie // des composants dont on peut recevoir les évènements, // car ce n'est pas la pression, ou le relâchement qui nous intéresse. // on défini donc une liste de listener vidre NexTouch *nex_listen_list[] = { &buttonComponent, NULL }; /* * Fonction callback appelée lorsque l'on appuie sur le * bouton sur la tablette Nextion. */ void buttonPushCallback(void *ptr) { // Si cette fonction a été appelée, cela signifie // que le bouton a été pressé sur la tablette Nextion. ledState = !ledState; digitalWrite(LED_PIN, ledState ? HIGH : LOW); } void setup() { // Pour des raisons de performances sur les entrées/sorties, // il est préférable de commenter l'initialisation du port Série. // Réactivez le, uniquement à des fins de Debug. Serial.begin(9600); // Déclaration/initialisation de la LED. pinMode(LED_PIN, OUTPUT); // Initialisation de la librairie ITEAD pour Nextion. nexInit(); // Enregistrement de la fonction de callback sur le bouton. buttonComponent.attachPush(buttonPushCallback, &buttonComponent); dbSerialPrintln("Setup successfully completed."); } void loop() { // On transmet la boucle à la librairie ITEAD. nexLoop(nex_listen_list); } |
Retour au sommaire . |
Paramétrage pour la tablette Nextion |
Attribut générique en fonction de l’objet sélectionné .
id – Le numéro unique de l’objet permettant de l’identifier.
objname – Le nom de l’objet , paramétre que l’on peut changer .
type – Le type numérique de l’objet .
vscope – La porté de la variable , ceci permet que les variables puissent etre accessibles ou non depuis d’autres pages .
sta – Le type de remplissage ( couleur ou une image )
x – La position horizontale du coin superieur gauche de l’objet .
y – La position verticale du coin superieur gauche de l’objet .
w – La largeur de l’objet en pixels .
h – La hauteur de l’objet en pixels .
–
Téléchargement du fichier pour la tablette Nextion HMI :
–
Retour au sommaire . |