Πίνακας περιεχομένων:

Universal Remote με χειρονομία με Node-MCU: 12 βήματα
Universal Remote με χειρονομία με Node-MCU: 12 βήματα

Βίντεο: Universal Remote με χειρονομία με Node-MCU: 12 βήματα

Βίντεο: Universal Remote με χειρονομία με Node-MCU: 12 βήματα
Βίντεο: Gesture Universal Remote-control-based on PAJ7620U2 Gesture Sensor 2024, Νοέμβριος
Anonim
Universal Remote με χειρονομία με Node-MCU
Universal Remote με χειρονομία με Node-MCU

Γεια σε όλους και καλώς ήρθατε σε αυτό το έργο! Είμαι αρκετά τεμπέλης και ο εφιάλτης ενός τεμπέλη είναι να βλέπω τηλεόραση όταν συνειδητοποιείς ότι το τηλεχειριστήριο είναι πολύ μακριά! Συνειδητοποίησα ότι το τηλεχειριστήριό μου δεν θα είναι ποτέ πολύ μακριά αν το έχω πάντα ανά πάσα στιγμή. Αυτό με ενέπνευσε να δημιουργήσω το LAZr, το χειρονομικό τηλεχειριστήριο γενικής χρήσης.

Σε αυτό το έργο, θα δημιουργήσω ένα γάντι εξοπλισμένο με αισθητήρες που μπορούν να ανιχνεύσουν τις χειρονομίες και μπορούν να στείλουν σήματα σε μια τηλεόραση ή άλλη συσκευή με μια απλή κίνηση των δακτύλων.

Ελπίζω να σας αρέσει αυτό το έργο και να το ψηφίσετε στον διαγωνισμό λέιζερ Epilog!

Βήμα 1: Τα μέρη

Τα μέρη
Τα μέρη

Το έργο αυτό περιλαμβάνει τα ακόλουθα μέρη:

Ένα γάντι ($ 5,00)

Node-MCU / ESP8266 (3,00 $)

Αυτός είναι ο μικροελεγκτής και ο εγκέφαλος αυτού του έργου. Έχει τη δυνατότητα σύνδεσης με WiFi, γεγονός που το καθιστά πολύ χρήσιμο σε εφαρμογές αυτοματισμού σπιτιού και σε έργα όπως αυτό, καθώς ο έλεγχος WiFi μπορεί να εφαρμοστεί σε αυτό το έργο.

5 Flex αισθητήρες ($ 7,00 το καθένα)

Αυτοί οι αισθητήρες μετρούν την κάμψη, παρόμοια με τον τρόπο με τον οποίο ένα LDR (Αντίσταση εξαρτώμενο από το φως) μετρά τα επίπεδα φωτός. Αυτά χρησιμοποιούνται για τη μέτρηση της κάμψης των δακτύλων και των χειρονομιών.

Πομπός IR (0,30 $)

Αυτό το στοιχείο μεταδίδει σήματα IR σε συσκευές όπως τηλεοράσεις, συσκευές αναπαραγωγής DVD κ.λπ.

IR Reciever (1,00 $)

Αυτό το στοιχείο λαμβάνει σήματα IR που αποστέλλονται από τηλεχειριστήρια. Είναι απαραίτητο για την αποκωδικοποίηση σημάτων από τα τηλεχειριστήρια. Αυτά τα σήματα μπορούν στη συνέχεια να χρησιμοποιηθούν για τον έλεγχο της συσκευής από το γάντι. Προτείνω το TSOP4838 αφού το έχω δοκιμάσει επιτυχώς με τηλεοράσεις Sharp, Samsung και Apple.

5 αντιστάσεις 10k Ohm (0,01 $ το καθένα)

Αυτές οι αντιστάσεις χρειάζονται για κάθε έναν από τους Flex αισθητήρες.

Αντίσταση 220 Ohm (0,01 $ το καθένα)

Αυτές οι αντιστάσεις χρειάζονται για κάθε έναν από τους Flex αισθητήρες.

Τρανζίστορ (0,39 $)

Το τρανζίστορ χρησιμοποιείται για μετάδοση IR.

74HC4051N IC Multiplexer (0,22 $)

Δεδομένου ότι το Node-MCU έχει μόνο μία αναλογική θύρα, αυτό το IC χρησιμοποιείται για να "χωρίσει" τον αναλογικό πείρο σε πολλούς, οι οποίοι είναι συνδεδεμένοι με τους ευέλικτους αισθητήρες. Περισσότερα για αυτό αργότερα.

Πολλά καλώδια jumper! (Εάν αποφασίσετε να χρησιμοποιήσετε ένα breadboard)

Τα παρακάτω μέρη είναι προαιρετικά, αλλά είναι χρήσιμα εάν χρησιμοποιούνται:

Υποδοχή IC 16 ακίδων

Γυναικείες κεφαλίδες

Βήμα 2: Το IC Multiplexer (74HC4051N)

Το IC Multiplexer (74HC4051N)
Το IC Multiplexer (74HC4051N)

Ενώ το Node-MCU είναι γεμάτο με εξαιρετικά χαρακτηριστικά όπως WiFi και συμβατότητα Arduino IDE, έχει τα μειονεκτήματά του. Έχει μόνο έναν αναλογικό πείρο, ο οποίος είναι ανεπαρκής για αυτό το έργο. Δεδομένου ότι το γάντι διαθέτει πέντε εύκαμπτους αισθητήρες, απαιτεί πέντε αναλογικές εισόδους για να λειτουργήσει. Μια απλή και φθηνή λύση σε αυτό το πρόβλημα είναι η χρήση ενός Multiplexer IC (74HC4051N). Αυτό το IC μπορεί να μετατρέψει μία αναλογική είσοδο σε οκτώ!

Πώς λειτουργεί?

Το IC λειτουργεί ενεργοποιώντας μια αναλογική είσοδο, διαβάζοντάς το και απενεργοποιώντας το. Στη συνέχεια, ενεργοποιεί την επόμενη αναλογική είσοδο. Με αυτόν τον τρόπο, διαβάζει μόνο έναν αισθητήρα κάθε φορά, στέλνοντάς τον στην αναλογική ακίδα του μικροελεγκτή. Το IC είναι σε θέση να ενεργοποιήσει, να διαβάσει και να απενεργοποιήσει τις αναλογικές εισόδους τόσο γρήγορα ώστε να φαίνεται ότι τις διαβάζει όλες ταυτόχρονα. Αυτό είναι παρόμοιο με το πώς λειτουργούν οι οθόνες υπολογιστών και smartphone. Κάθε εικονοστοιχείο δεν μπορεί να έχει τη δική του καθορισμένη καρφίτσα (αυτό θα ήταν καταστροφή!), Έτσι ενεργοποιεί και απενεργοποιεί τα εικονοστοιχεία τόσο γρήγορα που τα μάτια μας τα αντιλαμβάνονται όλα ως ενεργοποιημένα ταυτόχρονα. Για να λειτουργήσει, το IC χρειάζεται τρεις ψηφιακές ακίδες. Αλλάζοντας τους συνδυασμούς των καταστάσεων ενεργοποίησης και απενεργοποίησης των ακίδων, το IC είναι σε θέση να ενεργοποιήσει και να απενεργοποιήσει και τις 8 αναλογικές εισόδους.

Βήμα 3: Διάταξη Breadboard

Διάταξη Breadboard
Διάταξη Breadboard

Η διάταξη της συσκευής φαίνεται στην παραπάνω εικόνα.

ΣΗΜΑΝΤΙΚΟ: Λάβετε υπόψη τον τύπο του τρανζίστορ που χρησιμοποιείτε, ο πείρος συλλογής του τρανζίστορ θα πρέπει να συνδέεται με το LED IR και όχι με τον πείρο GND.

Βήμα 4: Λήψη σημάτων

Για να γνωρίζει το γάντι το σωστό σήμα προς αποστολή, πρέπει να λαμβάνονται σήματα από το τηλεχειριστήριο της τηλεόρασης/συσκευών σας και να προγραμματίζονται στον κωδικό του γαντιού. Για να λάβετε αυτά τα σήματα, είναι απαραίτητος ένας δέκτης IR.

Σημείωση: ρίξτε μια ματιά στον αριθμό μοντέλου του τηλεχειριστηρίου της τηλεόρασής σας και προσπαθήστε να βρείτε τις προδιαγραφές σήματος στο διαδίκτυο. Ορισμένοι δέκτες IR και πομποί δεν θα λειτουργούν με ορισμένα τηλεχειριστήρια, οπότε είναι σημαντικό να βρείτε πομπό/δέκτη με τη συχνότητα που αντιστοιχεί στην τηλεόρασή σας. Χρησιμοποιώ ένα 4838 IR Reciever που λειτουργεί με το τηλεχειριστήριο Samsung TV μου.

Βήμα 5: Κωδικός για τη λήψη σημάτων

Κωδικός για τη λήψη σημάτων
Κωδικός για τη λήψη σημάτων
Κωδικός για τη λήψη σημάτων
Κωδικός για τη λήψη σημάτων

Για να χρησιμοποιήσετε τον κωδικό, πρέπει να κατεβάσετε τη βιβλιοθήκη IRremoteESP8266. Ο σύνδεσμος λήψης είναι ο παρακάτω:

IRremoteESP8266

Στο Arduino IDE, μεταβείτε στο Sketch> Include Library> Add. ZIP Library. Εντοπίστε τις δύο βιβλιοθήκες που έχετε κατεβάσει και προσθέστε τις στο IDE. Για πρόσβαση στον κώδικα για λήψη σημάτων IR, μεταβείτε στο Αρχείο> Παραδείγματα> IRremoteESP8266> IRrecvDumpV2. Στον κώδικα, αλλάξτε την τιμή kRecvPin από 14 σε 5. Αυτό διασφαλίζει ότι το Node-MCU διαβάζει το σωστό pin (D1).

Μετά την καλωδίωση των συνδέσεων του breadboard, ανεβάστε αυτόν τον κωδικό στο Node-MCU και ανοίξτε τη σειριακή οθόνη σας (ορίστε το ρυθμό baud σε 115200). Εάν πατήσετε ένα κουμπί στο τηλεχειριστήριο της τηλεόρασής σας, τα σήματα θα εκτυπωθούν στη σειριακή οθόνη σας. Επιτυχία!

Θα δείτε ένα μεγάλο σύνολο αριθμών με την τιμή rawData. Καταγράψτε αυτούς τους αριθμούς και βεβαιωθείτε ότι έχετε καταγράψει το κουμπί που πατήσατε για να λάβετε αυτούς τους αριθμούς. Αυτά θα τα χρειαστείτε αργότερα.

Βήμα 6: Σχηματικό PCB

Σχηματικό PCB
Σχηματικό PCB

Το PCB Schematic δημιουργήθηκε στο Autodesk Eagle και είναι όπως φαίνεται στην παραπάνω εικόνα. Όλα τα αρχεία Eagle είναι σε αυτό το Instructable και μπορούν να μεταφορτωθούν στο επόμενο βήμα.

Βήμα 7: Ο σχεδιασμός PCB

Το σχέδιο PCB
Το σχέδιο PCB

Εδώ είναι το σχέδιο PCB μου. Όλα τα αρχεία Eagle για αυτόν τον πίνακα κυκλωμάτων είναι παρακάτω, ώστε να μπορείτε να χρησιμοποιήσετε ή να τροποποιήσετε αυτό το σχέδιο για να δημιουργήσετε το δικό σας PCB! Έχω προσθέσει μαξιλάρια SMD για τις επιπλέον 3 αναλογικές εισόδους, καθώς και τη θύρα 3V3 και GND. Αυτό θα μου επιτρέψει να επεκτείνω αυτό το σύστημα εάν χρειαστεί, εξοικονομώντας πόρους και χρόνο και κάνοντας το PCB ευέλικτο.

Βήμα 8: Το βάζουμε όλα μαζί

Το βάζουμε όλα μαζί
Το βάζουμε όλα μαζί

Αφού περίμενα μερικές μέρες, τελικά έλαβα τα PCB μου μέσω ταχυδρομείου. Τώρα ήρθε η ώρα για το διασκεδαστικό κομμάτι, κολλώντας το όλα μαζί! Ακολουθώντας το σχηματικό, η συγκόλληση του PCB ήταν αρκετά εύκολη. Στο σχέδιό μου, χρησιμοποίησα μια υποδοχή IC και θηλυκές κεφαλίδες για το πολυπλέκτη IC και το Node-MCU. Αυτό είναι έτσι ώστε να μπορώ να αφαιρέσω αυτά τα τσιπ Αν χρειαστεί να τα αντικαταστήσω ή να τα ξαναχρησιμοποιήσω. Εάν θέλετε έναν πιο αδύνατο παράγοντα φόρμας, μη διστάσετε να κολλήσετε τα τσιπ απευθείας στον πίνακα, αλλά να θυμάστε ότι θα είναι αρκετά δύσκολο να τα αφαιρέσετε αργότερα.

Βήμα 9: Συνδυάζοντας το γάντι

Βάζοντας μαζί το γάντι
Βάζοντας μαζί το γάντι

Για να εγκαταστήσω τους εύκαμπτους αισθητήρες στο γάντι, κόλλησα μικρούς σωλήνες από καουτσούκ στα δάχτυλα του γαντιού και τοποθέτησα τους αισθητήρες σε αυτά. Με αυτόν τον τρόπο οι αισθητήρες είχαν χώρο για κούνημα και μπορούσαν να αφαιρεθούν όταν χρειαστεί. Για να κρατήσω το PCB, το τοποθέτησα στο γάντι χρησιμοποιώντας κάποια ταινία velcro. Για άλλη μια φορά, όλα εξαρτώνται από εσάς. Μπορείτε να είστε δημιουργικοί!

Βήμα 10: Προγραμματισμός των εντολών

Τώρα που το υλικό έχει φροντιστεί, ήρθε η ώρα του λογισμικού. Για το γάντι σας, κατεβάστε τον παρακάτω κωδικό.

Για να λειτουργήσει ο κώδικας με την τηλεόρασή σας, πρέπει να αλλάξετε ορισμένους αριθμούς. Θυμάστε αυτούς τους αριθμούς που γράψατε; Τώρα ήρθε η ώρα να τα χρησιμοποιήσουμε. Εάν δεν έχετε τους αριθμούς, μην ανησυχείτε, είναι πολύ εύκολο να συλλέξετε αυτά τα σήματα. Απλώς επιστρέψτε στο Βήμα λήψης IR. Αντιγράψτε το σύνολο δεδομένων rawData και επικολλήστε το κάτω από το σχόλιο "PASTE DATA HERE" στον κώδικα. Μετονομάστε αυτό το σύνολο δεδομένων σε powerOn. Αντιγράψτε τον αριθμό δίπλα στο powerOn (στην περίπτωσή μου 95). Αυτός ο αριθμός είναι ο αριθμός των αριθμών στο σύνολο δεδομένων. Τώρα, μεταβείτε στο κάτω μέρος του κώδικα, κάτω από το σχόλιο, "DISPLAY POWER". Αντικαταστήστε το "95" με την τιμή που αντιγράψατε. Τώρα, ανεβάστε τον κωδικό σας στο Node-MCU και φορέστε το γάντι. Αν αντικρίζετε το χέρι σας προς την τηλεόραση και λυγίζετε το ένα σας δάχτυλο, η τηλεόρασή σας θα ανάψει!

Αυτό είναι εύκολα προσαρμόσιμο. Για να προσθέσετε περισσότερες λειτουργίες, απλώς προσθέστε περισσότερα σύνολα δεδομένων και αντιγράψτε και επικολλήστε τη συνάρτηση DISPLAY POWER και αλλάξτε τις πληροφορίες της στο αντίστοιχο σύνολο δεδομένων και τον αριθμό τιμών. Δεδομένου ότι κάθε αισθητήρας κάμψης είναι διαφορετικός, ίσως χρειαστεί να αλλάξετε τον αριθμό "310" έτσι ώστε να καταχωρείται όταν διπλώνεται το δάχτυλο. Μπορείτε ακόμη και να κάνετε χειρονομίες με πολλά δάχτυλα και "κύριους διακόπτες". Για παράδειγμα, προσάρμοσα τον κωδικό μου έτσι ώστε όταν λυγίζω το δάχτυλο και τον αντίχειρα, η ένταση της τηλεόρασης σβήνει και η πηγή αλλάζει. Οι δυνατότητες επέκτασης είναι άπειρες!

Βήμα 11: Έγινε

Εγινε!
Εγινε!
Εγινε!
Εγινε!

Ορίστε, ένα καθολικό τηλεχειριστήριο τηλεχειριζόμενης χειρονομίας! Ελπίζω να σας άρεσε αυτό το έργο και ελπίζω να με ψηφίσετε στο διαγωνισμό Epilog Laser. Εάν έχετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να γράψετε ένα σχόλιο και θα προσπαθήσω να απαντήσω. Για άλλη μια φορά, ελπίζω να σας άρεσε!

Συνιστάται: