- Κύρια εξαρτήματα
- Πώς να χειριστείτε τη μονάδα Bluetooth;
- Επεξήγηση εργασίας:
- Διάγραμμα κυκλώματος και επεξήγηση
- Επεξήγηση προγράμματος:
Φανταστείτε ότι μπορείτε να ελέγχετε τις ηλεκτρονικές συσκευές του σπιτιού σας από οπουδήποτε μέσα στο σπίτι, χρησιμοποιώντας μόνο το έξυπνο τηλέφωνό σας. Σε αυτό το έργο, θα χρησιμοποιήσουμε ασύρματη τεχνολογία Bluetooth για τον έλεγχο των οικιακών ηλεκτρονικών συσκευών μέσω τηλεφώνου Android. Το Bluetooth έχει εμβέλεια 10-15 μέτρων, ώστε να μπορείτε να ΕΝΕΡΓΟΠΟΙΗΣΕΤΕ και να ΑΠΕΝΕΡΓΟΠΟΙΗΣΕΤΕ οποιαδήποτε ηλεκτρονική συσκευή εντός του εύρους. Έχουμε επίσης αναπτύξει ένα αυτοκίνητο παιχνιδιών που ελέγχεται από τηλέφωνο Android, χρησιμοποιώντας τη μονάδα Bluetooth και το Arduino.
Εδώ έχουμε χρησιμοποιήσει 8051 μικροελεγκτή με μονάδα Bluetooth, για τη λήψη ασύρματων δεδομένων, που αποστέλλονται από το τηλέφωνο Android. Έτσι ώστε ο μικροελεγκτής να μπορεί να ΕΝΕΡΓΟΠΟΙΕΙ και να Σβήνει τις οικιακές συσκευές ανάλογα.
Κύρια εξαρτήματα
- 8051 μικροελεγκτής
- Ενότητα Bluetooth HC05
- Αναμετάδοση
- ULN2003
- Βολβός
- Κάτοχος
- Σύρμα
- IC 7805
- Τηλέφωνο Android
- Εφαρμογή ελεγκτή Bluetooth Εφαρμογή Android
- Πυκνωτής 10uf
- Πυκνωτής 1000uf
- 10Κ αντίσταση
- 1 k αντίσταση
- Παροχή ηλεκτρικού ρεύματος
Ενότητα Bluetooth:
Η μονάδα Bluetooth HC-05 αποτελείται από δύο πράγματα, ένα είναι η μονάδα σειριακής διεπαφής Bluetooth και ένας προσαρμογέας Bluetooth. Η σειριακή μονάδα Bluetooth χρησιμοποιείται για τη μετατροπή της σειριακής θύρας σε Bluetooth.
Πώς να χειριστείτε τη μονάδα Bluetooth;
Μπορείτε να χρησιμοποιήσετε απευθείας τη μονάδα Bluetooth μετά την αγορά από την αγορά, επειδή δεν χρειάζεται να αλλάξετε καμία ρύθμιση της μονάδας Bluetooth. Ο προεπιλεγμένος ρυθμός baud της νέας μονάδας Bluetooth είναι 9600 bps. Απλά πρέπει να συνδέσετε rx και tx σε ελεγκτή ή σειριακό μετατροπέα και να δώσετε ρυθμιζόμενη τροφοδοσία 5 volt dc στη μονάδα.
Η μονάδα Bluetooth έχει δύο λειτουργίες, η μία είναι η κύρια λειτουργία και η δεύτερη είναι η λειτουργία σκλάβου. Ο χρήστης μπορεί να ορίσει οποιαδήποτε λειτουργία χρησιμοποιώντας μερικές εντολές AT. Ακόμη και ο χρήστης μπορεί να ορίσει τη ρύθμιση της μονάδας χρησιμοποιώντας την εντολή AT. Ακολουθούν ορισμένες εντολές που χρησιμοποιούνται:
Πρώτα απ 'όλα, ο χρήστης πρέπει να εισέλθει στη λειτουργία AT με ρυθμό baud 38400 bps πατώντας το κουμπί EN στη μονάδα Bluetooth ή δίνοντας ΥΨΗΛΟ επίπεδο στο EN pin Σημείωση: όλες οι εντολές πρέπει να τελειώνουν με \ r \ n (0x0d και 0x0a) ή ENTER KEY από το πληκτρολόγιο.
Μετά από αυτό εάν στείλετε AT στη μονάδα, τότε η ενότητα θα ανταποκριθεί με ΟΚ
AT → Δοκιμή εντολής
AT + ROLE = 0 → Επιλογή Slave Mode
AT + ROLE = 1 → Επιλογή κύριας λειτουργίας
AT + NAME = xyz → Ορισμός ονόματος Bluetooth
AT + PSWD = xyz → Ορισμός κωδικού πρόσβασης
AT + UART =
Π.χ. AT + UART = 9600,0,0
Καρφίτσα Περιγραφή του επιταχυνσιόμετρου:
- STATE → Άνοιγμα
- Rx → Σειριακός πείρος λήψης
- Tx → Σειριακός πείρος μετάδοσης
- GND → γείωση
- Vcc → + 5volt dc
- EN → για είσοδο σε λειτουργία AT
Επεξήγηση εργασίας:
Σε αυτό το έργο χρησιμοποιήσαμε 8051 μικροελεγκτή για τον έλεγχο ολόκληρης της διαδικασίας αυτού του έργου. Και μια μονάδα Bluetooth χρησιμοποιείται για τον ασύρματο έλεγχο των οικιακών συσκευών. Οι οικιακές συσκευές θα ενεργοποιηθούν και θα απενεργοποιηθούν όταν ο χρήστης αγγίξει το κουμπί στην εφαρμογή Bluetooth για κινητά σε κινητό τηλέφωνο Android. Για να εκτελέσουμε αυτό το έργο, πρώτα πρέπει να κατεβάσουμε την εφαρμογή Bluetooth από το Google Play Store. Μπορούμε να χρησιμοποιήσουμε οποιαδήποτε εφαρμογή Bluetooth που μπορεί να στείλει δεδομένα μέσω Bluetooth. Ακολουθούν ορισμένα ονόματα εφαρμογών που μπορούν να χρησιμοποιηθούν:
- Bluetooth Spp pro
- Ελεγκτής Bluetooth
Μετά την εγκατάσταση της εφαρμογής, πρέπει να την ανοίξετε και, στη συνέχεια, να αναζητήσετε τη συσκευή Bluetooth και να επιλέξετε τη συσκευή Bluetooth HC-05. Και στη συνέχεια διαμορφώστε τα πλήκτρα.
Εδώ σε αυτό το έργο έχουμε χρησιμοποιήσει την εφαρμογή ελεγκτή Bluetooth.
- Λήψη και εγκατάσταση του ελεγκτή Bluetooth.
- Ενεργοποιήθηκε το κινητό Bluetooth.
- Τώρα ανοίξτε την εφαρμογή ελεγκτή Bluetooth
- Πατήστε σάρωση
- Επιλέξτε την επιθυμητή συσκευή Bluetooth (μονάδα Bluetooth HC-05).
- Τώρα ρυθμίστε τα πλήκτρα πατώντας τα κουμπιά ρύθμισης στην οθόνη
Για να ορίσετε τα πλήκτρα πρέπει να πατήσουμε το «πλήκτρο ρύθμισης» και να ορίσουμε το πλήκτρο σύμφωνα με την παρακάτω εικόνα:
Μετά τη ρύθμιση των πλήκτρων, πατήστε ok
Στην παραπάνω εικόνα μπορείτε να δείτε ότι υπάρχουν 9 κουμπιά στα οποία η πρώτη σειρά είναι για τον έλεγχο του ανεμιστήρα, η δεύτερη είναι για τον έλεγχο του φωτός και η τελευταία είναι για τον έλεγχο της τηλεόρασης. Μέσα Τα κουμπιά ON και OFF της πρώτης σειράς χρησιμοποιούνται για ON και OFF του ανεμιστήρα, τα κουμπιά της δεύτερης σειράς είναι για Light και η τρίτη για TV. Χρησιμοποιήσαμε τρεις λαμπτήρες διαφορετικών χρωμάτων αντί για τηλεόραση και ανεμιστήρα, για λόγους επίδειξης.
Τώρα, όταν αγγίζουμε οποιοδήποτε κουμπί στην εφαρμογή ελεγκτή Bluetooth, τότε το τηλέφωνο Android στέλνει μια τιμή στη μονάδα Bluetooth, αφού λάβει αυτήν την τιμή, η μονάδα Bluetooth στέλνει την ληφθείσα τιμή στον μικροελεγκτή και στη συνέχεια ο μικροελεγκτής την διαβάζει και τη συγκρίνει με την προκαθορισμένη τιμή. Εάν συμβεί κάποια αντιστοίχιση, τότε ο μικροελεγκτής εκτελεί σχετική λειτουργία. Η ίδια λειτουργία θα πραγματοποιείται κάθε φορά που πατάτε το κουμπί.
Τώρα, όταν ο χρήστης αγγίζει το κουμπί "Fan On" στην εφαρμογή ελεγκτή Bluetooth, τότε ο μικροελεγκτής λαμβάνει το "1" μέσω της μονάδας Bluetooth και, στη συνέχεια, ο διακόπτης "Ενεργοποίηση" του ανεμιστήρα χρησιμοποιώντας το πρόγραμμα οδήγησης ρελέ και το ρελέ. Και όταν ο χρήστης αγγίξει το κουμπί «Ανεμιστήρας ανεμιστήρα» στην εφαρμογή ελεγκτή Bluetooth, ο μικροελεγκτής λαμβάνει το «2» μέσω της μονάδας Bluetooth και, στη συνέχεια, ο διακόπτης «Απενεργοποίηση» του ανεμιστήρα χρησιμοποιώντας το πρόγραμμα οδήγησης ρελέ και το ρελέ.
Παρομοίως, 3,4,5,6 αριθμοί αποστέλλονται από τηλέφωνο Android, όταν το κουμπί Light On, Light Off, TV On, TV Off αγγίχθηκε αντίστοιχα:
Κουμπί |
Δεδομένα |
Λειτουργία |
Ο ανεμιστήρας είναι ενεργοποιημένος |
1 |
Ο ανεμιστήρας ενεργοποιήθηκε |
Ανεμιστήρας |
2 |
Ο ανεμιστήρας απενεργοποιήθηκε |
Ανάβει |
3 |
Το φως ανάβει |
Απενεργοποίηση |
4 |
Το φως σβήστηκε |
Ενεργοποίηση τηλεόρασης |
5 |
Η τηλεόραση είναι ενεργοποιημένη |
Απενεργοποίηση τηλεόρασης |
6 |
Η τηλεόραση είναι απενεργοποιημένη |
Διάγραμμα κυκλώματος και επεξήγηση
Οι συνδέσεις κυκλώματος αυτού του έργου είναι πολύ απλές. Οι ακίδες Rx και Tx της μονάδας Bluetooth συνδέονται απευθείας με τις ακίδες Tx και Rx του Μικροελεγκτή. Χρησιμοποιούνται τρία ρελέ 5 volt ως διακόπτης για την ενεργοποίηση και απενεργοποίηση των οικιακών συσκευών που λειτουργούν σε δίκτυο AC. Και ένα πρόγραμμα οδήγησης ρελέ ULN2003 χρησιμοποιείται για οδήγηση ρελέ. Οι ανεμιστήρες, το φως και η τηλεόραση συνδέονται στα P2.1, P2.2 και P2.3 μέσω ρελέ και προγράμματος οδήγησης ρελέ. Ένας ταλαντωτής κρυστάλλου 11,0592 MHz χρησιμοποιείται σε αυτό το κύκλωμα για τη δημιουργία σήματος ρολογιού για μικροελεγκτή. Και ένας ρυθμιστής τάσης 5 volt LM7805 χρησιμοποιείται για παροχή 5 volt για ολόκληρο το κύκλωμα.
Επεξήγηση προγράμματος:
Σε αυτό το πρόγραμμα, πρώτα από όλα έχουμε συμπεριλάβει το αρχείο κεφαλίδας και ορίζει εισόδους, καρφίτσες εξόδου και μεταβλητές.
#περιλαμβάνω
Μετά από αυτό έχουμε δημιουργήσει μια λειτουργία για καθυστέρηση.
άκυρη καθυστέρηση (int time) {unsigned int i, j; για (i = 0; i
Εδώ έχουμε κάποιες λειτουργίες που έχουμε χρησιμοποιήσει στο πρόγραμμά μας. Σε αυτό έχουμε διαμορφώσει 9600bps baud rate στα 11.0592MHz Crystal Frequency.
άκυρο Serialwrite (char byte) {SBUF = byte; ενώ (! TI); TI = 0; } άκυρο Serialprintln (char * p) {ενώ (* p) {Serialwrite (* p); p ++; } Serialwrite (0x0d); } άκυρο Serialbegin () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; }
Μετά από αυτό, στο κύριο πρόγραμμα αρχικοποιήσαμε το UART και παρακολουθήσαμε το μητρώο SBUF για τη λήψη των δεδομένων. Στη συνέχεια τα δεδομένα αντιστοιχίζονται και συγκρίνονται με προκαθορισμένες τιμές και έχει πραγματοποιηθεί σχετική λειτουργία.
κενή κύρια () {P2 = 0x00; Serialbegin (); Serialprintln ("Σύστημα έτοιμο…"); καθυστέρηση (50) ενώ (1) {ενώ (! RI); Charin = SBUF; str = Charin; RI = 0; αν (str == '1') {Fan = 1; Serialprintln ("Fan ON"); καθυστέρηση (50) } αλλιώς εάν (str == '2') {Fan = 0; Serialprintln ("Ανεμιστήρας ΑΝΕΝΕΡΓΟ"); καθυστέρηση (50) }
Έτσι μπορούμε να δημιουργήσουμε ένα ολόκληρο σύστημα για το σπίτι και να συνδέσουμε όλες τις συσκευές AC με τον μικροελεγκτή 8051 χρησιμοποιώντας Ρελέ. Και αυτό το σύστημα οικιακού αυτοματισμού που ελέγχεται από Bluetooth μπορεί να λειτουργήσει από ένα έξυπνο τηλέφωνο.