Όλοι γνωρίζουμε τη λέξη «Αυτοματισμός», όπου η ανθρώπινη αλληλεπίδραση είναι ελάχιστη και τα πράγματα μπορούν να ελεγχθούν αυτόματα ή εξ αποστάσεως. Ο οικιακός αυτοματισμός είναι πολύ δημοφιλής και απαιτητική ιδέα στον τομέα της Ηλεκτρονικής και καταβάλλουμε κάθε δυνατή προσπάθεια για να καταστήσουμε αυτή την ιδέα εύκολα κατανοητή και διαχειρίσιμη ως Ηλεκτρονικά Έργα. Έχουμε αναπτύξει προηγουμένως διάφορους τύπους έργων οικιακού αυτοματισμού με λειτουργικό βίντεο και κώδικα, ελέγξτε:
- Οικιακός αυτοματισμός με βάση το DTMF
- Οικιακός αυτοματισμός με βάση το GSM χρησιμοποιώντας το Arduino
- Οικιακός αυτοματισμός ελεγχόμενος με υπολογιστή χρησιμοποιώντας το Arduino
- Ελεγχόμενος οικιακός αυτοματισμός Bluetooth με χρήση 8051
- IR Remote Controlled Home Automation χρησιμοποιώντας το Arduino
Και σε αυτό το έργο, πρόκειται να χτίσουμε το επόμενο οικιακό μας πρόγραμμα αυτοματισμού χρησιμοποιώντας MATLAB και Arduino, το οποίο είναι το σύστημα αυτοματισμού οικιακής χρήσης με βάση το GUI χρησιμοποιώντας Arduino και MATLAB
Συστατικά:
- Arduino UNO
- Καλώδιο USB
- ULN2003
- Ρελέ 5 volt
- Λάμπα με βάση
- Σύνδεση καλωδίων
- ΦΟΡΗΤΟΣ ΥΠΟΛΟΓΙΣΤΗΣ
- Παροχή ηλεκτρικού ρεύματος
- PVT
Επεξήγηση εργασίας:
Σε αυτό το έργο, χρησιμοποιούμε το MATLAB με το Arduino για τον έλεγχο των οικιακών συσκευών, μέσω ενός γραφικού περιβάλλοντος εργασίας χρήστη στον υπολογιστή. Εδώ χρησιμοποιήσαμε την ενσύρματη επικοινωνία για την αποστολή δεδομένων από υπολογιστή (MATLAB) στο Arduino. Στην πλευρά του υπολογιστή, χρησιμοποιήσαμε το GUI στο MATLAB για να δημιουργήσουμε μερικά κουμπιά για τον έλεγχο οικιακών συσκευών. Για επικοινωνία μεταξύ Arduino και MATLAB, πρέπει πρώτα να εγκαταστήσουμε το " MATLAB and Simulink Support for Arduino " ή " Arduino IO Package ". Για να το κάνετε, ακολουθήστε τα παρακάτω βήματα ή ελέγξτε το παρακάτω βίντεο:
- Κατεβάστε το πακέτο Arduino IO από εδώ. Πρέπει να εγγραφείτε πριν από τη λήψη.
- Στη συνέχεια, κάψτε / ανεβάστε το αρχείο adioe.pde στο Arduino χρησιμοποιώντας το Arduino IDE. Αυτό το αρχείο adioe.pde βρίσκεται στο πακέτο Arduino IO - ArduinoIO \ pde \ adioe \ adioe.pde
- Στη συνέχεια, ανοίξτε το λογισμικό MATLAB, μεταβείτε στον φάκελο Arduino IO, ανοίξτε το αρχείο install_arduino.m και εκτελέστε το στο Matlab. Θα δείτε ένα μήνυμα "Οι φάκελοι Arduino έχουν προστεθεί στη διαδρομή" στο παράθυρο εντολών του MATLAB, σημαίνει ότι η διαδρομή MATLAB ενημερώνεται σε φακέλους Arduino.
Έτσι κάνουμε το Arduino, επικοινωνούμε με το MATLAB. Η παραπάνω μέθοδος είναι κατάλληλη για "MATLAB R2013b ή παλαιότερες εκδόσεις", εάν χρησιμοποιείτε την υψηλότερη έκδοση του MATLAB (όπως R2015b ή R2016a), μπορείτε να κάνετε απευθείας κλικ στην καρτέλα Πρόσθετα στο MATLAB και στη συνέχεια να κάνετε κλικ στο "Λήψη πακέτων υποστήριξης υλικού", από όπου μπορείτε να εγκαταστήσετε πακέτα Arduino για MATLAB.
Μετά την εγκατάσταση αρχείων, μπορείτε πλέον να δημιουργήσετε ένα GUI για οικιακό αυτοματισμό. Βασικά στο GUI, δημιουργούμε κουμπιά για τον έλεγχο των οικιακών συσκευών από υπολογιστή. Τα κουμπιά μπορούν να δημιουργηθούν μεταβαίνοντας στο "Γραφικό περιβάλλον εργασίας χρήστη" στο μενού "Νέο" στο MATLAB. Επιπλέον, μπορούμε να ορίσουμε το όνομα και τα χρώματα αυτών των κουμπιών, έχουμε δημιουργήσει 8 κουμπιά, στα οποία έξι σε ON και OFF τρεις οικιακές συσκευές και δύο κουμπιά για ON και OFF όλες τις συσκευές ταυτόχρονα.
Τώρα μετά τη δημιουργία των κουμπιών, όταν κάνετε κλικ στο κουμπί Εκτέλεση σε αυτό το παράθυρο GUI, θα σας ζητήσει να αποθηκεύσετε αυτό το αρχείο GUI (με επέκταση.fig), επίσης γνωστό ως " αρχείο σύκου". Μόλις αποθηκεύσετε το αρχείο, θα δημιουργήσει αυτόματα ένα αρχείο κώδικα (με επέκταση.m), επίσης γνωστό ως « αρχείο M» (βλ. Παρακάτω στιγμιότυπο οθόνης), όπου μπορείτε να βάλετε τον κώδικα (δίνεται στην ενότητα Κώδικας παρακάτω). Μπορείτε να κατεβάσετε το αρχείο GUI και το αρχείο κώδικα για αυτό το έργο από εδώ: Home_Automation_system.fig και Home_Automation_system.m (κάντε δεξί κλικ και επιλέξτε Αποθήκευση συνδέσμου ως…), ή μπορείτε να τα δημιουργήσετε μόνοι σας, όπως έχουμε εξηγήσει.
Μετά την κωδικοποίηση μπορείτε τώρα να εκτελέσετε επιτέλους το αρχείο.m από το παράθυρο κώδικα, θα δείτε την ένδειξη "Προσπάθεια σύνδεσης.." στο παράθυρο εντολών. Στη συνέχεια, εμφανίζεται ένα μήνυμα "Arduino συνδεδεμένο με επιτυχία", αν όλα πάνε καλά. Και τέλος θα δείτε το GUI (κουμπιά) που δημιουργήθηκε προηγουμένως στο παράθυρο GUI, από όπου μπορείτε να ελέγχετε τις οικιακές συσκευές κάνοντας απλώς κλικ στα κουμπιά στον υπολογιστή σας. Βεβαιωθείτε ότι το Arduino είναι συνδεδεμένο στο Arduino μέσω καλωδίου USB. Εδώ σε αυτό το έργο χρησιμοποιήσαμε 3 λαμπτήρες για επίδειξη, οι οποίες υποδηλώνουν ανεμιστήρα, φως και τηλεόραση.
Η εργασία ολόκληρου του έργου, από την εγκατάσταση του πακέτου υποστήριξης Arduino MATLAB έως την ενεργοποίηση ή απενεργοποίηση της συσκευής, μπορεί να γίνει κατανοητή στο βίντεο στο τέλος.
Επεξήγηση κυκλώματος:
Το κύκλωμα αυτού του έργου είναι πολύ εύκολο. Εδώ χρησιμοποιήσαμε ένα Arduino UNO board και Relay Driver ULN2003 για οδήγηση ρελέ. Τα τρία ρελέ SPDT 5 volt συνδέονται με τον πείρο Arduino αριθμός 3, 4 και 5, μέσω του προγράμματος οδήγησης ρελέ ULN2003, για τον έλεγχο LIGHT, FAN και TV αντίστοιχα.
Επεξήγηση προγραμματισμού:
Όταν πατάμε οποιοδήποτε κουμπί από το παράθυρο GUI τότε στέλνει κάποιες εντολές στο Arduino και στη συνέχεια το Arduino κάνει αυτή τη λειτουργία. Μετά την εγκατάσταση του πακέτου υποστήριξης Arduino MATLAB IO, μπορούμε να έχουμε πρόσβαση στο Arduino από το MATLAB χρησιμοποιώντας τις ίδιες λειτουργίες Arduino, με κάποια μικρή παραλλαγή, όπως:
Για την κατασκευή μιας καρφίτσας HIGH στο Arduino γράφουμε κώδικα ως digitalWrite (pin, HIGH)
Στο MATLAB θα χρησιμοποιήσουμε αυτήν τη λειτουργία με τη βοήθεια ενός αντικειμένου ή μιας μεταβλητής όπως, και ομοίως και ούτω καθεξής.
Πριν το κάνουμε αυτό πρέπει να αρχίσουμε τη μεταβλητή ως εξής:
Σε αυτό το έργο, δεν υπάρχει κωδικός Arduino εκτός από τον κώδικα ή το αρχείο πακέτου υποστήριξης Arduino MATLAB. Όπως εξηγήθηκε προηγουμένως, το αρχείο κώδικα (αρχείο.m) δημιουργείται αυτόματα κατά την αποθήκευση του αρχείου GUI (αρχείο.fig). Υπάρχει ήδη κάποιος κωδικός που έχει προγραφεί στο αρχείο.m Βασικά αυτές είναι οι λειτουργίες Callback για τα κουμπιά Push, σημαίνει ότι μπορούμε να καθορίσουμε τι πρέπει να συμβεί κάνοντας κλικ σε αυτά τα Push Buttons.
Στον κώδικα MATLAB, αρχικοποιούμε τη σειριακή θύρα και την κάνουμε αντικείμενο χρησιμοποιώντας μια μεταβλητή. Και μετά μπορούμε να ξεκινήσουμε τον προγραμματισμό όπως το Arduino χρησιμοποιώντας τη μεταβλητή.
καθαρό ar; παγκόσμια ar; ar = arduino («COM13»); ar.pinMode (3, «ΕΞΟΔΟΣ»); ar.pinMode (4, «ΕΞΟΔΟΣ»); ar.pinMode (5, «ΕΞΟΔΟΣ»); ar.pinMode (13, «ΕΞΟΔΟΣ»);
Στη λειτουργία επανάκλησης κάθε κουμπιού, έχουμε γράψει τον σχετικό κωδικό για Ενεργοποίηση ή Απενεργοποίηση των αντίστοιχων Οικιακών Συσκευών, συνδεδεμένων στο Arduino μέσω Ρελέ. Όπως για παράδειγμα, η λειτουργία Callback για το Light ON δίνεται παρακάτω:
Λειτουργία light_on_Callback (hObject, eventdata, handles)% hObject handle to light_on (βλέπε GCBO)% eventdata δεσμευμένο - να οριστεί σε μια μελλοντική έκδοση της MATLAB% λαβής δομή με λαβές και δεδομένα χρήστη (βλέπε GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
Παρομοίως, μπορούμε να γράψουμε τον κωδικό στις λειτουργίες Callback όλων των κουμπιών, για να ελέγξουμε τις άλλες συνδεδεμένες οικιακές συσκευές, ελέγξτε τον πλήρη MATLAB Code παρακάτω (αρχείο.m).