- Création d'une interface utilisateur graphique MATLAB pour tracer un graphique
- Code MATLAB pour tracer le graphique
- Matériel requis
- Schéma
- Tracer le graphique avec MATLAB
Les graphiques sont toujours utiles pour visualiser les données et il devient très facile de trouver des tendances et des modèles en les regardant. Il existe de nombreux logiciels disponibles pour tracer des graphiques en fonction des valeurs d'entrée.Aujourd'hui, nous utiliserons MATLAB pour tracer un graphique en fonction des données de température du capteur LM35. Ce tutoriel vous donnera une idée de base sur la façon de tracer un graphique en temps réel à l'aide de MATLAB. Arduino Uno est utilisé ici pour obtenir les données de température du capteur de température LM35.
Avant de continuer, si vous êtes nouveau dans MATLAB, vous pouvez consulter nos précédents tutoriels MATLAB pour mieux comprendre:
- Premiers pas avec MATLAB: une introduction rapide
- Interfaçage Arduino avec MATLAB - LED clignotante
- Communication série entre MATLAB et Arduino
- Contrôle de moteur à courant continu avec MATLAB et Arduino
- Contrôle du moteur pas à pas avec MATLAB et Arduino
Création d'une interface utilisateur graphique MATLAB pour tracer un graphique
Nous devons d'abord construire GUI (Graphical User Interface) pour tracer un graphique avec les données de température. Pour lancer l'interface graphique, tapez la commande ci-dessous dans la fenêtre de commande
guider
Une fenêtre contextuelle s'ouvre, puis sélectionnez une nouvelle interface graphique vierge comme indiqué dans l'image ci-dessous,
Nous devons maintenant choisir un bouton poussoir, deux axes et une zone de texte pour l'interface graphique MATLAB . Le bouton-poussoir sera utilisé pour démarrer la détection de température, deux axes pour tracer le graphique et une zone de texte pour afficher la valeur actuelle de la température.
Pour redimensionner ou changer la forme du bouton, des axes ou modifier le bouton de texte, il suffit de cliquer dessus et vous pourrez faire glisser les coins du bouton. En double-cliquant sur l'un de ces boutons, vous pourrez changer la couleur, la chaîne et l'étiquette de ce bouton particulier. Après la personnalisation, cela ressemblera à ceci
Vous pouvez personnaliser les boutons selon votre choix. Désormais, lorsque vous enregistrez cela, un code est généré dans la fenêtre Editeur de MATLAB. Pour que votre Arduino effectue une tâche particulière liée à votre projet, vous devez toujours modifier ce code généré. Nous avons donc édité ci-dessous le code MATLAB. Pour en savoir plus sur la fenêtre de commande, la fenêtre de l'éditeur, etc.
Code MATLAB pour tracer le graphique
Le code MATLAB complet pour la conception d'un thermomètre utilisant LM35 et Arduino, est donné à la fin de ce projet. De plus, nous incluons le fichier GUI (.fig) et le fichier de code (.m) ici pour téléchargement, à l'aide desquels vous pouvez personnaliser les boutons ou la taille des axes selon vos besoins. Nous avons édité le code généré comme expliqué ci-dessous.
Copiez et collez le code ci-dessous sur la ligne no. 74 pour vous assurer que l'Arduino parle avec MATLAB chaque fois que vous exécutez le m-file .
tout effacer; global a; a = arduino ();
Lorsque vous faites défiler vers le bas, vous verrez qu'il y a deux fonctions créées pour Pushbutton et Edit Text dans l'interface graphique, aucune fonction ne sera créée pour les axes. Maintenant, écrivez le code dans la fonction Bouton poussoir (bouton de démarrage) en fonction de la tâche que vous souhaitez effectuer.
Dans la fonction du bouton Démarrer , copiez et collez le code ci-dessous juste avant la fin de la fonction pour démarrer la détection de température. Pour la détection, l'affichage et le traçage graphique en continu de la température, nous utilisons une boucle while . Nous avons prévu une pause de 1 seconde après chaque itération afin que la valeur de la température soit mise à jour toutes les secondes.
x = 0; aller = vrai; global a; while go value = readVoltage (a, 'A1'); temp = (valeur * 100); disp (temp); x =; tracé (handles.axes1, x); grille sur; xlabel ('Durée (secondes)') ylabel ('Température (° C)'); title ('Graphique de température en temps réel'); drawnow set (handles.edit1, 'String', num2str (temp)); pause (1); fin
Voyons maintenant comment le code fonctionne. En dessous de trois lignes ligne, nous avons fixé la valeur initiale de « x » à zéro, la définition de « aller » comme vrai pour démarrer le tout en boucle et a déclaré « une approche globale » pour appeler l'Arduino dans la fonction.
x = 0; aller = vrai; global a;
La ligne de code ci-dessous est utilisée pour détecter la valeur de tension de la broche analogique A1 de l'Arduino qui est connectée à la broche `` OUT '' du capteur de température LM35. La sortie sera la valeur de tension et non la valeur analogique.
valeur = readVoltage (a, 'A1');
Ici, nous pouvons directement convertir la valeur de tension en valeur de température (degrés Celsius), en la multipliant par 10
temp = (valeur * 100);
Maintenant, pour tracer le graphique, la fonction 'plot (handles.axes1, x)' est utilisée, où axes1 est la référence ou le nom de la zone graphique. Donc, si vous tracez plus d'un graphique, il vous suffit de changer le nom des axes, comme si vous tracez un autre graphique, vous pouvez écrire plot (handles.axes2, x) '
«Grille sur» est utilisé pour Sur la vue Grille du graphique , «xlabel», «ylabel» et « title » sont utilisés pour nommer l'axe des x, l'axe des y et le titre.
tracé (handles.axes1, x); grille sur; xlabel ('Durée (secondes)') ylabel ('Température (° C)'); title ('Graphique de température en temps réel');
« Drawnow» est utilisé pour mettre à jour la représentation graphique en temps réel.
dessiné
Pour afficher la valeur de la température dans la zone de texte d'édition à chaque seconde, la commande ci-dessous est utilisée, set (handles.edit1, 'String', num2str (temp));
Matériel requis
- Ordinateur portable installé par MATLAB (préférence: R2016a ou versions supérieures)
- Arduino UNO
- LM35 - Capteur de température
- Connexion des fils
- Planche à pain
Schéma
Tracer le graphique avec MATLAB
Après avoir configuré le matériel selon le schéma de circuit, cliquez simplement sur le bouton Exécuter pour exécuter le code modifié dans le fichier.m
MATLAB peut prendre quelques secondes pour répondre, ne cliquez sur aucun bouton GUI jusqu'à ce que MATLAB affiche un message occupé dans le coin inférieur gauche comme indiqué ci-dessous,
Lorsque tout est prêt, cliquez sur le bouton Démarrer et vous commencerez à obtenir les données de température dans la zone graphique et dans la zone Modifier le texte . La valeur sera automatiquement mise à jour toutes les secondes. Cet intervalle d'une seconde, vous pouvez modifier le code MATLAB en conséquence.
La sortie ressemblera à l'image ci-dessous,
C'est ainsi que vous pouvez tracer le graphique pour toute valeur entrante de l'Arduino à l'aide de MATLAB.
Consultez la vidéo de démonstration ci-dessous pour une bonne compréhension.