- Δημιουργία γραφικού περιβάλλοντος χρήστη MATLAB για τη σχεδίαση γραφήματος
- Κωδικός MATLAB για την αποτύπωση του γραφήματος
- Απαιτούμενο υλικό
- Διάγραμμα κυκλώματος
- Σχεδιάστε το γράφημα με MATLAB
Τα γραφήματα είναι πάντα χρήσιμα για την οπτικοποίηση των δεδομένων και γίνεται πολύ εύκολο να βρείτε τάσεις και μοτίβα κοιτάζοντας τα. Υπάρχουν πολλά διαθέσιμα λογισμικά για να σχεδιάσετε γραφήματα με βάση τις τιμές εισόδου, σήμερα θα χρησιμοποιήσουμε το MATLAB για να σχεδιάσουμε το γράφημα με βάση τα δεδομένα θερμοκρασίας από τον αισθητήρα LM35. Αυτό το σεμινάριο θα σας δώσει μια βασική ιδέα για το πώς να σχεδιάσετε το γράφημα σε πραγματικό χρόνο χρησιμοποιώντας το MATLAB. Το Arduino Uno χρησιμοποιείται εδώ για τη λήψη δεδομένων θερμοκρασίας από τον αισθητήρα θερμοκρασίας LM35.
Πριν προχωρήσετε περαιτέρω, εάν είστε νέοι στο MATLAB, μπορείτε να ελέγξετε τα προηγούμενα μαθήματα MATLAB για καλύτερη κατανόηση:
- Ξεκινώντας με το MATLAB: Μια γρήγορη εισαγωγή
- Διασύνδεση Arduino με MATLAB - LED που αναβοσβήνει
- Σειριακή επικοινωνία μεταξύ MATLAB και Arduino
- Έλεγχος κινητήρα DC με χρήση MATLAB και Arduino
- Stepper Motor Control χρησιμοποιώντας MATLAB και Arduino
Δημιουργία γραφικού περιβάλλοντος χρήστη MATLAB για τη σχεδίαση γραφήματος
Πρώτα πρέπει να δημιουργήσουμε GUI (Graphical User Interface) για το Plot a Graph με τα δεδομένα θερμοκρασίας. Για να ξεκινήσετε το GUI, πληκτρολογήστε την παρακάτω εντολή στο παράθυρο εντολών
οδηγός
Θα ανοίξει ένα αναδυόμενο παράθυρο και, στη συνέχεια, επιλέξτε νέο κενό GUI όπως φαίνεται στην παρακάτω εικόνα,
Τώρα πρέπει να επιλέξουμε ένα κουμπί, δύο άξονες και ένα πλαίσιο κειμένου για γραφική διεπαφή MATLAB . Το πλήκτρο θα χρησιμοποιηθεί για την εκκίνηση της ανίχνευσης θερμοκρασίας, δύο άξονες για τη γραφική παράσταση του γραφήματος και του πλαισίου κειμένου για να δείξει την τρέχουσα τιμή της θερμοκρασίας.
Για να αλλάξετε το μέγεθος ή να αλλάξετε το σχήμα του κουμπιού, Άξονες ή κουμπί επεξεργασίας κειμένου, απλώς κάντε κλικ πάνω του και θα μπορείτε να σύρετε τις γωνίες του κουμπιού. Κάνοντας διπλό κλικ σε οποιοδήποτε από αυτά θα μπορείτε να αλλάξετε το χρώμα, τη συμβολοσειρά και την ετικέτα του συγκεκριμένου κουμπιού. Μετά την προσαρμογή θα μοιάζει με αυτό
Μπορείτε να προσαρμόσετε τα κουμπιά σύμφωνα με την επιλογή σας. Τώρα όταν το αποθηκεύετε, δημιουργείται ένας κώδικας στο παράθυρο του προγράμματος επεξεργασίας του MATLAB. Για να κάνετε το Arduino να εκτελεί οποιαδήποτε συγκεκριμένη εργασία που σχετίζεται με το έργο σας, πρέπει πάντα να επεξεργάζεστε αυτόν τον δημιουργημένο κώδικα. Παρακάτω έχουμε επεξεργαστεί τον κωδικό MATLAB. Μπορείτε να μάθετε περισσότερα σχετικά με το παράθυρο εντολών, το παράθυρο επεξεργασίας κ.λπ. στην ενότητα Ξεκινώντας με το μάθημα MATLAB.
Κωδικός MATLAB για την αποτύπωση του γραφήματος
Ο πλήρης κωδικός MATLAB για το σχεδιασμό ενός θερμομέτρου χρησιμοποιώντας LM35 και Arduino, δίνεται στο τέλος αυτού του έργου. Περαιτέρω συμπεριλαμβάνουμε εδώ το αρχείο GUI (.fig) και το αρχείο κώδικα (.m) για λήψη, χρησιμοποιώντας τα οποία μπορείτε να προσαρμόσετε τα κουμπιά ή το μέγεθος των αξόνων σύμφωνα με τις απαιτήσεις σας. Έχουμε επεξεργαστεί τον παραγόμενο κώδικα όπως εξηγείται παρακάτω.
Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στη γραμμή αρ. 74 για να βεβαιωθείτε ότι το Arduino μιλά με το MATLAB κάθε φορά που εκτελείτε το αρχείο m .
τα καθαρίζω όλα; παγκόσμιο a; a = arduino ();
Όταν κάνετε κύλιση προς τα κάτω, θα δείτε ότι υπάρχουν δύο λειτουργίες για το κουμπί και το Επεξεργασία κειμένου στο GUI, δεν θα δημιουργηθεί καμία λειτουργία για τους Άξονες. Τώρα γράψτε τον κωδικό στη λειτουργία Πλήκτρο (κουμπί έναρξης) σύμφωνα με την εργασία που θέλετε να εκτελέσετε.
Στη λειτουργία του κουμπιού Έναρξη , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα λίγο πριν από τη λήξη της λειτουργίας για να ξεκινήσετε την ανίχνευση θερμοκρασίας. Για συνεχή ανίχνευση, προβολή και γραφική απεικόνιση της θερμοκρασίας, χρησιμοποιούμε το loop loop . Παρέχουμε παύση 1 δευτερολέπτου μετά από κάθε επανάληψη, οπότε η τιμή θερμοκρασίας θα ενημερώνεται κάθε δευτερόλεπτο.
x = 0; go = αλήθεια; παγκόσμιο a; ενώ η τιμή go = readVoltage (a, 'A1'); temp = (τιμή * 100); disp (temp); x =; οικόπεδο (handles.axes1, x); πλέγμα ενεργοποιημένο xlabel ('Time (seconds)') ylabel ('Θερμοκρασία (° C)'); τίτλος («Γράφημα θερμοκρασίας πραγματικού χρόνου») · συρμένο σετ (handles.edit1, 'String', num2str (temp)); παύση (1); τέλος
Τώρα, ας δούμε πώς λειτουργεί ο κώδικας. Στο παρακάτω τρεις γραμμές γραμμή που έχουμε θέσει την αρχική τιμή του « x » στο μηδέν, καθορίζοντας « πάει », όπως ισχύει και να ξεκινήσει η ενώ βρόχο και δήλωσε « παγκόσμιας μια» για την κλήση του Arduino σε λειτουργία.
x = 0; go = αλήθεια; παγκόσμιο a;
Η παρακάτω γραμμή κώδικα χρησιμοποιείται για την ανίχνευση της τιμής τάσης από τον αναλογικό πείρο A1 του Arduino που είναι συνδεδεμένος με τον πείρο «OUT» του αισθητήρα θερμοκρασίας LM35. Η έξοδος θα είναι η τιμή τάσης και όχι η αναλογική τιμή.
τιμή = readVoltage (a, 'A1');
Εδώ μπορούμε να μετατρέψουμε απευθείας την τιμή τάσης στην τιμή θερμοκρασίας (βαθμός Κελσίου), πολλαπλασιάζοντας την με 10
temp = (τιμή * 100);
Τώρα, για να σχεδιάσετε το γράφημα χρησιμοποιείται η συνάρτηση plot (handles.axes1, x) , όπου οι άξονες 1 είναι η αναφορά ή το όνομα της περιοχής γραφήματος. Έτσι, εάν σχεδιάζετε περισσότερα από ένα γραφήματα, τότε πρέπει απλώς να αλλάξετε το όνομα των αξόνων, όπως εάν σχεδιάζετε ένα άλλο γράφημα μπορείτε να γράψετε γραφική παράσταση (handles.axes2, x) "
Το "Grid on" χρησιμοποιείται στην προβολή Grid του γραφήματος , "xlabel", "ylabel" και " title " χρησιμοποιούνται για την ονομασία του άξονα x, του άξονα y και του τίτλου.
οικόπεδο (handles.axes1, x); πλέγμα ενεργοποιημένο xlabel ('Time (seconds)') ylabel ('Θερμοκρασία (° C)'); τίτλος («Γράφημα θερμοκρασίας πραγματικού χρόνου») ·
Το " Drawnow" χρησιμοποιείται για την ενημέρωση της γραφικής παράστασης σε πραγματικό χρόνο.
συρτάρι
Για να εμφανιστεί η τιμή της θερμοκρασίας στο πλαίσιο κειμένου επεξεργασίας σε κάθε δευτερόλεπτο παρακάτω, χρησιμοποιείται η εντολή, σύνολο (handles.edit1, 'String', num2str (temp));
Απαιτούμενο υλικό
- Εγκατεστημένος φορητός υπολογιστής MATLAB (Προτίμηση: R2016a ή νεότερες εκδόσεις)
- Arduino UNO
- LM35 - Αισθητήρας θερμοκρασίας
- Σύνδεση καλωδίων
- Ψωμί
Διάγραμμα κυκλώματος
Σχεδιάστε το γράφημα με MATLAB
Αφού ρυθμίσετε το υλικό σύμφωνα με το διάγραμμα κυκλώματος, απλώς κάντε κλικ στο κουμπί εκτέλεσης για να εκτελέσετε τον επεξεργασμένο κώδικα στο αρχείο.m
Το MATLAB μπορεί να διαρκέσει λίγα δευτερόλεπτα για να απαντήσει, μην κάνετε κλικ σε κανένα κουμπί GUI έως ότου το MATLAB εμφανίσει μήνυμα απασχολημένου στην κάτω αριστερή γωνία όπως φαίνεται παρακάτω,
Όταν όλα είναι έτοιμα, κάντε κλικ στο κουμπί έναρξης και θα αρχίσετε να λαμβάνετε τα δεδομένα θερμοκρασίας στην περιοχή γραφικών και στο πλαίσιο Επεξεργασία κειμένου . Η τιμή θα ενημερώνεται αυτόματα σε κάθε δευτερόλεπτο. Αυτό το διάστημα ενός δευτερολέπτου μπορείτε να αλλάξετε ανάλογα τον κωδικό MATLAB.
Η έξοδος θα μοιάζει με την παρακάτω εικόνα,
Έτσι μπορείτε να σχεδιάσετε το γράφημα για οποιαδήποτε εισερχόμενη τιμή από το Arduino χρησιμοποιώντας MATLAB.
Δείτε το παρακάτω βίντεο επίδειξης για σωστή κατανόηση.