- Απαιτούμενα υλικά:
- Μεθοδολογία εργασίας:
- Προαπαιτούμενα:
- Εργασία τηλεχειριστηρίου AC:
- Διάγραμμα κυκλώματος και επεξήγηση:
- Αποκωδικοποίηση των απομακρυσμένων σημάτων AC:
- Κύριο πρόγραμμα Arduino:
- Εγκατάσταση εφαρμογής Android:
- Εργασία ελεγχόμενου κινητού τηλεφώνου AC:
Στον σημερινό σύγχρονο κόσμο, όπου κι αν πηγαίνουμε, έχουμε πολλές ηλεκτρονικές συσκευές γύρω μας. Αλλά, πάνω απ 'όλα, υπάρχει μόνο μία συσκευή που έχουμε προσωπικά στις τσέπες μας όλη την ώρα. Ναι, είναι τα κινητά μας τηλέφωνα. Τώρα τα κινητά τηλέφωνα έχουν γίνει κάτι περισσότερο από μια συσκευή που χρησιμοποιείται για επικοινωνία, είναι οι κάμερές μας, είναι οι χάρτες μας, είναι καρτ αγορών μας και τι όχι;
Με αυτή τη δυνατότητα στα χέρια μας, είναι πραγματικά μια βαρετή ιδέα να χρησιμοποιούμε τηλεχειριστήρια για τον έλεγχο οποιωνδήποτε ηλεκτρονικών εφαρμογών στο σπίτι μας, όπως τηλεόραση, AC, Home Theater κ.λπ. ή καναπέ. Ως εκ τούτου, σε αυτό το έργο πρόκειται να δημιουργήσουμε μια μικρή εγκατάσταση χρησιμοποιώντας την οποία μπορείτε να ελέγξετε το κλιματιστικό μέσω του έξυπνου τηλεφώνου σας χρησιμοποιώντας Bluetooth και Arduino. Ακούγεται ενδιαφέρον, σωστά! Ας φτιάξουμε ένα
Απαιτούμενα υλικά:
- Arduino Mega 2560
- TSOP (HS0038)
- LED LED
- Οποιαδήποτε έγχρωμη LED και αντίσταση 1K (προαιρετικά)
- HC-06
- Ψωμί
- Σύνδεση καλωδίων
Μεθοδολογία εργασίας:
Όλα τα τηλεχειριστήρια στο σπίτι μας που χρησιμοποιούμε για τον έλεγχο της τηλεόρασης, του οικιακού κινηματογράφου, του AC κ.λπ. λειτουργούν με τη βοήθεια των IR Blasters. Ένα IR blaster δεν είναι τίποτα άλλο από ένα IR LED που θα μπορούσε να ανατινάξει ένα σήμα με επαναλαμβανόμενο παλμό. Αυτό το σήμα θα διαβαστεί από τον δέκτη στην ηλεκτρονική συσκευή. Για κάθε διαφορετικό κουμπί στο τηλεχειριστήριο θα εκραγεί ένα μοναδικό σήμα το οποίο μετά την ανάγνωση από τον δέκτη χρησιμοποιείται για την εκτέλεση μιας συγκεκριμένης προκαθορισμένης εργασίας. Εάν είμαστε σε θέση να διαβάσουμε αυτό το σήμα που βγαίνει από το τηλεχειριστήριο, τότε μπορούμε να μιμηθούμε το ίδιο σήμα χρησιμοποιώντας μια λυχνία IR όταν απαιτείται ποτέ για την εκτέλεση της συγκεκριμένης εργασίας. Έχουμε κάνει προηγουμένως ένα κύκλωμα IR Blaster για Universal IR Remote και για αυτόματο έλεγχο θερμοκρασίας AC.
Ένα TSOP είναι ένας δέκτης IR που θα μπορούσε να χρησιμοποιηθεί για την αποκωδικοποίηση του σήματος που προέρχεται από τα τηλεχειριστήρια. Θα χρησιμοποιήσουμε αυτό το TSOP για να αποκωδικοποιήσουμε όλες τις πληροφορίες από το τηλεχειριστήριό μας και να τις αποθηκεύσουμε στο Arduino. Στη συνέχεια, χρησιμοποιώντας αυτές τις πληροφορίες και ένα IR Led μπορούμε να δημιουργήσουμε ξανά τα σήματα υπερύθρων από το Arduino μας όποτε απαιτείται.
Προαπαιτούμενα:
Για αυτό το Arduino Bluetooth Controlled AC Project, βεβαιωθείτε ότι διαθέτετε Arduino Mega και όχι οποιαδήποτε άλλη έκδοση του Arduino, καθώς το μέγεθος του κώδικα είναι βαρύ. Εγκαταστήστε την απομακρυσμένη βιβλιοθήκη IR χρησιμοποιώντας αυτόν τον σύνδεσμο για να εργαστείτε με TSOP και IR Blaster.
Εργασία τηλεχειριστηρίου AC:
Προτού προχωρήσουμε στο έργο αφιερώστε λίγο χρόνο και παρατηρήστε πώς λειτουργεί το τηλεχειριστήριο AC σας. Τα τηλεχειριστήρια AC λειτουργούν με λίγο διαφορετικό τρόπο σε σύγκριση με τηλεχειριστήρια τηλεόρασης, DVD IR. Μπορεί να υπάρχουν μόνο 10-12 κουμπιά στο τηλεχειριστήριό σας, αλλά θα μπορούν να στέλνουν πολλούς διαφορετικούς τύπους σημάτων. Δηλαδή το τηλεχειριστήριο δεν στέλνει τον ίδιο κωδικό κάθε φορά για το ίδιο κουμπί. Για παράδειγμα, όταν μειώσετε τη θερμοκρασία χρησιμοποιώντας το κουμπί κάτω για να το κάνετε 24 ° C (βαθμός Κελσίου) θα λάβετε ένα σήμα με ένα σύνολο δεδομένων, αλλά όταν το πατήσετε ξανά για να ρυθμίσετε τους 25 ° C δεν θα λάβετε το ίδιο Δεδομένα δεδομένου ότι η θερμοκρασία είναι τώρα 25 και όχι 24. Ομοίως, ο κωδικός για 25 θα διαφέρει επίσης για διαφορετική ταχύτητα ανεμιστήρα, ρυθμίσεις αναμονής κ.λπ..
Ένα άλλο πρόβλημα είναι η ποσότητα δεδομένων που αποστέλλονται για κάθε πάτημα κουμπιού, κανονικά τηλεχειριστήρια με αποστολή είτε 24 bit είτε 48 bit, αλλά ένα τηλεχειριστήριο AC μπορεί να στείλει έως και 228 bit, καθώς κάθε σήμα περιέχει πολλές πληροφορίες όπως Temp, Fan Speed, Χρόνος ύπνου, Swing style κλπ. Αυτός είναι ο λόγος για τον οποίο χρειαζόμαστε ένα Arduino Mega για καλύτερες επιλογές αποθήκευσης.
Διάγραμμα κυκλώματος και επεξήγηση:
Ευτυχώς, η εγκατάσταση υλικού αυτού του κλιματιστικού ελεγχόμενου κινητού τηλεφώνου είναι πολύ εύκολη. Μπορείτε απλά να χρησιμοποιήσετε ένα breadboard και να κάνετε τις συνδέσεις όπως φαίνεται παρακάτω.
Ο παρακάτω πίνακας μπορεί επίσης να χρησιμοποιηθεί για την επαλήθευση των συνδέσεών σας.
S.No: |
Καρφίτσα συστατικού |
Arduino Pin |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Σήμα |
8 |
4 |
IR Led - Κάθοδος |
Gnd |
5 |
IR Led - Anode |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
Εδαφος |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Μόλις ολοκληρωθούν οι συνδέσεις, θα πρέπει να φαίνεται κάτι τέτοιο παρακάτω. Έχω χρησιμοποιήσει ένα Breadboard για να τακτοποιήσετε τα πράγματα, αλλά μπορείτε επίσης εσείς να κάνετε σύρματα από αρσενικό σε θηλυκό για να συνδέσετε όλα τα εξαρτήματα
Αποκωδικοποίηση των απομακρυσμένων σημάτων AC:
Το πρώτο βήμα για τον έλεγχο του AC σας είναι να χρησιμοποιήσετε το TSOP1738 για να αποκωδικοποιήσετε τους κωδικούς IR τηλεχειριστηρίου AC. Κάντε όλες τις συνδέσεις όπως φαίνεται στο διάγραμμα κυκλώματος και βεβαιωθείτε ότι έχετε εγκαταστήσει όλες τις αναφερόμενες βιβλιοθήκες. Τώρα ανοίξτε το παράδειγμα προγράμματος " IRrecvDumpV2 " το οποίο μπορείτε να βρείτε στο Αρχείο -> Παραδείγματα -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Εφόσον το TSOP μας είναι συνδεδεμένο στον ακροδέκτη 8, αλλάξτε τον αριθμό γραμμής 9 σε int recPin = 8 όπως φαίνεται παραπάνω. Στη συνέχεια, ανεβάστε το πρόγραμμα στο Arduino Mega και ανοίξτε το Serial Monitor.
Στρέψτε το τηλεχειριστήριό σας προς το TSOP και πατήστε οποιοδήποτε κουμπί, για κάθε κουμπί που πατάτε το αντίστοιχο σήμα του θα διαβάζεται από το TSOP1738, αποκωδικοποιείται από τον Arduino και θα εμφανίζεται στο Serial Monitor. Για κάθε αλλαγή θερμοκρασίας στο τηλεχειριστήριό σας θα λαμβάνετε διαφορετικά δεδομένα. Αποθηκεύστε αυτά τα δεδομένα γιατί θα τα χρησιμοποιούμε στο κύριο πρόγραμμά μας. Η σειριακή οθόνη σας θα μοιάζει κάπως έτσι, έχω δείξει επίσης το αρχείο Word στο οποίο έχω αποθηκεύσει τα αντιγραμμένα δεδομένα.
Το στιγμιότυπο οθόνης δείχνει τον κωδικό για τη ρύθμιση της θερμοκρασίας στους 26 ° C για το τηλεχειριστήριο AC. Με βάση το τηλεχειριστήριό σας θα λάβετε ένα διαφορετικό σύνολο κωδικών. Ομοίως αντιγράψτε τους κωδικούς για όλα τα διαφορετικά επίπεδα θερμοκρασίας. Μπορείτε να ελέγξετε όλους τους κωδικούς IR τηλεχειριστηρίου κλιματιστικού στον Κωδικό Arduino που δίνονται στο τέλος αυτού του σεμιναρίου.
Κύριο πρόγραμμα Arduino:
Το πλήρες κύριο πρόγραμμα Arduino μπορεί να βρίσκεται στο κάτω μέρος αυτής της σελίδας, αλλά δεν μπορείτε να χρησιμοποιήσετε το ίδιο πρόγραμμα. Πρέπει να αλλάξετε τις τιμές του κώδικα σήματος που μόλις αποκτήσαμε από το Σκίτσο του Παραδείγματος. Ανοίξτε το κύριο πρόγραμμα για εσάς Arduino IDE και μετακινηθείτε προς τα κάτω σε αυτήν την περιοχή που φαίνεται παρακάτω όπου πρέπει να αντικαταστήσετε τις τιμές πίνακα με τις τιμές που αποκτήσατε για το τηλεχειριστήριό σας.
Σημειώστε ότι έχω χρησιμοποιήσει 10 συστοιχίες από τις οποίες δύο από εμάς χρησιμοποιούσαμε για να ενεργοποιήσουμε και να απενεργοποιήσουμε το εναλλασσόμενο ρεύμα, ενώ οι υπόλοιποι 8 χρησιμοποιούνται για να ρυθμίσουν διαφορετική θερμοκρασία. Για παράδειγμα, το Temp23 χρησιμοποιείται για τη ρύθμιση 23 * C στο AC σας, οπότε χρησιμοποιήστε τον αντίστοιχο κωδικό σε αυτή τη σειρά. Μόλις γίνει αυτό, πρέπει απλώς να ανεβάσετε τον κωδικό στο Arduino σας.
Πρέπει να εισαγάγουμε δύο βιβλιοθήκες για αυτό το έργο. Το ένα είναι η βιβλιοθήκη IRremote που μόλις προσθέσαμε στο Arduino και η άλλη είναι η ενσωματωμένη σειριακή βιβλιοθήκη λογισμικού που μας βοηθά στη χρήση της μονάδας Bluetooth.
#περιλαμβάνω
Στη συνέχεια αρχικοποιούμε τη μονάδα Bluetooth στον ακροδέκτη 10 και 11 και στη συνέχεια χρησιμοποιούμε ένα αντικείμενο που ονομάζεται irsend για πρόσβαση σε όλες τις δυνατότητες υπερύθρων της βιβλιοθήκης.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Στη συνέχεια έρχονται οι πολύ σημαντικές γραμμές κώδικα. Εδώ υπάρχουν οι πληροφορίες για τον έλεγχο του AC σας. Αυτό που φαίνεται παρακάτω είναι για το τηλεχειριστήριό μου, θα έπρεπε να έχετε αποκτήσει το δικό σας στο προηγούμενο βήμα.
Στη συνέχεια μέσα στη λειτουργία κενής ρύθμισης , αρχικοποιούμε δύο σειριακές επικοινωνίες. Το ένα είναι Bluetooth με ταχύτητα 9600 Baud και το άλλο είναι σειριακή οθόνη με ταχύτητα baud 57600.
άκυρη ρύθμιση () {BT_module.begin (9600); // Η BT λειτουργεί στο 9600 Serial.begin (57600). // Serial Monitor, γιος εργασίας 57600}
Στο εσωτερικό μας κενό βρόχο (άπειρο βρόχο), που ελέγχει αν υπάρχει κάτι που λαμβάνει η μονάδα Bluetooth. Εάν ληφθεί κάτι, αποθηκεύουμε αυτές τις πληροφορίες στη μεταβλητή BluetoothData .
while (BT_module.available ()) // Εάν έρχονται δεδομένα {BluetoothData = BT_module.read (); // διαβάστε το και αποθηκεύστε το Serial.println (BluetoothData); // εκτυπώστε το σε σειριακό για δοκιμαστικό σκοπό}
Οι πληροφορίες που λαμβάνονται από το Bluetooth θα βασίζονται στο κουμπί που θα πατηθεί στην εφαρμογή Android που θα εγκαταστήσουμε στο επόμενο βήμα μας. Μόλις ληφθούν οι πληροφορίες, πρέπει απλώς να ενεργοποιήσουμε τον αντίστοιχο κωδικό IR όπως παρακάτω
εάν (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); καθυστέρηση (2000); // Αποστολή σήματος για ρύθμιση του Temperatue 23C}
Εδώ εάν ληφθεί ο κωδικός «2» πρέπει να ρυθμίσουμε τη θερμοκρασία του AC στους 23 ° C. Ομοίως έχουμε κώδικα από 0 έως 9 για να εκτελέσουμε όλες τις βασικές λειτουργίες ελέγχου του AC. Μπορείτε να ανατρέξετε στον πλήρη κωδικό arduino στο τέλος αυτής της σελίδας.
Εγκατάσταση εφαρμογής Android:
Το τελευταίο βήμα του Air Conditioned που ελέγχεται με έξυπνο τηλέφωνο είναι η εγκατάσταση της εφαρμογής Android. Η εφαρμογή Android για αυτό το έργο δημιουργήθηκε χρησιμοποιώντας τη λειτουργία επεξεργασίας Android. Η επεξεργασία είναι ένα εξαιρετικό εργαλείο για τη δημιουργία αρχείων.EXE ή αρχείων APK για σας Ενσωματωμένα έργα. Είναι μια πλατφόρμα ανοιχτού κώδικα όπως το Arduino και επομένως εντελώς δωρεάν για λήψη.
Εάν δεν θέλετε να μπείτε πολύ βαθιά σε αυτό, μπορείτε απλά να κατεβάσετε το αρχείο APK από εδώ μέσα στο αρχείο zip και να το εγκαταστήσετε απευθείας στο κινητό σας τηλέφωνο. Ανοίξτε την εφαρμογή και θα εμφανιστεί μια οθόνη όπως φαίνεται παρακάτω, μετά την οποία μπορείτε να προχωρήσετε στο επόμενο βήμα και να απολαύσετε την εργασία με το έργο. Αλλά αν θέλετε να τροποποιήσετε το πρόγραμμα της εφαρμογής ώστε να ταιριάζει στις ανάγκες σας, τότε μπορείτε να διαβάσετε περαιτέρω.
Το πλήρες αρχείο του προγράμματος για τον κωδικό επεξεργασία μπορεί να το κατεβάσετε από εδώ. Αυτό το Zip θα έχει τον κώδικα και την πηγή εικόνας χρησιμοποιώντας τις οποίες λειτουργεί η εφαρμογή. Αφού ανοίξετε τον κωδικό, μπορείτε να τροποποιήσετε τις ακόλουθες γραμμές για να τον προσαρμόσετε στις ανάγκες σας.
Όπως ειπώθηκε νωρίτερα, η Επεξεργασία είναι παρόμοια με την Arduino. Έτσι, έχει επίσης μια λειτουργία ρύθμισης κενού και κενών βρόχων (εδώ σχεδιάζω). Μέσα στη λειτουργία κενής ρύθμισης θα δώσουμε εντολή στο Bluetooth του τηλεφώνου να συνδεθεί στο Bluetooth του Arduino. Το όνομα της συσκευής μου εδώ είναι "HC-05", έτσι θα είναι η γραμμή κωδικού μου
bt.start (); // αρχίστε να ακούτε για συνδέσεις BT bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Συνδεθείτε στη μονάδα Bluetooth HC-06
Στη συνέχεια μέσα στις λειτουργίες load_buttons () μπορείτε να σχεδιάσετε όσα κουμπιά θέλετε. Έχω σχεδιάσει 10 κουμπιά όπως φαίνεται στην Εφαρμογή. Στη συνέχεια έχουμε τη λειτουργία read_buttons () που χρησιμοποιείται για την ανίχνευση του κουμπιού που αγγίζετε. Κάθε κουμπί έχει ένα συγκεκριμένο χρώμα, οπότε όταν ένας χρήστης αγγίζει την οθόνη, ελέγχουμε ποιο χρώμα έχει αγγίξει και προσδιορίζουμε ποιο κουμπί έχει αγγίξει. Ένα δείγμα κώδικα για τη δημιουργία ενός κουμπιού και την επιλογή του με βάση το χρώμα φαίνεται παρακάτω
γέμισμα (255.145,3); ορθογώνιο (πλάτος / 2-πλάτος / 4, ύψος / 2, πλάτος / 4, ύψος / 12) · γέμισμα (255); κείμενο ("25C", πλάτος / 2-πλάτος / 4, ύψος / 2); // κουμπί 5 if (color_val == - 13589993) {byte data = {'0'}; bt.broadcast (δεδομένα);}
Η γραμμή "byte data = {'0'};" είναι μια πολύ σημαντική γραμμή. Εδώ αποφασίζουμε ποιος κωδικός πρέπει να σταλεί στο Arduino μέσω Bluetooth. Εδώ εάν πατηθεί αυτό το κουμπί, ο χαρακτήρας "0" αποστέλλεται από το Bluetooth στο Arduino. Ομοίως μπορούμε να στείλουμε έναν διαφορετικό χαρακτήρα για διαφορετικά κουμπιά. Αυτοί οι χαρακτήρες μπορούν στη συνέχεια να συγκριθούν από την πλευρά του Arduino και να ληφθούν αντίστοιχα μέτρα.
Προχωρήστε και παίξτε τον κώδικα, αν έχετε αμφιβολίες, επικοινωνήστε μαζί μου μέσω της ενότητας σχολίων και θα προσπαθήσω το καλύτερο για να σας βοηθήσω.
Εργασία ελεγχόμενου κινητού τηλεφώνου AC:
Μόλις είστε έτοιμοι με τις εφαρμογές Hardware, Arduino Code και Android, ήρθε η ώρα να απολαύσετε την έξοδο. Ανεβάστε τον Κώδικα Arduino στο Υλικό σας και τοποθετήστε τον προς το AC σας. Τώρα ανοίξτε την εφαρμογή Android στο κινητό σας τηλέφωνο, εάν όλα λειτουργούν όπως αναμένεται, θα πρέπει να δείτε " Connected to: device_name (some code) " όπως φαίνεται παρακάτω
Τώρα απλώς πατήστε οποιοδήποτε κουμπί στην εφαρμογή σας Android και θα πρέπει να ενεργοποιήσει μια αντίστοιχη ενέργεια στο AC σαν να χρησιμοποιείτε ένα τηλεχειριστήριο. Μπορείτε να προσθέσετε όσα κουμπιά θέλετε τροποποιώντας τον κώδικα και επίσης να αυτοματοποιήσετε το AC σας με βάση τη θερμοκρασία ή την παρουσία του δωματίου σας. Ελέγξτε τον πλήρη κώδικα Arduino και το παρακάτω βίντεο.
Ελπίζω να απολαύσατε το έργο και να καταλάβετε την ιδέα πίσω από αυτό. Όπως πάντα, αν έχετε κάποιο πρόβλημα κατά την εκτέλεση αυτής της εργασίας, μπορείτε να χρησιμοποιήσετε τα φόρουμ για να δημοσιεύσετε ερωτήσεις και να τα επιλύσετε.
Μπορείτε να κατεβάσετε το αρχείο APK για την εγκατάσταση της εφαρμογής Android από εδώ.