- Erstellen einer grafischen MATLAB-Benutzeroberfläche zum Zeichnen von Diagrammen
- MATLAB-Code zum Zeichnen des Diagramms
- Erforderliches Material
- Schaltplan
- Zeichnen Sie das Diagramm mit MATLAB
Diagramme sind immer hilfreich, um die Daten zu visualisieren, und es wird sehr einfach, Trends und Muster durch Betrachten zu finden. Es gibt viele Software, um Diagramme basierend auf den Eingabewerten zu zeichnen. Heute werden wir MATLAB verwenden, um Diagramme basierend auf den Temperaturdaten des LM35-Sensors zu zeichnen. In diesem Tutorial erhalten Sie eine grundlegende Vorstellung davon, wie Sie mit MATLAB ein Echtzeitdiagramm zeichnen. Arduino Uno wird hier verwendet, um Temperaturdaten vom LM35-Temperatursensor abzurufen.
Bevor Sie fortfahren, können Sie, wenn Sie MATLAB noch nicht kennen, unsere vorherigen MATLAB-Tutorials lesen, um besser zu verstehen:
- Erste Schritte mit MATLAB: Eine kurze Einführung
- Arduino mit MATLAB verbinden - blinkende LED
- Serielle Kommunikation zwischen MATLAB und Arduino
- Gleichstrommotorsteuerung mit MATLAB und Arduino
- Schrittmotorsteuerung mit MATLAB und Arduino
Erstellen einer grafischen MATLAB-Benutzeroberfläche zum Zeichnen von Diagrammen
Zuerst müssen wir eine grafische Benutzeroberfläche (Graphical User Interface) erstellen, um ein Diagramm mit den Temperaturdaten zu zeichnen. Geben Sie zum Starten der GUI den folgenden Befehl in das Befehlsfenster ein
leiten
Ein Popup-Fenster wird geöffnet. Wählen Sie dann eine neue leere Benutzeroberfläche aus (siehe Abbildung unten).
Jetzt müssen wir einen Druckknopf, zwei Achsen und ein Textfeld für die grafische Oberfläche von MATLAB auswählen . Der Druckknopf wird zum Starten der Temperaturerfassung verwendet, zwei Achsen zum Zeichnen des Diagramms und das Textfeld, um den aktuellen Temperaturwert anzuzeigen.
Um die Größe der Schaltfläche, der Achsen oder der Schaltfläche zum Bearbeiten von Text zu ändern oder die Form zu ändern, klicken Sie einfach darauf und Sie können die Ecken der Schaltfläche ziehen. Durch Doppelklicken auf eine dieser Optionen können Sie die Farbe, die Zeichenfolge und das Tag dieser bestimmten Schaltfläche ändern. Nach der Anpassung sieht es so aus
Sie können die Schaltflächen nach Ihren Wünschen anpassen. Wenn Sie dies speichern, wird im Editorfenster von MATLAB ein Code generiert. Damit Ihr Arduino eine bestimmte Aufgabe im Zusammenhang mit Ihrem Projekt ausführen kann, müssen Sie diesen generierten Code immer bearbeiten. Also haben wir unten den MATLAB-Code bearbeitet. Weitere Informationen zum Befehlsfenster, zum Editorfenster usw. finden Sie im Tutorial Erste Schritte mit MATLAB.
MATLAB-Code zum Zeichnen des Diagramms
Der vollständige MATLAB-Code zum Entwerfen eines Thermometers mit LM35 und Arduino finden Sie am Ende dieses Projekts. Außerdem stellen wir hier die GUI-Datei (.fig) und die Codedatei (.m) zum Download bereit, mit denen Sie die Schaltflächen- oder Achsengröße gemäß Ihren Anforderungen anpassen können. Wir haben den generierten Code wie unten erläutert bearbeitet.
Kopieren Sie den folgenden Code und fügen Sie ihn in Zeile Nr. 74, um sicherzustellen, dass der Arduino jedes Mal, wenn Sie die m-Datei ausführen, mit MATLAB spricht.
alles löschen; global a; a = Arduino ();
Wenn Sie nach unten scrollen, werden Sie sehen, dass zwei Funktionen für die Drucktaste und Text bearbeiten in der GUI erstellt wurden. Für Achsen wird keine Funktion erstellt. Schreiben Sie nun den Code in die Drucktastenfunktion (Starttaste) entsprechend der Aufgabe, die Sie ausführen möchten.
In Start - Taste der Funktion, zu kopieren und die folgenden Code unmittelbar vor der Beendigung der Funktion einfügen, um die Temperaturmessung zu beginnen. Für die kontinuierliche Erfassung, Anzeige und grafische Darstellung der Temperatur verwenden wir die while-Schleife . Wir haben nach jeder Iteration eine Pause von 1 Sekunde vorgesehen, damit der Temperaturwert jede Sekunde aktualisiert wird.
x = 0; go = true; global a; while go value = readVoltage (a, 'A1'); temp = (Wert * 100); disp (temp); x =; plot (handle.axes1, x); Gitter an; xlabel ('Zeit (Sekunden)') ylabel ('Temperatur (° C)'); Titel ('Echtzeit-Temperaturdiagramm'); Drawow- Set (handle.edit1, 'String', num2str (temp)); Pause (1); Ende
Nun wollen wir sehen, wie der Code funktioniert. In der Zeile mit den folgenden drei Zeilen haben wir den Anfangswert von ' x ' auf Null gesetzt, ' go ' als wahr definiert, um die while- Schleife zu starten, und ' global a' zum Aufrufen des Arduino in der Funktion deklariert.
x = 0; go = true; global a;
Die folgende Codezeile wird verwendet, um den Spannungswert vom analogen Pin A1 des Arduino zu erfassen, der mit dem 'OUT'-Pin des LM35-Temperatursensors verbunden ist. Der Ausgang ist der Spannungswert, nicht der Analogwert.
value = readVoltage (a, 'A1');
Hier können wir den Spannungswert direkt in den Temperaturwert (Grad Celsius) umwandeln, indem wir ihn mit 10 multiplizieren
temp = (Wert * 100);
Zum Zeichnen des Diagramms wird nun die Funktion 'plot (handle.axes1, x)' verwendet, wobei axis1 die Referenz oder der Name des Diagrammbereichs ist. Wenn Sie also mehr als ein Diagramm zeichnen, müssen Sie nur den Namen der Achsen ändern. Wenn Sie also ein anderes Diagramm zeichnen, können Sie ein Diagramm schreiben (handle.axes2, x). '
'Raster ein' wird verwendet, um In der Rasteransicht des Diagramms werden 'xlabel', 'ylabel' und ' title ' zum Benennen der x-Achse, y-Achse und des Titels verwendet.
plot (handle.axes1, x); Gitter an; xlabel ('Zeit (Sekunden)') ylabel ('Temperatur (° C)'); Titel ('Echtzeit-Temperaturdiagramm');
' Drawnow' wird verwendet, um die grafische Darstellung in Echtzeit zu aktualisieren.
gezeichnet
Um den Wert der Temperatur im Textfeld Bearbeiten jede Sekunde unter dem folgenden Befehl anzuzeigen, wird Folgendes verwendet:
set (handle.edit1, 'String', num2str (temp));
Erforderliches Material
- MATLAB installierter Laptop (Voreinstellung: R2016a oder höhere Versionen)
- Arduino UNO
- LM35 - Temperatursensor
- Kabel anschließen
- Steckbrett
Schaltplan
Zeichnen Sie das Diagramm mit MATLAB
Nachdem Sie die Hardware gemäß Schaltplan eingestellt haben, klicken Sie einfach auf die Schaltfläche Ausführen, um den bearbeiteten Code in der.m-Datei auszuführen
Es kann einige Sekunden dauern, bis MATLAB reagiert. Klicken Sie nicht auf eine GUI-Schaltfläche, bis MATLAB in der unteren linken Ecke eine Besetztmeldung anzeigt (siehe Abbildung unten).
Wenn alles fertig ist, klicken Sie auf die Schaltfläche Start und Sie erhalten die Temperaturdaten im grafischen Bereich und im Feld Text bearbeiten . Der Wert wird automatisch jede Sekunde aktualisiert. In diesem Intervall von einer Sekunde können Sie den MATLAB-Code entsprechend ändern.
Die Ausgabe sieht wie im Bild unten aus.
Auf diese Weise können Sie mit MATLAB das Diagramm für jeden vom Arduino eingehenden Wert zeichnen.
Überprüfen Sie das Demonstrationsvideo unten, um das richtige Verständnis zu erhalten.