- Απαιτούμενα στοιχεία
- Διάγραμμα κυκλώματος
- Επικοινωνία Bluetooth χρησιμοποιώντας το παράθυρο εντολών MATLAB
- Επικοινωνία Bluetooth χρησιμοποιώντας MATLAB GUI
Το Bluetooth είναι το απλούστερο και πιο δημοφιλές πρωτόκολλο για ασύρματη επικοινωνία μικρής εμβέλειας σε ενσωματωμένα συστήματα. Το Bluetooth δεν χρησιμοποιείται μόνο για τη μεταφορά δεδομένων από τη μία συσκευή στην άλλη, αλλά και για τον ασύρματο έλεγχο των συσκευών. Σχεδόν κάθε ηλεκτρονικό gadget διαθέτει υποστήριξη Bluetooth σήμερα, οπότε είναι καλή επιλογή να έχετε επιλογή ελέγχου Bluetooth στην ενσωματωμένη εφαρμογή σας.
Εδώ σε αυτό το σεμινάριο, θα μάθουμε πώς να χρησιμοποιούμε Bluetooth στο MATLAB για ασύρματη επικοινωνία. Θα χρησιμοποιήσουμε το ενσωματωμένο Bluetooth του υπολογιστή με MATLAB στη μία πλευρά και το HC-05 με το Arduino στην άλλη πλευρά. Υπάρχουν δύο τρόποι ρύθμισης της επικοινωνίας μεταξύ MATLAB και Arduino μέσω Bluetooth, ο ένας χρησιμοποιεί το παράθυρο εντολών και ο άλλος χρησιμοποιεί το MATLAB GUI. Ο κωδικός Arduino και για τις δύο μεθόδους θα παραμείνει ο ίδιος. Εάν είστε νέοι στο MATLAB, συνιστάται να ξεκινήσετε με ένα απλό πρόγραμμα LED blink με MATLAB και να μάθετε τη βασική ορολογία που χρησιμοποιείται στο MATLAB. Μπορείτε να εξερευνήσετε περαιτέρω περισσότερα MATLAB Έργα:
- Σειριακή επικοινωνία μεταξύ MATLAB και Arduino
- Έλεγχος κινητήρα DC με χρήση MATLAB και Arduino
- Stepper Motor Control χρησιμοποιώντας MATLAB και Arduino
- Ξεκινώντας με την Επεξεργασία Εικόνας χρησιμοποιώντας το MATLAB
Απαιτούμενα στοιχεία
- Εγκατεστημένος φορητός υπολογιστής MATLAB (Προτίμηση: R2016a ή νεότερες εκδόσεις)
- Arduino UNO
- Ενότητα Bluetooth (HC-05)
- LED (οποιοδήποτε χρώμα)
- Αντίσταση (330 ohm)
- Καλώδια αλτών
Για να μάθετε περισσότερα σχετικά με το HC-05 και τη διασύνδεσή του με το Arduino, ανατρέξτε στα ακόλουθα άρθρα.
- Ελεγχόμενος με σερβοκινητήρα Bluetooth χρησιμοποιώντας το Arduino
- Φωνητικά ελεγχόμενα LED με χρήση Arduino και Bluetooth
- Κινητό τηλέφωνο ελεγχόμενο AC χρησιμοποιώντας Arduino και Bluetooth
Διάγραμμα κυκλώματος
Τα σχήματα για την επικοινωνία Bluetooth μεταξύ MATLAB και Arduino δίνονται παρακάτω:
Επικοινωνία Bluetooth χρησιμοποιώντας το παράθυρο εντολών MATLAB
Αυτή είναι η απλή μέθοδος ρύθμισης της επικοινωνίας Bluetooth μεταξύ Arduino και MATLAB. Εδώ, το MATLAB χρησιμοποιεί το Bluetooth του φορητού υπολογιστή για να συνδέσει το HC-05 συνδεδεμένο με το Arduino. Πρώτα πρέπει να κωδικοποιήσουμε το Arduino για να διαβάσουμε τα σειριακά εισερχόμενα δεδομένα που προέρχονται από το MATLAB (χρησιμοποιώντας το Bluetooth του φορητού υπολογιστή).
Στη συνέχεια, αυτά τα δεδομένα που μεταδίδονται μέσω Bluetooth από το MATLAB μπορούν να χρησιμοποιηθούν για τον έλεγχο οτιδήποτε σχετίζεται με το Arduino. Εδώ έχουμε συνδέσει ένα LED στο Arduino που μπορεί να ελεγχθεί από το LAPTOP χρησιμοποιώντας MATLAB.
Αρχικά, ανεβάστε τον δεδομένο κωδικό Arduino στο Arduino UNO και μετά ξεκινήστε την κωδικοποίηση στο παράθυρο εντολών MATLAB.
#περιλαμβάνω
Στη συνέχεια, αντιγράψτε και επικολλήστε τον παρακάτω κώδικα MATLAB στο παράθυρο εντολών για επικοινωνία Bluetooth μεταξύ MATLAB και Arduino.
instrhwinfo («Bluetooth», «HC-05»); bt = Bluetooth ('HC-05', 1); fopen (bt);
Στον παρακάτω κώδικα, η εντολή fprintf (bt, '0') χρησιμοποιείται για να σβήσει το LED στέλνοντας '0' στο Arduino. Τώρα, εάν θέλετε να ανάψετε το LED απλώς στείλτε το «1» αντί του «0» χρησιμοποιώντας την παρακάτω εντολή.
fprintf (bt, '1');
Για να ελέγξετε τις πληροφορίες σχετικά με το διαθέσιμο υλικό, χρησιμοποιήστε την παρακάτω εντολή
instrhwinfo («τύπος», «Όνομα συσκευής»);
Για να ανοίξετε τη θύρα Bluetooth, χρησιμοποιείται η παρακάτω εντολή
fopen (bt);
Δείτε το παρακάτω βίντεο για να κατανοήσετε την πλήρη διαδικασία αποστολής δεδομένων από MATLAB στο Arduino χρησιμοποιώντας Bluetooth.
Επικοινωνία Bluetooth χρησιμοποιώντας MATLAB GUI
Για την επίδειξη της επικοινωνίας Bluetooth χρησιμοποιώντας το MATLAB GUI, θα δημιουργήσουμε τρία κουμπιά γραφικών στο MATLAB για να ενεργοποιήσουμε, να σβήσουμε και να αναβοσβήσουμε το LED που είναι συνδεδεμένο στο Arduino. Τα δεδομένα θα σταλούν μέσω Bluetooth από το MATLAB στο HC-05 κάνοντας κλικ σε αυτά τα κουμπιά γραφικών. Το Arduino περιέχει τον κωδικό για τη λήψη των δεδομένων που μεταδίδονται μέσω Bluetooth από το MATLAB στο HC-05 και τον έλεγχο της LED σύμφωνα με τα δεδομένα που λαμβάνονται. Ο κωδικός Arduino θα παραμείνει ίδιος με τον προηγούμενο, μόνο η διαφορά είναι ότι προηγουμένως στέλναμε δεδομένα «1» και «0» μέσω του παραθύρου εντολών του MATLAB και τώρα τα ίδια δεδομένα θα σταλούν κάνοντας κλικ σε τρία κουμπιά γραφικών
Για να ξεκινήσετε το GUI, πληκτρολογήστε την παρακάτω εντολή στο παράθυρο εντολών
οδηγός
Θα ανοίξει ένα αναδυόμενο παράθυρο και, στη συνέχεια, επιλέξτε νέο κενό GUI όπως φαίνεται στην παρακάτω εικόνα,
Τώρα επιλέξτε τρία κουμπιά για ενεργοποίηση, απενεργοποίηση και αναβοσβήνει η λυχνία LED, όπως φαίνεται παρακάτω,
Για να αλλάξετε το μέγεθος ή να αλλάξετε το σχήμα των μπουτόν, απλώς κάντε κλικ πάνω του και θα μπορείτε να σύρετε τις γωνίες του κουμπιού. Κάνοντας διπλό κλικ στο κουμπί μπορείτε να αλλάξετε το χρώμα, τη συμβολοσειρά και την ετικέτα του συγκεκριμένου κουμπιού. Έχουμε προσαρμόσει τρία κουμπιά όπως φαίνεται στην παρακάτω εικόνα.
Μπορείτε να προσαρμόσετε τα κουμπιά σύμφωνα με την επιλογή σας. Τώρα, όταν το αποθηκεύσετε, θα δημιουργηθεί ένας κωδικός στο παράθυρο του προγράμματος επεξεργασίας του MATLAB. Επεξεργαστείτε αυτόν τον κωδικό σύμφωνα με την εργασία που θέλετε να εκτελέσετε από το Arduino κατά τη λήψη δεδομένων Bluetooth χρησιμοποιώντας το MATLAB GUI. Παρακάτω έχουμε επεξεργαστεί τον κωδικό MATLAB. Μπορείτε να μάθετε περισσότερα σχετικά με το παράθυρο εντολών, το παράθυρο επεξεργασίας κ.λπ. στην ενότητα Ξεκινώντας με το μάθημα MATLAB.
Ο πλήρης κωδικός MATLAB, για τον έλεγχο LED από MATLAB μέσω Bluetooth, δίνεται στο τέλος αυτού του έργου. Περαιτέρω συμπεριλαμβάνουμε εδώ το αρχείο GUI (.fig) και το αρχείο κώδικα (.m) για λήψη, χρησιμοποιώντας τα οποία μπορείτε να προσαρμόσετε τα κουμπιά σύμφωνα με τις απαιτήσεις σας. Ακολουθούν μερικές τροποποιήσεις που κάναμε για τον έλεγχο των LED που συνδέονται με το Arduino.
Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στη γραμμή αρ. 74 για να ρυθμίσετε ή να συνδέσετε το MATLAB στο Bluetooth του φορητού υπολογιστή.
τα καθαρίζω όλα; παγκόσμιο bt; instrhwinfo («Bluetooth», «HC-05»); bt = Bluetooth ('HC-05', 1); fopen (bt);
όπου, το fopen (bt) χρησιμοποιείται για το άνοιγμα της θύρας Bluetooth για μετάδοση δεδομένων.
Τώρα, όταν κάνετε κύλιση προς τα κάτω, θα δείτε ότι έχουν δημιουργηθεί τρεις λειτουργίες για τρία κουμπιά στο GUI. Τώρα γράψτε τον κώδικα στις συναρτήσεις σύμφωνα με την εργασία που θέλετε να εκτελέσετε με κλικ.
Στη λειτουργία του κουμπιού LED ON , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα λίγο πριν από το τέλος της λειτουργίας για να ανάψετε το LED. Στον παρακάτω κώδικα, το fprintf (bt, '1') χρησιμοποιείται για την αποστολή '1' από το MATLAB στο HC-05 χρησιμοποιώντας το Bluetooth του φορητού υπολογιστή. Arduino θα λάβουν αυτά τα στοιχεία «1» έως HC-05 και λάμψη του LED, κάνοντας 11 τους ου pin HIGH.
παγκόσμιο bt; fprintf (bt, '1');
Στη λειτουργία του κουμπιού LED OFF , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα λίγο πριν από το τέλος της λειτουργίας για να σβήσετε το LED. Στον παρακάτω κώδικα, το fprintf (bt, '0') χρησιμοποιείται για την αποστολή '0' από το MATLAB στο HC-05 χρησιμοποιώντας το Bluetooth του φορητού υπολογιστή. Arduino θα λάβουν «0» μέσω HC-05 και να απενεργοποιήσετε το LED κάνοντας του 11 ου pin LOW.
παγκόσμιο bt; fprintf (bt, '0');
Στη λειτουργία του κουμπιού BLINK , χρησιμοποιήστε τον παρακάτω κωδικό για να αναβοσβήσετε το LED. Χρησιμοποιείται ένα για βρόχο για να αναβοσβήνει το LED 10 φορές.
παγκόσμιο bt; για i = 1:10 fprintf (bt, '1'); παύση (0,5); fprintf (bt, '0'); παύση (0,5); τέλος
Αφού ολοκληρώσετε την κωδικοποίηση MATLAB GUI και ρυθμίστε το υλικό σύμφωνα με το διάγραμμα κυκλώματος, απλώς κάντε κλικ στο κουμπί εκτέλεσης για να εκτελέσετε τον επεξεργασμένο κώδικα σε αρχείο.m.
Το MATLAB μπορεί να χρειαστεί λίγα δευτερόλεπτα για να απαντήσει, μην κάνετε κλικ σε κανένα κουμπί GUI έως ότου το MATLAB εμφανίσει την ένδειξη BUSY, την οποία μπορείτε να δείτε στην κάτω αριστερή γωνία της οθόνης, όπως φαίνεται παρακάτω,
Όταν όλα είναι έτοιμα, κάντε κλικ στο LED-ON, το LED OFF και το κουμπί BLINK για να ενεργοποιήσετε, να απενεργοποιήσετε και να αναβοσβήσετε το LED αντίστοιχα. Μπορείτε να κατεβάσετε όλα τα αρχεία κώδικα για αυτό το έργο από εδώ ή μπορείτε να χρησιμοποιήσετε τον παρακάτω κώδικα.
Δείτε το παρακάτω βίντεο για να κατανοήσετε την πλήρη διαδικασία αποστολής δεδομένων από MATLAB στο Arduino μέσω Bluetooth χρησιμοποιώντας το MATLAB GUI.