Anthias
mail
3 connectés     # # #

clock

Cadrans et galvanomètres sur Nextion calculés par Arduino

Nextion


Introduction
Choix du fond d'écran
Balayage de l'aiguille
Amortissement de l'aiguille

 

Rolex calculée par Nextion arduino

Retour page principale Nextion arduino


Maj : 24/06/19

Abstract :
How to make various analogic indicators on a Nextion, using a picture as fixed background an needles calculated by Arduino.

Résumé :
Comment faire divers indicateurs analogiques sur un Nextion, en utilisant une image comme fond fixe et des aiguilles calculées par Arduino.

clock  Introduction

Pour se reposer un peu, cette page va être très basique, pour peu que vous ayez bien assimilé le concept de la délicate création d’aiguille précédemment exposé dans le chapitre :

Rolex calculée par Nextion arduino

Cette application est une simple variante simplifiée de Rolex par Nextion, sans aucun calcul côté Nextion,
Tout le calcul des aiguilles est fait et envoyé par l'Arduino, le Nextion se contentant d’attendre un ordre pour afficher un fond d’écran qu’il a en mémoire et d’informer l’Arduino en cas de une commande tactile pour nouvelle action.

cadran

Haut de page

clock Choix du fond d'écran

Ce postulat étant posé, vous savez poser une aiguille évoluée quelconque sur l’affichage du Nextion.
La première étape est de choisir un fond d’écran représentant un joli cadran gradué quelconque, que vous pourrez obtenir d’après une photo (comme je l’ai fait pour la Rolex), ou avec des applications spécialisées de création d’afficheurs gradués qui se trouvent sur Internet.
Toute la beauté de l’écran dépend de vos talents artistiques, mais pas d’angoisse, vous pourrez changer à tout moment de fond suivant votre inspiration une fois votre logiciel terminé, il suffira de changer les 5 paramètres fondamentaux nécessaires et suffisants cités plus loin. 

Vous trouverez 8 images d’exemples pour vous donner des idées de ce que vous pouvez imaginer parmi une infinité de cadrans possibles…
Il est intéressant de profiter du bon écran tactile pour rajouter des boutons et changer radicalement d’affichage et même d’alterner ou coupler une aiguille analogique avec un panneau numérique, cela ne présente aucune difficulté de programmation, cela ne fait appel qu’au talent de graphiste.
Exceptionnellement ces images en 300*300 ne s’agrandissent pas, cherchez avec votre moteur dans l’immensité du Web le design qui vous inspire !

1 2


Votre fond d’écran peut être de deux types :

. Fond centré
Comme pour la Rolex, il faudra alors dans un premier temps tracer deux diagonales afin que le centre soit placé au pixel exact, puis des cercles pour bien vérifier que le cadran n’est pas déformé.
Ne perdez pas trop de temps dans cette étape, vous affinerez plus tard une fois que le logiciel sera au point.
Une fois tout calé, c’est très simple, les coordonnées du centre étant évidemment résolution H/2 et résolution V/2, soit X0 = 400, Y0 = 240.
L’aiguille ne devra pas déborder, donc son rayon extrême sera inférieur à résolution V/2 = 240

3 4

. Fond décalé
Par exemple comme un contrôleur universel analogique, mais le centre peut même être à l’extérieur de l’écran, centré en X ou pas.

Le grand principe est toujours le même !
Pour chaque nouvelle position d’aiguille, afficher un nouveau fond plein écran (instantané) et envoyer les commandes pour superposer l'aiguille.

5 6

Haut de page

arduino Balayage de l'aiguille

Une fois le fond choisi, posez-le et dessinez d’abord tous les rayons de degré en degré et divers cercles avant de commencer par la jolie aiguille, pour tout bien centrer et positionner les minima et maxima de l’échelle sur les butées.
Pour le cas de d’axe décalé, il faudra un peu tâtonner pour optimiser les coordonnées du centre.
Ceci fait vous connaissez tout le nécessaire et suffisant, le centre, le rayon et les butées angulaires :

X0, Y0, Rmax, AlphaMin et AlphaMax

Commencez par l’aiguille minimaliste que vous bougerez par un potentiomètre sur une entrée analogique de l’Arduino (une seule commande ligne à envoyer) puis ensuite passer à l’aiguille élaborée.

Tout est possible, même représenter un ressort spiral au centre pour copier celui d’un galvanomètre, rajouter en incrustation un affichage digital, des leds, des commutateurs, il n’y a pas d’autre limite que le temps d’envoi de nombreuses commandes à 115 kb.

7 8

Haut de page

arduino Amortissement de l'aiguille

Si vous devez afficher des valeurs qui changent brutalement, afin de rester réaliste il faut simuler l’inertie de l’aiguille mécanique avec ses dépassements et oscillations.
Cela ne pose aucun problème de faire des paliers très fins pour imiter les mouvements analogiques, il suffit de faire passer les données par un filtre passe-bas numérique.

Cela est strictement équivalent à un filtre analogique résistance + capacité, avec son équivalence Tau = R*C en numérique.

J’utilise systématiquement ce type de filtrage pour toutes mes acquisitions de capteurs en lui adjoignant un algorithme d’élimination des valeurs aberrantes.
Le facteur d’amortissement se règle avec un seul coefficient et l’occupation mémoire est dérisoire.

ponder


Vous en trouverez le principe et tous les détails dans cette page Filtrage par pondération temporelle .

Tous les détails et logiciels sont dans cette page à jour au : 220511

eclate

Haut de page

© Christian Couderc 1999-2024     Toute reproduction interdite sans mon autorisation


* Page vue   19448   fois       IP : 18.225.175.230

 Haut de page         Dernière retouche le 27 Juin 2019 à 13 h         Retour page précédente

   Collector