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

DIY Bluetooth Macro Keypad: 10 βήματα (με εικόνες)
DIY Bluetooth Macro Keypad: 10 βήματα (με εικόνες)

Βίντεο: DIY Bluetooth Macro Keypad: 10 βήματα (με εικόνες)

Βίντεο: DIY Bluetooth Macro Keypad: 10 βήματα (με εικόνες)
Βίντεο: Η γκουγκου δεν σεβεται τον πατερα της 2024, Νοέμβριος
Anonim
DIY Bluetooth Macro Keypad
DIY Bluetooth Macro Keypad

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

Το Bluetooth HID (Human Interface Device) είναι το πρωτόκολλο που χρησιμοποιείται από το κανονικό πληκτρολόγιο Bluetooth και τα ποντίκια και είναι δυνατόν να το μιμηθούμε με ένα ESP32, το οποίο είναι υπέροχο!

Με ορισμένους πίνακες ανάπτυξης ESP32 που ξεκινούν από λιγότερο από $ 5*, αυτός είναι ένας πραγματικά φθηνός και απλός τρόπος δημιουργίας ασύρματων προσαρμοσμένων πληκτρολογίων, όπως πληκτρολόγια μακροεντολών. Τα πληκτρολόγια μακροεντολών μπορούν να χρησιμοποιηθούν για τον έλεγχο διαφόρων εφαρμογών, όπως επεξεργαστές βίντεο ή Photoshop, προσωπικά χρησιμοποιώ τη δική μου για τον έλεγχο σκηνών στο OBS όταν δημιουργώ βίντεο ή κάνω ροή.

Θα εξετάσουμε πρώτα πώς να χρησιμοποιήσουμε τη βιβλιοθήκη πληκτρολογίου ESP32 HID και στη συνέχεια θα σας δείξω πώς το χρησιμοποίησα αυτό για την κατασκευή ενός πληκτρολογίου Bluetooth Macro που λειτουργεί με μπαταρία.

Προμήθειες

  • TinyPICO ESP32 Dev board (Οποιοδήποτε ESP32 μπορεί να λειτουργήσει)
  • Πληκτρολόγιο 4*4 Matrix*

Θα χρειαστείτε επίσης μια μπαταρία λιπό, απλώς χρησιμοποίησα μια τυχαία που είχα τοποθετήσει για να μην μπορώ να την συνδέσω!

Εάν ο υπολογιστής σας δεν διαθέτει Bluetooth, μπορείτε να χρησιμοποιήσετε ένα dongle όπως αυτό:

Amazon.co.uk*:

Amazon.com*:

Amazon.de*:

* = Συνεργάτης

Βήμα 1: Δείτε το βίντεο

Image
Image

Έχω κάνει ένα βίντεο που καλύπτει το ίδιο πράγμα με αυτό το Instructable, οπότε αν σας ενδιαφέρει, ελέγξτε το! Κάνω επίσης βίντεο γύρω από έργα ESP8266 και ESP32 τακτικά, οπότε ίσως υπάρχουν άλλα βίντεο στο κανάλι μου που μπορεί να σας φανούν ενδιαφέροντα!

Βήμα 2: [Προαιρετικό] Ξεκινώντας με ένα ESP32

Τα ESP32 είναι μικροελεγκτές που είναι συμβατοί με το Arduino IDE και συνοδεύονται από WiFi και Bluetooth. Είναι επίσης αρκετά φθηνά, επομένως είναι πολύ χρήσιμα τσιπ για τα έργα σας.

Θα χρειαστεί να προσθέσετε τον ορισμό της πλακέτας ESP32 στο Arduino IDE σας, σε αυτό μπορείτε να ακολουθήσετε τα βήματα που αναφέρονται στη σελίδα Github του έργου ESP32 Arduino

Βήμα 3: Εγκατάσταση της βιβλιοθήκης πληκτρολογίου ESP32 Ble

Εγκατάσταση της βιβλιοθήκης πληκτρολογίου ESP32 Ble
Εγκατάσταση της βιβλιοθήκης πληκτρολογίου ESP32 Ble
Εγκατάσταση της βιβλιοθήκης πληκτρολογίου ESP32 Ble
Εγκατάσταση της βιβλιοθήκης πληκτρολογίου ESP32 Ble

Είναι δυνατή η χρήση του Bluethooth HID στο ESP32 χωρίς εξωτερική βιβλιοθήκη, αλλά ο χρήστης του Github T-Vk έχει γράψει μια βιβλιοθήκη που ονομάζεται ESP32-BLE-Keyboard και την καθιστά περισσότερο σαν την τυπική βιβλιοθήκη πληκτρολογίου Arduino που την καθιστά πολύ πιο εύκολη στη χρήση.

Αυτή η βιβλιοθήκη δεν είναι διαθέσιμη στον διαχειριστή βιβλιοθήκης, οπότε θα πρέπει να την κατεβάσετε από το Github.

  • Μεταβείτε στη σελίδα εκδόσεων έργων και κάντε λήψη του πιο πρόσφατου ESP32-BLE-Keyboard.zip
  • Μόλις το κατεβάσετε, μπορείτε να το προσθέσετε στο Arduino IDE, αλλά πηγαίνοντας στο Sketch-> Include Library και μετά προσθέστε Zip στη βιβλιοθήκη και επιλέξτε το ESP32-BLE-Keyboard.zip από το προηγούμενο βήμα.

Βήμα 4: Κοιτάζοντας το Παράδειγμα

Κοιτάζοντας το Παράδειγμα
Κοιτάζοντας το Παράδειγμα
Κοιτάζοντας το Παράδειγμα
Κοιτάζοντας το Παράδειγμα
Κοιτάζοντας το Παράδειγμα
Κοιτάζοντας το Παράδειγμα

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

Μπορείτε να αποκτήσετε πρόσβαση στο παράδειγμα μεταβαίνοντας στο Αρχείο -> Παραδείγματα -> Πληκτρολόγιο ESP32 BLE -> SendKeyStrokes

Ρύθμιση σύνδεσης Bluetooth

Κατά τη ρύθμιση ξεκινά η σύνδεση Bluetooth, σε αυτό το στάδιο θα πρέπει να είναι διαθέσιμο για σύζευξη στη συσκευή σας.

bleKeyboard.begin ();

Μέσα στο βρόχο ελέγχει επίσης εάν είναι συνδεδεμένο σε μια συσκευή

bleKeyboard.isConnected ()

Πληκτρολόγηση

Το πρώτο πράγμα που δείχνει το παράδειγμα είναι πώς μπορείτε να πληκτρολογήσετε κείμενο μόλις συνδεθεί, θα πληκτρολογήσει πρώτα "Hello world" χρησιμοποιώντας

bleKeyboard.print ("Hello world");

Πατά ένα κουμπί

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

bleKeyboard.write (KEY_RETURN);

Μπορείτε να ανοίξετε το αρχείο BleKeyboard.h της βιβλιοθήκης για να δείτε όλα τα κλειδιά που ορίζονται έτσι. Μπορείτε επίσης να στείλετε χαρακτήρες ascii τοποθετώντας τους σε μεμονωμένα κόμματα.

bleKeyboard.write ('A');

Κλειδιά πολυμέσων

Δείχνει επίσης πώς μπορείτε να στείλετε κλειδιά πολυμέσων, αυτό είναι παρόμοιο με το πώς μπορείτε να ελέγξετε την ένταση ή να παραλείψετε κομμάτια με τα ακουστικά Bluetooth σας. Το παράδειγμα δείχνει το κλειδί αναπαραγωγής/παύσης, αλλά και πάλι μπορείτε να ανοίξετε το BleKeyboard.h για να δείτε τις άλλες διαθέσιμες επιλογές.

bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);

Πατώντας και αφήνοντας τα πλήκτρα

Το τελευταίο πράγμα που μας δείχνει το παράδειγμα είναι πώς μπορείτε να πατήσετε και να κρατήσετε πατημένα τα πλήκτρα, αυτό είναι χρήσιμο για τη δημιουργία πληκτρολογίων μακροεντολών. Το παράδειγμα που φαίνεται εδώ είναι για Ctrl + Alt + Delete

bleKeyboard.press (KEY_LEFT_CTRL);

bleKeyboard.press (KEY_LEFT_ALT);

bleKeyboard.press (KEY_DELETE);

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

bleKeyboard.releaseAll ();

Μπορείτε επίσης να απελευθερώσετε συγκεκριμένα κλειδιά εάν θέλετε είτε χρησιμοποιώντας την εντολή απελευθέρωσης με το κλειδί που θέλετε να αφήσετε

bleKeyboard.release (KEY_DELETE);

Βήμα 5: Άλλες συμβουλές για τη βιβλιοθήκη

Άλλες συμβουλές για τη βιβλιοθήκη
Άλλες συμβουλές για τη βιβλιοθήκη
Άλλες συμβουλές για τη βιβλιοθήκη
Άλλες συμβουλές για τη βιβλιοθήκη
Άλλες συμβουλές για τη βιβλιοθήκη
Άλλες συμβουλές για τη βιβλιοθήκη

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

Χρησιμοποιήστε μια εξωτερική σκανδάλη

Είναι πάντα καλύτερο να ελέγχετε μια συσκευή HID όπως αυτή χρησιμοποιώντας μια εξωτερική σκανδάλη, όπως το πάτημα ενός κουμπιού. Εάν χρησιμοποιείτε χρονοδιακόπτη και κάτι πάει στραβά, μπορεί να είναι δύσκολο να αποσυνδεθείτε. Φανταστείτε ότι πρέπει να προσπαθήσετε να απενεργοποιήσετε το Bluetooth σας εάν το προγραμματίσατε κατά λάθος να πατά Ctrl+Alt+Del κάθε 100mS!

Αλλαγή ονόματος συσκευής

Από προεπιλογή, το όνομα της συσκευής θα εμφανίζεται ως "Πληκτρολόγιο ESP32 BLE", αυτό μπορεί να αλλάξει όταν δημιουργείτε μια παρουσία της βιβλιοθήκης. Μπορείτε να ορίσετε το όνομα της συσκευής, τον κατασκευαστή και το αρχικό επίπεδο μπαταρίας.

BleKeyboard bleKeyboard ("Όνομα συσκευής Bluetooth", "Κατασκευαστής συσκευών Bluetooth", 100);

Ρύθμιση της στάθμης της μπαταρίας (δεν λειτουργεί για μένα τουλάχιστον)

Η βιβλιοθήκη ισχυρίζεται ότι μπορείτε επίσης να ορίσετε το επίπεδο της μπαταρίας, αλλά δεν λειτούργησε για μένα στον υπολογιστή με Windows (παρέμεινε με την αρχική τιμή) και το τηλέφωνό μου Android δεν έδειξε το επίπεδο όλων. Εδώ είναι η εντολή για αυτό σε περίπτωση που λειτουργεί για εσάς

bleKeyboard.setBatteryLevel (50)

Συμβατότητα συσκευής

Έτρεξα με επιτυχία το παράδειγμα στον υπολογιστή μου Windows 10, στο τηλέφωνο Android και στο Mac μου (αν και εξακολουθεί να λειτουργεί με κάποιο τρόπο το Sierra!)

Μπορεί επίσης να συνδεθεί μόνο με μία συσκευή κάθε φορά.

Αντιμετώπιση προβλημάτων Σύζευξη

Εάν αντιμετωπίζετε προβλήματα με τη σύζευξη, δοκιμάστε να κάνετε επανεκκίνηση του ESP32 ενώ η συσκευή σας πραγματοποιεί αναζήτηση. Επίσης, μια φορά έπρεπε να ενεργοποιήσω και να απενεργοποιήσω το bluetooth μου στον υπολογιστή μου για να το συνδυάσω.

Βήμα 6: Το πληκτρολόγιο μακροεντολών

Το πληκτρολόγιο μακροεντολών
Το πληκτρολόγιο μακροεντολών
Το πληκτρολόγιο μακροεντολών
Το πληκτρολόγιο μακροεντολών
Το πληκτρολόγιο μακροεντολών
Το πληκτρολόγιο μακροεντολών
Το πληκτρολόγιο μακροεντολών
Το πληκτρολόγιο μακροεντολών

Τώρα που έχουμε τα βασικά εκτός δρόμου, ας κάνουμε κάτι πρακτικό από αυτό!

Σε έναν προηγούμενο οδηγό έδειξα πώς να φτιάξετε το απλούστερο πληκτρολόγιο Macro από ένα Arduino pro Micro και φθηνό πληκτρολόγιο. Για κάθε κουμπί στο πληκτρολόγιο στέλνει έναν διαφορετικό συνδυασμό κουμπιού που θα μπορούσε να χρησιμοποιηθεί για τον έλεγχο εφαρμογών, προσωπικά το χρησιμοποιώ για το OBS, το λογισμικό που χρησιμοποιώ για την εγγραφή βίντεο και για τη ροή. Αυτό φαίνεται σαν ένα καλό έργο για τη μεταφορά του ESP32, ώστε να μπορούμε να δημιουργήσουμε μια ασύρματη έκδοση.

Για αυτήν την κατασκευή, θα χρησιμοποιήσω την πλακέτα TinyPICO ESP32 της Unexpected Maker. Ο κύριος λόγος για την επιλογή του είναι ένας πολύ αποδοτικός πίνακας και έχει ενσωματωμένο το κύκλωμα για την εκκίνηση και τη φόρτιση μιας μπαταρίας Lipo, οπότε το μόνο που χρειάζεται να κάνω είναι να συνδέσω μια μπαταρία.

Θα έλεγα ψέματα αν το γεγονός ότι έχει την ίδια απόσταση μεταξύ των σειρών με το Pro Micro και θα μπορούσα να χρησιμοποιήσω τον ήδη κατασκευασμένο πίνακα breakout που έφτιαξα προηγουμένως δεν ήταν επίσης ελκυστικό!

Το πληκτρολόγιο απαιτεί 8 καρφίτσες GPIO για να λειτουργήσει και το TinyPICO έχει 8 καρφίτσες GPIO στη σειρά, οπότε θα τις χρησιμοποιήσουμε. Μπορείτε απλά να συνδέσετε το πληκτρολόγιο στο TinyPICO όπως φαίνεται στην παραπάνω εικόνα.

Βήμα 7: Κωδικοποιήστε το πληκτρολόγιο μακροεντολών

Κωδικός για το πληκτρολόγιο μακροεντολών
Κωδικός για το πληκτρολόγιο μακροεντολών
Κωδικός για το πληκτρολόγιο μακροεντολών
Κωδικός για το πληκτρολόγιο μακροεντολών

Ο κωδικός για το σκίτσο του πληκτρολογίου μακροεντολών βρίσκεται στο Github μου.

Εκτός από τη βιβλιοθήκη BleKeyboard που εγκαταστάθηκε σε προηγούμενο βήμα, θα χρειαστεί επίσης να εγκαταστήσετε τη βιβλιοθήκη για το πληκτρολόγιο, μπορείτε να το κάνετε ανοίγοντας τον διαχειριστή βιβλιοθήκης πηγαίνοντας στο Sketch -> Include Library -> Manage Libraries

Μέσα στον διαχειριστή της βιβλιοθήκης, αναζητήστε "πληκτρολόγιο" και εγκαταστήστε αυτό των Mark Stanley και Alexander Brevig

Μια διαμόρφωση που μπορεί να χρειαστεί να κάνετε εάν χρησιμοποιείτε διαφορετικό ESP32 από το TinyPICO που είναι οι ακίδες του πληκτρολογίου, που ορίζονται στη σειρά rowPins και colPins. Όταν κοιτάζετε το μπροστινό μέρος του πληκτρολογίου και ξεκινάτε από τα αριστερά, οι πρώτες 4 καρφίτσες είναι οι καρφίτσες της σειράς και οι δεύτερες 4 οι ακίδες.

Μόλις γίνει αυτό, ανεβάστε τον κωδικό στον πίνακα και πρέπει να δοκιμάσετε σε αυτό το στάδιο ότι λειτουργεί.

Βήμα 8: Ας το κάνουμε ασύρματο

Ας το κάνουμε ασύρματο!
Ας το κάνουμε ασύρματο!
Ας το κάνουμε ασύρματο!
Ας το κάνουμε ασύρματο!
Ας το κάνουμε ασύρματο!
Ας το κάνουμε ασύρματο!
Ας το κάνουμε ασύρματο!
Ας το κάνουμε ασύρματο!

Όπως αναφέρθηκε προηγουμένως, το TinyPICO διαθέτει ενσωματωμένο κύκλωμα χειρισμού ενός Lipo, οπότε το μόνο που χρειάζεται να κάνουμε είναι να το συνδέσουμε. Έρχεται με συνδέσμους JST που μπορούν να κολληθούν στο κάτω μέρος ή μπορείτε να χρησιμοποιήσετε τις καρφίτσες Bat και GND αν θέλετε να το κάνετε μέσω των καρφιτσών.

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

Ελέγξτε την τάση της μπαταρίας λιπό σας πριν τη χρησιμοποιήσετε, μια υγιής ζύμη πρέπει να είναι 3V ή μεγαλύτερη, η μπαταρία που βρήκα με τη σωστή υποδοχή JST διάβαζε 0V!

Κατέληξα να χρησιμοποιώ μια κυψέλη 18650 σε μια θήκη και την κόλλησα στην υποδοχή JST της νεκρής μπαταρίας.

Το TinyPICO μειώνει την κατανάλωση ενέργειας όταν εξαντλείται η μπαταρία χωρίς να τροφοδοτεί κανένα από τα LED του, οπότε ακόμα κι αν δεν φαίνεται, ελπίζουμε ότι είναι! Μια μελλοντική βελτίωση του έργου μπορεί να είναι η παλμός του ενσωματωμένου LED dotstar κατά την εκκίνηση μόνο για να σας ενημερώσει ότι πραγματικά έχει ενεργοποιηθεί και ίσως ξανά όταν συνδεθεί. Προς το παρόν, μπορείτε να ελέγξετε στο μενού Bluetooth των συστημάτων σας ότι είναι ενεργοποιημένο και συνδεδεμένο εντάξει.

Βήμα 9: Δοκιμάστε το

Δοκιμάζοντάς το!
Δοκιμάζοντάς το!

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

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

Βήμα 10: Ευχαριστώ για την ανάγνωση

Ας ελπίσουμε ότι βρήκατε χρήσιμο αυτό το Instructable. Θα ήθελα πολύ να ακούσω τι θα κάνατε με αυτό το είδος εγκατάστασης. Παρακαλώ ενημερώστε με στα παρακάτω σχόλια ή ελάτε μαζί μου και μια ομάδα άλλων δημιουργών στον διακομιστή μου Discord, όπου μπορούμε να συζητήσουμε αυτό το θέμα ή οποιοδήποτε άλλο σχετικό με τους κατασκευαστές που έχετε, οι άνθρωποι είναι πραγματικά εξυπηρετικοί εκεί, οπότε είναι ένα εξαιρετικό μέρος για να κολλήσετε έξω

Θα ήθελα επίσης να ευχαριστήσω πολύ τους Χορηγούς Github που με βοηθούν να υποστηρίξω αυτό που κάνω, το εκτιμώ πραγματικά. Εάν δεν γνωρίζετε, η Github ταιριάζει με χορηγίες για το πρώτο έτος, οπότε αν κάνετε χορηγία θα ταιριάξουν 100% για τους επόμενους μήνες.

Ευχαριστώ για την ανάγνωση!

Συνιστάται: