Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Ηλεκτρικό κύκλωμα
- Βήμα 2: Συναρμολόγηση
- Βήμα 3: Προγραμματισμός
- Βήμα 4: Διαμόρφωση συντομεύσεων
- Βήμα 5: Βελτιώσεις
Βίντεο: Προγραμματιζόμενο πληκτρολόγιο: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Σε αυτό το έργο θα δείξω πώς να φτιάξετε σχετικά απλό και φθηνό προγραμματιζόμενο πληκτρολόγιο για τη χαρτογράφηση των πιο χρησιμοποιούμενων συντομεύσεων πληκτρολογίου, εφαρμογών και άλλων.
Αυτό το πληκτρολόγιο εντοπίζεται ως πληκτρολόγιο σε όλα τα μεγάλα λειτουργικά συστήματα, δεν απαιτούνται πρόσθετα προγράμματα οδήγησης.
Προμήθειες
- Περιστροφικός κωδικοποιητής.
- Πολλά (εξαρτάται από τις ανάγκες σας) κουμπιά.
- Arduino Pro Micro, Arduino Leonardo ή οποιαδήποτε άλλη πλακέτα dev με το Atmega32U4 MCU.
- Σύρμα, συγκόλληση, κολλητήρι κ.λπ.
- (Προαιρετικό) Κάποια βαριά βάση για να μην γλιστράει το πληκτρολόγιο, χρησιμοποιώ παλιό σκληρό δίσκο 3,5 ιντσών
Βήμα 1: Ηλεκτρικό κύκλωμα
Επέλεξα να χρησιμοποιήσω τον πίνακα Arduino Pro Micro dev με Atmega32U4 MCU που διαθέτει 18 ψηφιακές ακίδες που μπορούν να χρησιμοποιηθούν.
Οι καρφίτσες για τη σύνδεση κουμπιών και περιστροφικού κωδικοποιητή επιλέχθηκαν χωρίς ιδιαίτερη σειρά στο μυαλό, αλλά πρέπει να σημειωθούν ορισμένα πράγματα:
- Όλοι οι ακροδέκτες με δυνατότητα ανάγνωσης έχουν εσωτερικά pull-ups που επιτρέπουν τον μετριασμό των εξωτερικών αντιστάσεων έλξης. Φυσικά, ο κώδικας πρέπει να ενημερώνεται ανάλογα, επειδή αναμένει ότι η κατάσταση του πείρου θα πάει από χαμηλή σε υψηλή όταν πατηθούν τα κουμπιά.
- Στο παράδειγμα της βιβλιοθήκης encoder.h σημειώθηκε ότι η καλύτερη απόδοση του κωδικοποιητή επιτυγχάνεται όταν και οι δύο ακίδες που είναι συνδεδεμένες στο MCU διακόπτουν τις ικανές ακίδες. Οι περισσότερες αναλογικές ακίδες του Atmega32U4 δεν έχουν δυνατότητα διακοπής.
- Οι ακριβείς τιμές αντίστασης πτυσσόμενων δεν έχουν μεγάλη σημασία, οτιδήποτε από 1 kΩ έως 100 kΩ θα λειτουργήσει καλά. Μεγαλύτερες τιμές αντίστασης επιτρέπουν μικρότερη διάχυση ισχύος, αλλά έχουν ως αποτέλεσμα βραδύτερη απόκριση ακίδων στις αλλαγές τάσης. Απλώς επιλέξτε όποιες αντιστάσεις έχετε περισσότερο.
- Οι μηχανικοί κωδικοποιητές δεν είναι τα πιο αξιόπιστα πράγματα λόγω της φθοράς και της αναπήδησης της επαφής. Αυτός είναι ο λόγος για τον οποίο απαιτείται μια καλή λύση κατάργησης. Οι επιλεγμένες τιμές πυκνωτή και οι χρόνοι καθυστέρησης στον κώδικα πιθανότατα δεν θα σας προσφέρουν τα καλύτερα αποτελέσματα. Απαιτείται λοιπόν λίγο πειραματισμός. Or μεταβείτε σε κάτι σαν οπτικό κωδικοποιητή, αλλά η τιμή του είναι σημαντικά υψηλότερη.
Βήμα 2: Συναρμολόγηση
Wantedθελα να κάνω το πληκτρολόγιο όσο το δυνατόν πιο καθαρό, έτσι συγκολλούσα όλα τα εξαρτήματα στο πίσω μέρος του πρωτοτύπου. Σκέφτηκα ότι το πληκτρολόγιο θα ήταν πιο εργονομικό αν χρησιμοποιηθεί ανυψωμένο σε μικρή γωνία. Αυτός είναι ο λόγος για τον οποίο κόλλησα το Arduino Pro Micro σε ξεχωριστή πλακέτα και συνέδεσα όλες τις ψηφιακές ακίδες με σύρμα για να πιέσω τα κουμπιά. Είναι πιο βολικό να συνδέσετε το καλώδιο USB με αυτόν τον τρόπο.
Βρήκα τον παλιό σκληρό δίσκο 3,5 ιντσών να χρησιμοποιηθεί ως βάση για το πληκτρολόγιο, είναι αρκετά βαρύς και αποτρέπει την ολίσθηση του πίνακα κατά μήκος του γραφείου κατά τη λειτουργία (τα αντιολισθητικά μαξιλαράκια βοηθούν επίσης). Επίσης διαθέτει βολικές οπές βιδών 3 mm στις οποίες βίδωσα ορειχάλκινες προεξοχές και σταθεροποίησε τον πίνακα σε μικρή γωνία.
Βήμα 3: Προγραμματισμός
Ο κωδικός είναι γραμμένος με το Arduino IDE. Θα χρειαστεί να εγκαταστήσετε 2 βιβλιοθήκες:
- Κωδικοποιητής από τον Paul Stoffregen
- Πληκτρολόγιο από Arduino
Για να μεταγλωττίσετε το Atmega32U4 πρέπει επίσης να εγκαταστήσετε το αρχείο πλακέτας Arduino Pro Micro, το Sparkfun έχει υπέροχο σεμινάριο πώς να το κάνετε αυτό.
Ένα πράγμα που πρέπει να σημειώσετε εκ των προτέρων είναι να είστε προσεκτικοί ώστε να μην αφήσετε "κλειδιά πατημένα" στον κωδικό σας. Αυτό συνέβη σε μένα και ο MCU έκανε συνεχώς ανεπιθύμητη αλληλογραφία σε συνδυασμό πλήκτρων τύπου. Ο μόνος τρόπος που γνωρίζω πώς να το διορθώσω αυτό είναι να ξαναγράψω τον boot-loader σε MCU. Εάν καταλήξετε όπως εγώ, μπορείτε να ακολουθήσετε αυτόν τον οδηγό για να κάψετε boot-loader, θα χρειαστείτε έναν άλλο πίνακα arduino για να χρησιμοποιήσετε ως προγραμματιστή.
Στον κύριο βρόχο, το MCU διαβάζει πρώτα κάθε κατάσταση κουμπιού, εάν ανιχνευτεί αλλαγή κατάστασης από LOW σε HIGH, εκτελείται η λειτουργία keyboard_shortcut (i). Η μεταβλητή i είναι ένα αναγνωριστικό του πατημένου κουμπιού, ο αριθμός πλήρους κουμπιού καθορίζεται από ALL_BUTTONS (στην περίπτωσή μου 15). Όταν εκτελείται, το keyboard_shortcut (i) στέλνει CTRL+SHIFT και στη συνέχεια ένα γράμμα που αντιστοιχεί στο id του κουμπιού: 1-> A, 2-> B, 3-> C κ.λπ. Μερικοί συνδυασμοί όπως CTRL+SHIFT+N παραλείπονται επειδή είναι χρησιμοποιείται ήδη από προεπιλογή στα Windows 10 (σε αυτήν την περίπτωση για τη δημιουργία νέου φακέλου). Ακολουθεί η λίστα με όλες τις προεπιλεγμένες συντομεύσεις των Windows. Μετά από σύντομη καθυστέρηση, το MCU στέλνει σήμα για να απελευθερώσει όλα τα πλήκτρα και η λειτουργία εξέρχεται πίσω στον κύριο βρόχο.
Αφού ελεγχθούν όλα τα κουμπιά, το MCU ελέγχει αν έχει αλλάξει η θέση του περιστροφικού κωδικοποιητή και αν αλλάξει, το keyboard_shortcut (i) εκτελείται με μοναδικό αναγνωριστικό.
Κουμπί κωδικοποίησης πατήστε αντιστρέφει τον κωδικοποιητή ΚουμπίΑυτή μεταβλητή. Όταν περιστρέφεται ο κωδικοποιητής, αποστέλλεται διαφορετική συντόμευση στον υπολογιστή, ανάλογα με την κατεύθυνση περιστροφής και την τιμή του κωδικοποιητήButtonFlag.
Εάν το debugFlag έχει οριστεί σε 1, τα μηνύματα εντοπισμού σφαλμάτων αποστέλλονται μέσω UART στη σειριακή οθόνη.
Βήμα 4: Διαμόρφωση συντομεύσεων
Αυτό που κάνει κάθε συντόμευση εξαρτάται από εσάς, όλοι έχουμε διαφορετικές προτιμήσεις. Θα δώσω τις συντομεύσεις που διαμόρφωσα για τον εαυτό μου ως παράδειγμα. Χρησιμοποιώ Linux Mint 19.3 με διαχειριστή επιφάνειας εργασίας xfce4, οπότε τα παραδείγματά μου αφορούν κυρίως σενάρια bash, αλλά θα δείξω μερικά βασικά παραδείγματα και για τα Windows 10.
Στην πρώτη εικόνα μπορείτε να δείτε σε ποιες δέσμες ενεργειών αντιστοιχίσα σε ποιες συντομεύσεις. Γίνεται από το μενού ρυθμίσεων xfce, η διαδικασία για αυτό είναι απλή. Μπορείτε να βρείτε αυτά τα σενάρια στο αποθετήριο GitHub μου
Μικρότερα 6 κουμπιά στο κάτω μέρος είναι για την εκκίνηση εφαρμογών όπως πρόγραμμα περιήγησης ιστού ή διαχειριστή αρχείων, μερικές από αυτές τις εφαρμογές ονομάζονται από το σενάριο start_only_one_app.sh, το οποίο παίρνει όλα τα ονόματα των εφαρμογών που ξεκινούν και αναζητά την εφαρμογή που θέλετε να ξεκινήσετε. Εάν υπάρχει ήδη παράθυρο εφαρμογής, εστιάζεται, αλλιώς ξεκινά νέα παρουσία μιας εφαρμογής.
Άλλα σενάρια:
- 2nd_display_control.sh - ενεργοποιεί/απενεργοποιεί τη δεύτερη οθόνη.
- moon_lamp.sh - ενεργοποιεί/απενεργοποιεί το Moon Lamp μου.
- pc_load.sh - δημιουργεί συννεφάκι ειδοποιήσεων με την τρέχουσα χρήση και τις θερμοκρασίες της CPU και της GPU.
- shutdown.sh - προετοιμάζει το κλείσιμο του υπολογιστή με 1 λεπτό καθυστέρηση και δημιουργεί μια φούσκα ειδοποιήσεων στην οποία εμφανίζεται ο υπολειπόμενος χρόνος.
- spec_vpn.sh - συνδέεται με συγκεκριμένο διακομιστή OpenVPN ή εάν υπάρχει ήδη σύνδεση, αποσυνδέεται από το διακομιστή.
- shortcut_controll.sh - λαμβάνει την εντολή (συν, πλην, καρτέλα, κλείσιμο) ως επιχείρημα, ανιχνεύει ποιο παράθυρο είναι τώρα εστιασμένο και αν συγκεκριμένη εφαρμογή βρεθεί ενεργή εκτελεί ενέργεια ελέγχου. Για παράδειγμα, για να ανοίξετε μια νέα καρτέλα στον εκλεκτό επεξεργαστή κειμένου, η προεπιλεγμένη συντόμευση είναι "CTRL+N" και στο τερματικό xfce - "CTRL+T", οπότε αυτό το σενάριο επιτρέπει να ανοίξετε νέα καρτέλα σε υψηλά και τερματικά με το ίδιο κουμπί.
Η πρώτη λειτουργία του περιστροφικού κωδικοποιητή είναι να ελέγχει την ένταση, η δεύτερη λειτουργία είναι να ελέγχει το ενεργό ζουμ παραθύρου μέσω του shortcut_controll.sh.
Για λειτουργικό σύστημα Windows, μπορείτε να αντιστοιχίσετε συντομεύσεις σε εφαρμογές μέσω του παραθύρου ιδιοτήτων προγράμματος, όπως φαίνεται στη δεύτερη εικόνα. Για οτιδήποτε άλλο θέλετε να χρησιμοποιήσετε το AutoHotkey. Είναι γλώσσα δέσμης ενεργειών αυτοματοποίησης για Windows.
Μερικά απλά παραδείγματα σύνταξης AHK:
;Ελεγχος έντασης
^+t:: Αποστολή {Volume_Up}
ΕΠΙΣΤΡΟΦΗ
^+v:: Αποστολή {Volume_Down}
ΕΠΙΣΤΡΟΦΗ
Κλείσιμο ενεργού παραθύρου
^+h:: WinGetTitle, Title, A
PostMessage, 0x112, 0xF060,,, %Title %
ΕΠΙΣΤΡΟΦΗ
;Κλείσιμο υπολογιστή
^+b:: Εκτέλεση τερματισμού λειτουργίας
Βήμα 5: Βελτιώσεις
Μερικές πιθανές βελτιώσεις:
- Κουμπιά καλύτερης ποιότητας.
- Το πρωτότυπο PCB κάμπτεται πολύ όταν πατάτε τα κουμπιά.
- Ο φωτισμός RGB αλλάζει χρώμα ανάλογα με τη λειτουργία που έχει οριστεί ο περιστροφικός κωδικοποιητής.
- Περισσότερα κουμπιά (χρησιμοποιήστε IO expander IC).
- Καλύτερος περιστροφικός κωδικοποιητής (ή καλύτερη λύση απεμπλοκής).
Συνιστάται:
Εύκολο προγραμματιζόμενο σύστημα ποτίσματος με Arduino: 4 βήματα
Εύκολο προγραμματιζόμενο σύστημα ποτίσματος με Arduino: Αυτό το έργο θα κρατήσει τα φυτά σας ζωντανά, χωρίς καμία παρέμβαση για αρκετές ημέρες ή και εβδομάδες. Συνοψίζοντας, είναι ένα εύκολο προγραμματιζόμενο σύστημα ποτίσματος, που τροφοδοτείται από το Arduino. Αν σας αρέσουν τα ηλεκτρονικά και τα εργοστάσια, αυτό το έργο είναι σχεδιασμένο για εσάς. Είναι aime
Χαρτόνι προγραμματιζόμενο πληκτρολόγιο: 8 βήματα (με εικόνες)
Χαρτόνι προγραμματιζόμενο πληκτρολόγιο: Καθώς η τεχνολογία εξελίσσεται, οι άνθρωποι θέλουν τα πράγματα να γίνονται όλο και πιο εικονικά, ωστόσο μερικές φορές είναι πιο πρακτικό και βολικό να έχετε κάτι φυσικό που μπορείτε πραγματικά να αγγίξετε και να αλληλεπιδράσετε με τα χέρια σας. Ένα παράδειγμα
Προγραμματιζόμενο τροφοδοτικό 42V 6A: 6 βήματα (με εικόνες)
Προγραμματιζόμενο τροφοδοτικό 42V 6A: Το νέο μου έργο ήταν εμπνευσμένο από προγραμματιζόμενη τροφοδοσία, μονάδα Ruideng. Είναι φανταστικό, πολύ ισχυρό, ακριβές και σε λογική τιμή. Υπάρχουν λίγα διαθέσιμα μοντέλα, σχετικά με την τάση εξόδου και το ρεύμα. Τα νεότερα είναι εξοπλισμένα με συν
Γρήγορο και βρώμικο πληκτρολόγιο Das (κενό πληκτρολόγιο): 3 βήματα
Πληκτρολόγιο Quick and Dirty (Blank Keyboard): Ένα πληκτρολόγιο Das είναι το όνομα του πιο δημοφιλούς πληκτρολογίου χωρίς επιγραφές στα πλήκτρα (κενό πληκτρολόγιο). Το πληκτρολόγιο Das πωλείται για 89,95 $. Αυτό το διδακτικό θα σας καθοδηγήσει αν και να το φτιάξετε μόνοι σας με οποιοδήποτε παλιό πληκτρολόγιο έχετε
Προγραμματιζόμενο ρολόι με οθόνη τεσσάρων χαρακτήρων: 5 βήματα (με εικόνες)
Προγραμματιζόμενο ρολόι με οθόνη τεσσάρων χαρακτήρων: Θα είστε ο λόγος της πόλης όταν φοράτε αυτό το αντιπαθητικό, υπερμεγέθη, εντελώς μη πρακτικό ρολόι χειρός. Προβάλετε την αγαπημένη σας βρώμικη γλώσσα, στίχους τραγουδιών, πρώτους αριθμούς κλπ. Εμπνευσμένο από το κιτ Microreader, αποφάσισα να φτιάξω ένα γιγάντιο ρολόι χρησιμοποιώντας