Πίνακας περιεχομένων:
- Βήμα 1: Για αρχή: Υλικά
- Βήμα 2: Βήμα 2: Προσέγγιση του προβλήματος προς επίλυση
- Βήμα 3: Βήμα 3: Διαμόρφωση του GUI και του Basic Code Flow
- Βήμα 4: Βήμα 3: Ρύθμιση του συστήματος θερμοστάτη
- Βήμα 5: Βήμα 4: Ρύθμιση του συστήματος πόρτας
- Βήμα 6: Βήμα 6: Ρύθμιση του συστήματος Flood Light
- Βήμα 7: Συμπέρασμα
Βίντεο: Σύστημα έξυπνου σπιτιού Arduino: 7 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Σε αυτό το Instructable θα σας δείξουμε πώς να δημιουργήσετε το δικό σας σύστημα έξυπνου σπιτιού με το App Designer της MATLAB με έναν πίνακα Sparkfun Red. Αυτό το Instructable μπορεί να χρησιμοποιηθεί για να αποκτήσει μια βασική κατανόηση του MATLAB's App Designer, καθώς και χρησιμοποιώντας μια φωτοαντίσταση, σερβοκινητήρα και έναν αισθητήρα κίνησης PIR.
Βήμα 1: Για αρχή: Υλικά
Αυτό το έργο απαιτεί τα ακόλουθα υλικά:
- Arduino Uno (Για αυτό το έργο χρησιμοποιήσαμε έναν πίνακα Sparkfun Red)
- Μία φωτοαντίσταση
- Ένας μίνι σερβοκινητήρας
- Ένας συνεχόμενος σερβοκινητήρας
- Ένας αισθητήρας κίνησης PIR
- Ένας αισθητήρας θερμοκρασίας
- 2 LED
- Σύρματα και αντιστάσεις όπως απαιτείται
Βήμα 2: Βήμα 2: Προσέγγιση του προβλήματος προς επίλυση
Ο κύριος στόχος αυτού του έργου ήταν να δημιουργήσει ένα εύχρηστο σύστημα έξυπνου σπιτιού κωδικοποιώντας έναν πίνακα Arduino Uno με MATLAB. Αρχικά σκεφτήκαμε να δουλέψουμε μόνο με έναν αισθητήρα θερμοκρασίας και υγρασίας, ωστόσο αν μείναμε με αυτούς τους δύο αισθητήρες, το σύστημα έξυπνου σπιτιού μας δεν θα ήταν εύκολα εμπορεύσιμο σε ένα γενικό κοινό. Αποφασίσαμε ότι θέλουμε να δημιουργήσουμε ένα συνολικό έξυπνο ενεργειακό σύστημα στο σπίτι που θα λειτουργεί ως έξυπνος θερμοστάτης και σύστημα ασφαλείας. Τέλος, θέλαμε να συνεργαστούμε με το AppDesigner του MATLAB, ώστε ο χρήστης να μπορεί εύκολα να αλλάξει το έξυπνο σπίτι όπως θέλει.
Βήμα 3: Βήμα 3: Διαμόρφωση του GUI και του Basic Code Flow
Για να ξεκινήσετε, θα πρέπει να ανοίξετε το MATLABs AppDesigner και να τοποθετήσετε τα ακόλουθα:
Δύο αριθμητικά πεδία επεξεργασίας για μια εισαγωγή κατωφλίου θερμού και κρύου
Ένα κουμπί για να ξεκλειδώσετε την πόρτα
Και τέσσερις ενδεικτικές λυχνίες για το τζάκι, την πόρτα, τον ανεμιστήρα και τον προβολέα.
Δύο ετικέτες για επικοινωνία με τον χρήστη.
Για αυτό το έργο βρήκαμε ευκολότερο να δουλέψουμε με καθολικές μεταβλητές και τη λειτουργία εκκίνησης εντός του σχεδιαστή. Θα χρειαστείτε αυτές τις μεταβλητές στη λειτουργία εκκίνησης:
παγκόσμιο α
a = arduino («COM3», «uno», «Βιβλιοθήκες», «Servo»); global s global p global hotUI global coldUI global unlock global temp global curr_temp global int_light
Αυτή τη στιγμή έχουμε μόνο μια ανάθεση για τη μεταβλητή, ώστε ο υπολογιστής σας να μπορεί να διαβάσει το arduino. Το COM3 μπορεί να διαφέρει ανάλογα με τη θύρα που μπορεί να χρησιμοποιεί ο υπολογιστής σας.
Όταν εκτελείτε τον κώδικα, θα ξεκινήσει μέσα στη λειτουργία εκκίνησης δημιουργώντας τις καθολικές μεταβλητές και βαθμονομώντας το σύστημα. Στο τέλος αυτής της συνάρτησης θα υπάρχει μια λειτουργία χρονομέτρου που καλεί μια ιδιότητα που ονομάσαμε χρονόμετρο. Μέσα σε αυτήν την ιδιότητα Χρονοδιακόπτη τοποθετούμε τον κώδικα που τρέχει το αρχικό σύστημα, έτσι ώστε ο χρονοδιακόπτης να μην επαναλάβει τον κωδικό βαθμονόμησης.
Σημείωση: Δεν δώσαμε οδηγίες καλωδίωσης για το σύστημα. Αναφερθήκαμε στο εγχειρίδιο που συνοδεύει τον πίνακα SparkFun Red.
Βήμα 4: Βήμα 3: Ρύθμιση του συστήματος θερμοστάτη
Η λειτουργία του θερμοστάτη λειτουργεί ως εξής:
Ο χρήστης θα εισάγει ποια θερμοκρασία θεωρεί ότι είναι πολύ ζεστή ή πολύ κρύα. Μόλις το θερμόμετρο πάρει μια ένδειξη, εάν το σπίτι είναι πολύ κρύο τότε το "τζάκι" (ένα κόκκινο LED) θα ανάψει και θα ζεστάνει το σπίτι. Εάν το σπίτι είναι πολύ ζεστό, τότε ένας "ανεμιστήρας" (συνεχής σερβοκινητήρας) θα ενεργοποιήσει την ψύξη του σπιτιού.
Για να κωδικοποιήσετε το σύστημα θερμοστάτη:
Θα ξεκινήσουμε μέσα στη λειτουργία εκκίνησης για να εμφανίσουμε την τρέχουσα θερμοκρασία και θα αφήσουμε τον χρήστη να εισάγει τα κρύα και ζεστά κατώφλια του.
p = 'A0' %ακίδα φωτοαντίστασης
volt = readVoltage (a, temp)? celc = (volt-0.5).*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str (curr_temp); %Ο αριθμός ετικέτας μπορεί να αλλάξει παύση (10). %Μπορεί να θέλει να αλλάξει !!!!!
Στη συνέχεια, θα ολοκληρώσουμε το σύστημα θερμοστάτη εντός της ιδιότητας Timer.
καθολική curr_temp
global coldUI global a global hotUI if curr_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; %Γυρίζει πράσινη λυχνία GUI εγγραφή 0,90 0,90 0,90]; %Αυτό απενεργοποιεί όλες τις λάμπες GUI και την εφαρμογή τζακιού. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); τέλος
Βήμα 5: Βήμα 4: Ρύθμιση του συστήματος πόρτας
Η λειτουργία της πόρτας λειτουργεί ως εξής:
Όταν εκτελείτε για πρώτη φορά τον κώδικα MATLAB, η εφαρμογή θα σας ζητήσει να ανοίξετε την πόρτα, έτσι ώστε η φωτοαντίσταση να μπορεί να λάβει μια αρχική ένδειξη φωτός. Μόλις ολοκληρωθεί, ο χρονοδιακόπτης θα ενεργοποιηθεί και ο φωτοαντιστάτης θα λάβει δευτερεύουσες ενδείξεις φωτός. Εάν η δευτερεύουσα ένδειξη φωτός είναι ελαφρύτερη από την αρχική, ένας σερβοκινητήρας θα κλειδώσει την πόρτα. Εάν ο χρήστης θέλει την πόρτα ξεκλειδωμένη, μπορεί να πατήσει ένα κουμπί στην εφαρμογή που θα ξεκλειδώσει την πόρτα.
Για να διαμορφώσετε τον σερβοκινητήρα και τη φωτοαντίσταση:
Για να κωδικοποιήσετε το σύστημα πόρτας:
Θα ξεκινήσουμε μέσα στη λειτουργία εκκίνησης για να λάβουμε τις αρχικές ενδείξεις φωτός.
s = servo (a, 'D9') %Το Pin μπορεί να αλλάξει με βάση την καλωδίωση
app. Label_4. Text = 'Ανοίξτε την πόρτα για να βαθμονομήσετε το σύστημα'; παύση (15)? %Αυτό δίνει χρόνο στο χρήστη να ανοίξει την πόρτα int_light = readVoltage (a, p); app. Label_4. Text = 'Μπορείτε να αφαιρέσετε το δάχτυλό σας';
Στη συνέχεια, θα συμπληρώσουμε τον κωδικό εντός της ιδιότητας Χρονοδιακόπτη
καθολικό ξεκλείδωμα
global int_light global s global a %Λάβετε μια τρέχουσα ανάγνωση φωτός για σύγκριση curr_light = readVoltage (a, p); % - Κλείδωμα πόρτας - εάν int_light <curr_light writePosition (s, 1) % Οι θέσεις σερβομηχανισμού μπορεί να διαφέρουν ανά παύση κινητήρα (0,5). app. DoorStateLamp. Color = [0,47 0,67 0,19]; τέλος % - Ξεκλείδωμα πόρτας - εάν ξεκλειδώσετε == 1234 παύση (0,5). writePosition (s,.52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; τέλος
Τέλος θα δημιουργήσουμε το κουμπί ξεκλειδώματος επανάκλησης. Μόλις ο χρήστης πατήσει το κουμπί ξεκλειδώματος, στο καθολικό ξεκλείδωμα της μεταβλητής θα εκχωρηθεί ένας αριθμός που θα μπορεί να ολοκληρώσει την τελική πρόταση if στην ιδιότητα Χρονοδιακόπτη.
καθολικό ξεκλείδωμα
ξεκλείδωμα = 1234;
Βήμα 6: Βήμα 6: Ρύθμιση του συστήματος Flood Light
Η λειτουργία για το φανάρι λειτουργεί ως εξής:
Όταν ξεκινάτε τον κωδικό MATLAB, ο αισθητήρας κίνησης PIR θα αρχίσει να ανιχνεύει κίνηση. Μόλις εντοπίσει κάποιο είδος κίνησης, θα κόψει ένα σήμα ισχύος. Μόλις κοπεί αυτό το σήμα, θα ανάψει ένα φως πλημμύρας έξω από το σπίτι.
Για να διαμορφώσετε το σύστημα προβολέων:
Για να κωδικοποιήσετε το σύστημα προβολέων:
Αυτή τη φορά μπορούμε να μεταβούμε στην ιδιότητα Χρονοδιακόπτη επειδή δεν χρειάζεται να γράψουμε επιπλέον μεταβλητές.
human_detected = readDigitalPin (a, 'D2'); Το %Pin μπορεί να αλλάξει με βάση τη διαμόρφωση αν το human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin μπορεί να αλλάξει app. FloodLightStateLamp. Color = [0,47 0,67 0,19]; elseif human_detected == 1 app. FloodLightStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D7', 0) τέλος
Βήμα 7: Συμπέρασμα
Τώρα που έχετε ένα προσχέδιο του GUI σας με το App Designer και τον κωδικό σας για το Arduino, είστε έτοιμοι να κάνετε τις δικές σας αλλαγές ή να συνδέσετε το Arduino σας και να φύγετε!
Συνιστάται:
SmartBox - Σύστημα έξυπνου σπιτιού για το δωμάτιό σας: 6 βήματα
SmartBox - Smart Home System for Your Room: Γεια σε όλους! Σε αυτό το διδακτικό, θα σας εξηγήσω πώς να φτιάξετε ένα έξυπνο σύστημα δωματίου. Αυτό το σύστημα περιέχει δύο συσκευές. Μια γενική συσκευή με αισθητήρα υγρασίας και αισθητήρα θερμοκρασίας που μετρά την τρέχουσα ποιότητα ζωής στο δωμάτιό σας. Εσύ
Το πλήρες πρόσθετο έξυπνου σπιτιού: 8 βήματα
The Complete Smart Home Addon: Το προηγούμενο έργο μου " The Complete Smart Home " λειτουργεί με επιτυχία για σχεδόν 5 χρόνια χωρίς κανένα πρόβλημα. Τώρα που αποφάσισα να προσθέσω μια ανατροφοδότηση στο ίδιο χωρίς καμία τροποποίηση στο παρόν κύκλωμα και σχηματικό. Αυτό λοιπόν το add on pro
Σύστημα έξυπνου σπιτιού: 6 βήματα
Smart Home System: Αυτό το διδακτικό θα σας βοηθήσει να εξηγήσετε πώς να ρυθμίσετε και να χρησιμοποιήσετε το Smart Home System χρησιμοποιώντας το λογισμικό Matlab και το υλικό Raspberry Pi. Στο τέλος αυτού του οδηγού, θα πρέπει να μπορείτε να χρησιμοποιείτε πλήρως το προϊόν μας με ευκολία
Φθηνό και εύκολο σύστημα έξυπνου σπιτιού: 7 βήματα
Φθηνό και εύκολο σύστημα έξυπνου σπιτιού: Γεια σας! Είμαι ο Ed είμαι ένας 15χρονος με πάθος για υπολογιστές, προγραμματισμό και ηλεκτρολογία. Δεδομένου ότι είμαι αρκετά νέος, ζω στο σπίτι των γονιών μου, αυτό το έργο ξεκίνησε όταν αποφάσισα να μετακομίσω στο Δωμάτιο Σοφίτα/ Σοφίτα, στην πορεία της σχεδίασης
Θερμοστάτης έξυπνου σπιτιού: 4 βήματα
Θερμοστάτης έξυπνου σπιτιού: Ο έξυπνος θερμοστάτης μας είναι ένα πρόγραμμα που μπορεί να εξοικονομήσει αυτόματα χρήματα ενός νοικοκυριού σε λογαριασμούς κοινής ωφέλειας με βάση τις προτιμήσεις ενός ατόμου