Créer pas à pas une interafce graphique Matlab

Les indicateurs à cadran


Pour afficher la vitesse de rotation d'un moteur par exemple, on peut utiliser un
indicateur à cadran.
Comme exemples d'utilisations nous allons créer des interfaces utilisateurs mettant
en oeuvre ce type d'indicateurs.

Exemple - 1: La face avant comprend un bouton rotatif et un incateur à cadran.
Lorsque l'utilisateur tourne le bouton rotatif, l'aiguille de l'indicateur change de position.

L'interface utilisateur sera semblable à celle-ci:

 

Capture face avant tuto 6 a

 

Callback du bouton de réglage:

Modifier les instructions du callback du bouton de réglage pour obtenir:

 

 % Callbacks that handle component events
    methods (Access = private)

        % Value changing function: Knob
        function KnobValueChanging(app, event)
            cValue = event.Value;
            app.Gauge.Value = cValue;
        end
    end

 

Le bouton renvoie sa position dans la varaible cValue. Cette variable est immédiatement envoyée vers l'indicateur.

 

En exécutant ce programme, lorsque l'utilisteur agit sur le bouton de réglage, l'aiguille
de l'indicteur change de position.

 

Exemple - 2: Le bouton de réglage de la face avant est remplacé par un commutateur
rotatif. L'indicateur ne change pas.
Lorsque le commutateur occupe différentes positions, l'aiguille de l'indicateur doit elle aussi changer de position.

L'interface graphique sera semblable à celle-ci:

 

Capture face avant tuto 6 b

 

Callback du commutateur:

Selon les états occupés par le commutateur, l'aiguille pointera sur des valeurs définies par le programme.

Modifier le callback du commutateur pour obtenir:

 

 % Callbacks that handle component events
    methods (Access = private)

        % Value changed function: Knob
        function KnobValueChanged(app, event)
            value = app.Knob.Value;
            switch(value)
                case 'Off'
                    app.Gauge.Value = 0;
                case 'Low'
                    app.Gauge.Value = 35;
                case 'Medium'
                    app.Gauge.Value = 70;
                case 'High'
                    app.Gauge.Value = 100;
            end
              
        end
    end

 

L'état du commutateur est lue dans la variable value. Dans ce cas, on peut
utiliser la structure de programmation ("selon les cas ...faire"):

switch (value) ... case: 'Position du commutateur',ici ce sera par exemple Medium.

alors "écrire la valeur" dans l'indicateur: app.Gauge.Value = 70.

En exécutant le programme, l'aiguille de l'indicateur se déplace vers les positions prévues.

La vidéo ci-dessous présente le résumé de ces deux exemples:

 

App Designer propose aussi d'autres types d'indicateurs à cadran, tous se comportent de la même manière et sont modifiables depuis leurs propriétés.