- Απαιτούμενα στοιχεία:
- Επεξήγηση εργασίας:
- Διάγραμμα κυκλώματος:
- Αποκωδικοποίηση σημάτων τηλεχειριστηρίου IR χρησιμοποιώντας το Arduino:
- Δημιουργία της εφαρμογής Android για IR Blaster:
Ξεκίνησα αυτό το έργο για να απαλλαγώ από διάφορα τηλεχειριστήρια στο σπίτι μου και να φτιάξω κάτι μοναδικό που θα μπορούσε να ενσωματώσει χαρακτηριστικά όλων αυτών. Πήρα αυτήν την ιδέα όταν είδα ένα από τα κινητά τηλέφωνα ενός φίλου μου με ενσωματωμένο IR blaster, εκείνη την εποχή αποφάσισα να μην αγοράσω ένα παρόμοιο τηλέφωνο, αλλά να φτιάξω τη δική μου συσκευή που θα πρέπει να είναι συμβατή με το υπάρχον ακουστικό μου. Εδώ λοιπόν πρόκειται να μετατρέψουμε ένα τηλέφωνο Android σε τηλεχειριστήριο IR χρησιμοποιώντας το Arduino για τον έλεγχο διαφόρων συσκευών στο σπίτι.
Απαιτούμενα στοιχεία:
- Arduino Uno
- LED IR
- Δέκτης TSOP-IR (1838T)
- Μονάδα Bluetooth (HC05)
- Συσκευή Android (τηλέφωνο, tablet κ.λπ.)
Επεξήγηση εργασίας:
Γενικά, χρησιμοποιούμε δύο τηλεχειριστήρια για τη λειτουργία της τηλεόρασης στο σπίτι, ένα για τηλεόραση και ένα για Set-Top Box, οπότε εδώ σε αυτό το έργο στοχεύω αυτά τα δύο τηλεχειριστήρια και κάνω ένα τηλέφωνο Android να λειτουργεί ως IR Blaster έτσι ώστε η τηλεόραση να μπορεί να ελεγχθεί με το τηλέφωνο, χωρίς να αγγίξετε κανένα από τα τηλεχειριστήρια.
Χρησιμοποιώντας μια πλακέτα Arduino Uno απλώς διευκόλυνε το χειρισμό του τμήματος αποκωδικοποίησης και κωδικοποίησης IR. Η προσαρμοσμένη ασπίδα προσθέτει απλώς στο μέρος ευκολίας αυτού του έργου. Η ασπίδα αποτελείται από ένα δέκτη TSOP IR (1838T), ένα IR LED και μια μονάδα Bluetooth (HC-05), δείτε την παρακάτω εικόνα:
Μπορείτε είτε να δημιουργήσετε την προσαρμοσμένη ασπίδα είτε να συνδέσετε απευθείας τα εξαρτήματα με το Arduino, όπως φαίνεται στο «Διάγραμμα κυκλώματος» στην παρακάτω ενότητα.
Πριν προχωρήσουμε, ας συζητήσουμε πρώτα για το «πώς λειτουργούν τα τηλεχειριστήρια IR». Τα περισσότερα από τα τηλεχειριστήρια IR λειτουργούν σε συχνότητες περίπου 38 KHz (αυτός είναι ο λόγος για τον οποίο επέλεξα τα 18 38 T). Με την περαιτέρω συμμετοχή σε αυτό το θέμα θα αναγνωρίσει κανείς ότι δεν υπάρχει σταθερή αναπαράσταση για μηδενικά και αυτά σε αυτές τις μεθόδους μετάδοσης δεδομένων υπερύθρων. Αυτοί οι κωδικοί χρησιμοποιούν διάφορες τεχνικές κωδικοποίησης που μελετάμε στο πρόγραμμα σπουδών της μηχανικής μας (αφού είμαι φοιτητής μηχανικής ηλεκτρονικών). Η σημασία των 38 KHz είναι ότι είναι η συχνότητα με την οποία το σήμα ταλαντεύεται όταν είναι λογικά υψηλή, δηλαδή αυτή είναι η συχνότητα φορέα του σήματος. Ρίξτε μια ματιά στην παρακάτω εικόνα. Αυτό είναι ένα παράδειγμα του πρωτοκόλλου NEC. Αυτό θα κάνει την ιδέα σας πιο ξεκάθαρη:
Λοιπόν, πώς λειτουργεί αυτό το IR Blaster; Ένα τηλέφωνο Android με την προσαρμοσμένη εφαρμογή Android στέλνει το σήμα στο κύκλωμα Arduino μέσω Bluetooth, περαιτέρω το Arduino λαμβάνει το σήμα μέσω δέκτη TSOP-IR (1838T) και το αναλύει. Στη συνέχεια, το Arduino δίνει εντολή στο IR LED να αναβοσβήνει σε ένα συγκεκριμένο μοτίβο, που αντιστοιχεί στο κουμπί που πατήθηκε σε αυτήν την εφαρμογή Android Device. Αυτό το μοτίβο που αναβοσβήνει καταγράφεται από την τηλεόραση ή τον δέκτη IR του αποκωδικοποιητή και ακολουθεί τις οδηγίες ανάλογα, όπως αλλαγή καναλιού ή αύξηση της έντασης.
Αλλά πριν από αυτό πρέπει να αποκωδικοποιήσουμε τα υπάρχοντα τηλεχειριστήρια. Όπως αναφέρθηκε προηγουμένως, σε αυτό το έργο έχω χρησιμοποιήσει δύο τηλεχειριστήρια, ένα που επικοινωνεί με την τηλεόραση ενώ ένα άλλο είναι για το αποκωδικοποιητή συνδεδεμένο στην τηλεόραση.
Διάγραμμα κυκλώματος:
Αποκωδικοποίηση σημάτων τηλεχειριστηρίου IR χρησιμοποιώντας το Arduino:
Ο πίνακας Arduino λειτουργεί εδώ σε δύο φάσεις, η μία είναι όταν τη χρησιμοποιείτε για την αποκωδικοποίηση κωδικών IR από απομακρυσμένη και μια άλλη όταν τη χρησιμοποιείτε ως συσκευή IR blaster.
Ας μιλήσουμε για την πρώτη φάση. Τώρα για την αποκωδικοποίηση των κωδικών κουμπιών IR, έχω χρησιμοποιήσει το αρχείο κεφαλίδας IR Shirote του Ken Shirriff . Αυτό το αρχείο κεφαλίδας έχει πολλά προκαθορισμένα παραδείγματα / κωδικούς μόνο για να διευκολύνεται η εργασία με κωδικούς υπερύθρων:
- Πρέπει πρώτα να κάνετε λήψη και εγκατάσταση της απομακρυσμένης βιβλιοθήκης υπερύθρων από εδώ
- Αποσυμπιέστε το και τοποθετήστε το στο φάκελο "Βιβλιοθήκες" του Arduino. Στη συνέχεια, μετονομάστε τον εξαγόμενο φάκελο σε IRremote.
- Στη συνέχεια, εγγράψτε τον παρακάτω παρεχόμενο κωδικό στο Arduino, συνδέστε την προσαρμοσμένη ασπίδα όπως φαίνεται παραπάνω και τοποθετήστε ένα τηλεχειριστήριο για αποκωδικοποίηση μπροστά από τον δέκτη TSOP IR. Ανοίξτε τη σειριακή οθόνη που αντιστοιχεί σε αυτό το Arduino και πατήστε οποιοδήποτε επιθυμητό κουμπί από το τηλεχειριστήριο. Θα δείτε κάποιες πληροφορίες να εμφανίζονται πάνω από το τερματικό, αυτές οι πληροφορίες περιλαμβάνουν τον τύπο του κώδικα, την αξία του και το ποσό των bit που σχετίζονται με αυτό. Δείτε πώς φαίνεται:
#περιλαμβάνω
Μόλις τελειώσετε με το επιθυμητό μέρος αποκωδικοποίησης, σημειώστε όλες τις τιμές αποκωδικοποίησης και άλλες πληροφορίες πατώντας το αντίστοιχο όνομα κουμπιού. Αυτό θα χρησιμεύσει ως βάση δεδομένων για την επόμενη φάση του Arduino. Το παραπάνω πρόγραμμα προέρχεται από το φάκελο «παραδείγματα» της βιβλιοθήκης IRremote, μπορείτε να δείτε περισσότερα παραδείγματα για να μάθετε περισσότερα σχετικά με τη χρήση του τηλεχειριστηρίου υπερύθρων. Έτσι αποκωδικοποιήσαμε την απομακρυσμένη έξοδο IR.
Τώρα γράψτε τον Κώδικα, που δίνεται στην ενότητα Κωδικός στο τέλος, στον ίδιο πίνακα. Συγχαρητήρια, τελειώσατε με το πρώτο μισό αυτού του έργου.
Δημιουργία της εφαρμογής Android για IR Blaster:
Εδώ έρχεται το δεύτερο μισό, η εφαρμογή Android. Προτιμώ απλώς τη χρήση του εφευρέτη APP του MIT-2 για τη δημιουργία τέτοιων εφαρμογών. Εάν είστε ερασιτέχνης στην κωδικοποίηση Android, αυτό θα εξοικονομήσει χρόνο και θα σας δώσει καλά αποτελέσματα. Τα κύρια στοιχεία που χρησιμοποιούνται για την κατασκευή αυτής της εφαρμογής δεν είναι πολλά, μόνο μερικά κουμπιά και ένα πακέτο πελάτη Bluetooth. Κατά την κωδικοποίηση της εφαρμογής, δώστε το αντίστοιχο κείμενο που θα σταλεί για κάθε κουμπί που πιέζεται στην οθόνη, το οποίο θα ζητούσε από τον Arduino να αναβοσβήνει το IR LED με τον ίδιο τρόπο που θα είχε γίνει από το μεμονωμένο τηλεχειριστήριο. Επίσης, βεβαιωθείτε ότι παρέχετε τη σωστή διεύθυνση της μονάδας Bluetooth HC-05. Έτσι θα φαίνεται η τελική εφαρμογή στο έξυπνο τηλέφωνό σας Android:
Εδώ είναι η διαδικασία βήμα προς βήμα για τη δημιουργία της εφαρμογής:
ΒΗΜΑ 1:
Συνδεθείτε σε αυτόν τον σύνδεσμο: ai2.appinventor.mit.edu ή δοκιμάστε να αναζητήσετε το MIT appinventor-2 στο Google. Για τη σύνδεση στο AI2 απαιτείται λογαριασμός Google, οπότε αν δεν το έχετε, δημιουργήστε έναν.
ΒΗΜΑ 2:
Μόλις συνδεθείτε με τον Λογαριασμό σας Google, θα μεταφερθείτε στην ιστοσελίδα εργασίας AI2, η οποία μοιάζει με αυτήν:
Ξεκινήστε ένα νέο έργο κάνοντας κλικ στην καρτέλα "Έργα" στο επάνω μέρος και επιλέξτε "Έναρξη νέου έργου". Όταν τελειώσετε με το μέρος ονομασίας και όλα, θα εμφανιστεί μια κενή οθόνη, στην οποία μπορείτε να τοποθετήσετε κουμπιά και κείμενο όπως φαίνεται παραπάνω. Αυτή είναι η οθόνη GUI, στην οποία αποφασίζετε πώς θα μοιάζει η εφαρμογή με έναν χρήστη.
Για να χρησιμοποιήσετε ένα πακέτο κουμπιών, επιλέξτε την καρτέλα "Κουμπί" στην αριστερή πλευρά της οθόνης στην ενότητα "Διεπαφή χρήστη". Απλώς σύρετε οποιοδήποτε πακέτο από το αριστερό μενού και ρίξτε το στην οθόνη εργασίας. Παρομοίως, για να εμφανίσετε οτιδήποτε σχετίζεται με κείμενο, χρησιμοποιήστε το πακέτο "Label".
ΒΗΜΑ 3:
Αφού κανονίσετε όλα τα κουμπιά και τις ετικέτες σας, τώρα ήρθε η ώρα να δημιουργήσετε έναν κωδικό για αυτήν την εφαρμογή. Αλλά πριν από αυτό πρέπει να επιλέξουμε και ένα πακέτο Bluetooth για επικοινωνία με το Arduino.
Θα παρατηρήσετε ότι αυτό το πακέτο δεν εμφανίζεται στην οθόνη, αλλά υπάγεται στην ενότητα "Μη ορατά συστατικά". Αυτά είναι τα στοιχεία που δεν έχουν σημασία στη σύνθεση του GUI.
ΒΗΜΑ 4:
Στη συνέχεια έρχεται η ενότητα κωδικοποίησης, στην οποία θα ορίσετε τη λειτουργία για στοιχεία που έχετε επιλέξει και θέλετε να εργαστείτε.
Στην αριστερή πλευρά της οθόνης θα δείτε όλα τα πακέτα που έχετε επιλέξει στην ενότητα GUI. Η παραπάνω εικόνα δείχνει ποια είναι όλα τα στοιχεία σε ένα συγκεκριμένο πακέτο που μπορείτε να χρησιμοποιήσετε. Σημειώστε επίσης ότι η διεύθυνση της μονάδας Bluetooth πρέπει να παρέχεται σε μορφή κειμένου.
ΡΥΘΜΙΣΗ 5:
Όταν αισθάνεστε ότι η εφαρμογή είναι έτοιμη για χρήση και δεν υπάρχουν επίσης σφάλματα, κάντε κλικ στην καρτέλα "Build" όπως φαίνεται παραπάνω και ορίστε τη δεύτερη επιλογή. Αυτό θα κατεβάσει τη δική σας δημιουργημένη εφαρμογή, στον υπολογιστή, σε μορφή ".apk". Στη συνέχεια, απλώς μεταφέρετε αυτό το αρχείο.apk σε οποιαδήποτε συσκευή Android και κάντε κλικ σε αυτό για εγκατάσταση.
Έτσι μπορείτε να ελέγχετε οποιαδήποτε συσκευή τηλεχειρισμού IR με το έξυπνο τηλέφωνό σας, απλώς πρέπει να αποκωδικοποιήσετε το τηλεχειριστήριο οποιωνδήποτε συσκευών θέλετε να ελέγξετε με το τηλέφωνό σας και να αντικαταστήσετε τον αποκωδικοποιημένο κωδικό HEX των απομακρυσμένων κουμπιών στον κωδικό Arduino.