Maintenant, découvrons comment recevoir une donnée.
Ici, nous prendrons un potentiomètre sur une entrée analogique à titre d'exemple.
1) Préparation de l'IHM :
Nous allons placer deux cadres, un texte et un nombre avec les propriétés suivantes :
L'objet t1 sera un texte fixe, constant. Par contre, n0 va afficher la valeur lue, il va donc changer régulièrement.
Pour le moment, c'est suffisant, on peut téléverser l'IHM. (https://sti2d-sin-isn.blogspot.fr/2018/03/televerser-une-ihm-vers-un-ecran-nextion.html)
2) Le programme Arduino
On reprend le même programme que l'article précédent et on ajoute une variable :
Puis on ajoute ce code juste après <chaine="">
Détail :
La fonction concat permet de concaténer deux éléments, c'est à dire que le second est mis à la fin du premier. On accole dont la valeur lue au potentiomètre au texte n0.val=
Ce n'est pas fini..... maintenant, toute cette nouvelle chaine (presque complète) doit être envoyée... C'est le rôle de la fonction "transfert" :Cette fonction se met en dehors du loop, ou, mieux encore, dans un nouvel onglet, soit de l'IDE Arduino, soit comme ici, dans VS :
Résultat :
😄Pour le FUN :
Vu que l'on peut changer les propriétés des éléments, on va changer la couleur du texte en fonction de la valeur du potentiomètre :
Ici, on voit les valeurs de quelques couleurs :
Maintenant, faisons en sorte que cela change avec le programme :
Prochain article sur le même sujet : le vu-mètre.....
Mise à jour le 21 novembre 2018 :
Après plusieurs essais, la fonction "transfert" ne semble pas forcément nécessaire. Une commande comme celle-ci peut s'avérer suffisante :
mySerial.print("n0.val=100");=> bien entendu, le 100 peut être récupéré par un capteur mais casté en String
mySerial.write(0xFF); mySerial.write(0xFF); mySerial.write(0xFF);
mySerial.write(0xFF); mySerial.write(0xFF); mySerial.write(0xFF);