Accueil Solutions Contrôler Smart Display depuis un hôte via CANopen : exemple de contrôle d'une jauge

Contrôler Smart Display depuis un hôte via CANopen : exemple de contrôle d'une jauge

May 04, 2022

Introduction

Dans nos précédentes présentations de Smart Display, nous avons principalement abordé les fonctions et les caractéristiques du produit, sans détailler la manière dont il peut être piloté par un hôte dans l’application finale du client. Cet article prend l’exemple d’un cadran pour montrer comment les données provenant d’une commande physique et de l’hôte (Arduino) peuvent être transmises au module Smart Display afin de mettre à jour l’affichage.

Dans cet exemple, un Smart Display 4,3 pouces avec CAN Bus affiche un cadran sur 240 degrés piloté par un hôte. Celui-ci est constitué d’une carte Arduino Mega 2560, d’un CAN Bus Shield et d’un Rotary Angle Sensor. Les composants nécessaires sont les suivants :

  1. Smart Display 4,3 pouces avec CAN Bus
  2. Arduino Mega 2560
  3. CAN Bus Shield
  4. Rotary Angle Sensor
  5. CAN Bus Dongle
  6. GUI Builder
 

Schéma du système

Schéma du système de commande du Smart Display par un hôte via CANopen

Étape 1 : créer le projet dans GUI Builder

1.1 Créez un nouveau projet et sélectionnez dans GUI Builder le modèle vierge pour un écran 4,3 pouces.

Création d’un nouveau projet Smart Display 4,3 pouces dans GUI Builder

1.2 Dans le panneau Resource, sélectionnez l’image de fond noire pour Background Style 0.

Sélection de l’image de fond noire pour Background Style 0 dans GUI Builder

1.3 Dans la fenêtre Gauge Edit, définissez l’angle de rotation de l’aiguille.

►Commencez par cliquer sur le bouton Modify de Gauge Style 6.

Modification de Gauge Style 6 dans GUI Builder

►Une fois l’élément sélectionné, un aperçu du cadran s’affiche dans la fenêtre Gauge Editor, comme illustré ci-dessous.

Aperçu du cadran dans Gauge Editor de GUI Builder

►Cochez l’option "Show Details" pour afficher des informations supplémentaires sur la rotation de l’aiguille.

Paramètres Show Details pour la rotation de l’aiguille dans GUI Builder

►Les angles minimum et maximum de l’aiguille peuvent être réglés à l’aide des boutons +/- dans la zone Degree, comme illustré ci-dessous.

Réglage des angles minimum et maximum de l’aiguille dans GUI Builder

►Le Value Range est défini par une valeur minimale et une valeur maximale. Lorsqu’une valeur est reçue via CAN Bus, elle est mise en correspondance avec les angles de rotation minimum et maximum de l’aiguille.

Configuration du Value Range du cadran dans GUI Builder

►Une fois le cadran configuré, vous pouvez vérifier son fonctionnement en déplaçant le curseur Test Value vers la droite. À mesure que la valeur augmente, l’angle de l’aiguille augmente également jusqu’à atteindre la valeur et l’angle maximum définis.

Test de la rotation de l’aiguille avec Test Value dans GUI Builder

Étape 2 : compiler et charger le projet

2.1 Une fois les étapes précédentes terminées, accédez à l’onglet Page Info et faites glisser Gauge Style 6 au centre de l’écran.

2.2 Connectez le PC au Smart Display via USB2CAN, puis cliquez sur les icônes "Connect Device" et "Upload the Project". Les ressources et les paramètres de la page sont alors chargés sur le module Smart Display via GUI Builder, comme illustré ci-dessous :

Connexion au Smart Display et chargement du projet dans GUI Builder

Progression du chargement du projet dans GUI Builder

2.3 L’écran passe de l’écran de démarrage à l’interface de fonctionnement. Lorsque l’écran suivant apparaît sur le Smart Display 4,3 pouces avec CAN Bus, le chargement du projet est terminé avec succès.

Cadran 240 degrés affiché sur le Smart Display 4,3 pouces après le chargement du projet

Étape 3 : programmer l’hôte Arduino

Programmation de l’hôte Arduino pour le pilotage CANopen du Smart Display

3.1 Accédez à l’onglet Page dans GUI Builder. Dans la structure CANopen, l’index de Gauge Style 6 correspond à object 0 (0x2000). Il est important de connaître l’index de l’objet concerné. À partir de cet index, l’hôte Arduino peut interroger ou modifier l’état de l’objet, comme indiqué dans l’exemple de code ci-dessous.

3.2 L’hôte Arduino peut utiliser la fonction "ConfigSmartDisplay" pour définir le type, la position x/y, le style, la configuration et l’image d’arrière-plan de object 0. Il est également possible de ne pas effectuer de configuration supplémentaire côté Arduino : le Smart Display lit alors les données d’objet déjà enregistrées dans la mémoire Flash embarquée (préalablement chargées via GUI Builder) et affiche à l’écran les objets configurés.

Code Arduino pour configurer les paramètres des objets du Smart Display

Exemple de configuration d’un objet avec la fonction Arduino ConfigSmartDisplay

3.3 Lorsque l’hôte Arduino détecte une variation de la valeur du Rotary Angle Sensor, il transmet la valeur correspondante au Smart Display via CANopen.

Le programme ci-dessous présente les principaux ID et sub-index de la structure de commande. Il permet de mettre à jour la valeur du cadran (object index 0) en fonction de la valeur reçue du Rotary Angle Sensor.

Code Arduino CANopen pour mettre à jour la valeur du cadran sur le Smart Display

Annexe : configuration du projet

Pour plus de détails sur le programme, consultez le dépôt GitHub suivant : https://github.com/Smart-Display-Series/SmartDisplay_CANbus_Arduino_Examples. La vidéo ci-dessous présente la configuration matérielle réelle ainsi que son fonctionnement.

 

Essayez gratuitement WINSTAR GUI Builder. Remplissez le formulaire de demande pour recevoir par e-mail le lien de téléchargement de GUI Builder.

Vous avez des questions sur les solutions d'affichage pour votre entreprise ? Contactez-nous!

Abonnez-vous

Recevez des e-mails sur les nouvelles mises à jour de Winstar

Contactez-nous

Prix/Fiche technique/Requête générale

Support technique

Contactez-nous pour toute information technique

go top
Contactez-nous
close

Nous valorisons votre confidentialité

En cliquant sur "Autoriser tous les cookies", vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser l'utilisation du site et aider dans nos efforts de marketing et de performance. Vous pouvez trouver plus d'informations à ce sujet dans notre politique. Politique de confidentialité

Nous valorisons votre confidentialité

Winstar et certains tiers utilisent des cookies sur www.winstar.com.tw. Les détails concernant les types de cookies, leur objectif et les tiers impliqués sont décrits ci-dessous et dans notre Politique relative aux cookies. Veuillez cliquer sur « Autoriser tout » pour consentir à l'utilisation de cookies et profiter de la meilleure expérience possible sur nos sites. Vous pouvez également définir vos préférences ou refuser les cookies (sauf les cookies strictement nécessaires).

Gérer les préférences de consentement

Toujours actif
Cookies essentiels

Ces cookies sont essentiels pour vous permettre de naviguer sur le site et d'utiliser ses fonctionnalités, telles que la définition de vos préférences en matière de confidentialité, la connexion ou le remplissage de formulaires.

Cookies analytiques

Également connus sous le nom de « cookies statistiques », ces cookies collectent des informations sur la façon dont vous utilisez un site Web, comme les pages que vous avez visitées et les liens sur lesquels vous avez cliqué. Voir les détails.