Πίνακας περιεχομένων:
- Βήμα 1: Προετοιμασία
- Βήμα 2: Σχεδιάστε τη διάταξη κουτιού
- Βήμα 3: Μετρήστε και τρυπήστε
- Βήμα 4: Προσαρμόστε τα κουμπιά, τα περιστροφικά και τα εναλλακτικά
- Βήμα 5: Σχεδιάστε τη διάταξη καλωδίωσης
- Βήμα 6: Συγκόλληση
- Βήμα 7: Γράφοντας τον Κώδικα
- Βήμα 8: Προσθέστε στο εξοπλισμό σας
Βίντεο: Sim Racing Button Box: 8 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Καλώς ήλθατε στους εξαρτημένους αγώνες αγώνων sim!
Σας εξαντλούνται τα πλήκτρα για να αντιστοιχίσετε όλα τα χειριστήρια του αυτοκινήτου σας; Μάλλον χρειάζεστε ένα κουτί κουμπιών! Σε αυτό το Instructable θα δημιουργήσουμε ένα από την αρχή. Το κουτί κουμπιών θα έχει 32 (!) Διαθέσιμες καταστάσεις κουμπιών. Δεν απαιτείται πρόσθετο λογισμικό για τη χρήση αυτού του κουτιού κουμπιών. Θα μάθετε πώς μπορείτε να ρυθμίσετε μια μήτρα κουμπιών και να γράψετε (ή να αντιγράψετε) κώδικα για μεταφόρτωση στο Arduino σας.
Είναι σημαντικό να γνωρίζετε ότι το κουτί κουμπιών δεν υποστηρίζει πολλά ταυτόχρονα πατημένα κουμπιά.
Ας αρχίσουμε!
Βήμα 1: Προετοιμασία
Θα χρειαστείτε κάποια εργαλεία, κουμπιά και περισσότερα στοιχεία για να δημιουργήσετε το κουτί κουμπιών. Μη διστάσετε να δημιουργήσετε το κουτί κουμπιών σύμφωνα με τις επιθυμίες σας.
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ:
- Κουμπιά
- Toggles
- Περιστροφικοί κωδικοποιητές
- Arduino Pro Micro
- Μίνι καλώδιο USB σε USB
- Καλώδια
Εργαλεία:
- Τρυπάνι
- Κόλλα μετάλλων
- Διαβήτης
- Κατσαβίδια
- Κόπτης
- γαλλικο ΚΛΕΙΔΙ
Λογισμικό:
- Arduino IDE
- Photoshop/Paint (προαιρετικό, μπορεί να σχεδιαστεί με το χέρι)
Αλλα:
- Περίβλημα (κουτί, μπορεί να αγοραστεί ή να προσαρμοστεί τυποποιημένα σε 3D)
- Περιτύλιγμα από βινύλιο άνθρακα (προαιρετικό)
- Περιστροφικά κουμπιά κωδικοποιητή
- Διακόπτες καλύψεων (προαιρετικά)
- Ετικέτα εκτυπωτή (προαιρετικό)
- Καουτσούκ γωνία
Μόλις έχετε όλα (ή αρκετά για να ξεκινήσετε) τα στοιχεία, μπορούμε να αρχίσουμε να σχεδιάζουμε τη διάταξη του κουτιού κουμπιών.
Βήμα 2: Σχεδιάστε τη διάταξη κουτιού
Εργαλεία που απαιτούνται για αυτό το βήμα:
Photoshop/Paint (προαιρετικό, μπορεί να σχεδιαστεί με το χέρι)
Ο σχεδιασμός ενός κουτιού κουμπιών μπορεί να είναι διαφορετικός για όλους. Ωστόσο, για αυτό το Instructable θα χρησιμοποιήσουμε μια διάταξη που αποτελείται από:
- 4x διακόπτες εναλλαγής τριών κατευθύνσεων
- 2 φορές διακόπτες εναλλαγής μονής κατεύθυνσης
- 10x απλά κουμπιά
- 4x περιστροφικός κωδικοποιητής με απλό κουμπί
Διακόπτες εναλλαγής τριών τρόπων:
Υπάρχουν πολλοί τύποι εναλλαγών διακοπτών. Μερικά είναι στιγμιαία και μερικά παραμένουν στη θέση τους μέχρι να γυρίσουν πίσω. Εναπόκειται σε εσάς ποιος τύπος θα χρησιμοποιήσετε, αλλά σας συμβουλεύω να χρησιμοποιήσετε στιγμιαίους διακόπτες, καθώς αυτό το κουτί κουμπιών δεν είναι ικανό να έχει πολλά κουμπιά πολλαπλών ενεργών ταυτόχρονα. Δεδομένου ότι οι διακόπτες εναλλαγής είναι τριών κατευθύνσεων (ενεργοποίηση/απενεργοποίηση/ενεργοποίηση), έχουμε οκτώ κουμπιά (4x2) διαθέσιμα.
Ένας τρόπος εναλλαγής διακοπτών:
Αυτά μπορούν να θεωρηθούν ως απλά κουμπιά (απενεργοποίηση/ενεργοποίηση). Αυτά μπορεί επίσης να είναι στιγμιαία ή εναλλακτικά. Και πάλι, μέχρι τις προσωπικές προτιμήσεις που να επιλέξετε. Αυτά μας δίνουν δύο (2) διαθέσιμα κουμπιά.
Απλά κουμπιά:
Τέτοια κουμπιά μπορούν να χρησιμοποιηθούν απλά πιέζοντάς τα (απενεργοποίηση/ενεργοποίηση). Αυτά θα μας δώσουν δέκα (10) κουμπιά.
Περιστροφικοί κωδικοποιητές με απλό κουμπί:
Οι περισσότεροι (αν όχι όλοι) περιστροφικοί κωδικοποιητές μπορούν να στραφούν και στις δύο κατευθύνσεις απεριόριστα. Κάθε φορά που τα περιστρέφετε σε κατεύθυνση χρησιμοποιείται ως πάτημα κουμπιού. Αυτοί οι περιστροφικοί κωδικοποιητές μπορούν επίσης να πατηθούν δίνοντάς τους ένα άλλο κουμπί. Οι περιστροφικοί κωδικοποιητές δίνουν δώδεκα κουμπιά (12 = 4x3, περιστροφή αριστερά/περιστροφή δεξιά/ώθηση).
32 κουμπιά:
Έχοντας όλα μαζί μας δίνει 32 (8+2+10+12) πατήματα κουμπιών!
Είστε ικανοποιημένοι με τη διάταξη; Timeρα να ξεκινήσετε να χτίζετε!
Βήμα 3: Μετρήστε και τρυπήστε
Εργαλεία που απαιτούνται για αυτό το βήμα:
- Διαβήτης
- Τρυπάνι
- Ηλεκτρονικά (κουμπιά, διακόπτες κλπ.)
Μετρήστε όλα τα κουμπιά που θέλετε να προσθέσετε στο κουτί κουμπιών σας. Αν δυσκολεύεστε να βρείτε τις διαστάσεις των ηλεκτρονικών σας συσκευών, χρησιμοποιήστε μια (ψηφιακή) δαγκάνα για να λάβετε τη διάμετρό τους.
Σημειώστε τα κεντρικά σημεία των ηλεκτρονικών στο πρόσωπο του περιβλήματός σας και ανοίξτε τρύπες με τα σωστά μεγέθη. Θέλετε να κάνετε το περίβλημα λίγο πιο αισθητικά ευχάριστο; Περιμένετε με την τοποθέτηση των κουμπιών!
Μόλις τελειώσετε το άνοιγμα των οπών, μπορούμε να το κάνουμε να αρχίσει να μοιάζει με ένα πραγματικό κουτί κουμπιών!
Βήμα 4: Προσαρμόστε τα κουμπιά, τα περιστροφικά και τα εναλλακτικά
Εργαλεία που απαιτούνται για αυτό το βήμα:
- Ηλεκτρονικά (κουμπιά, διακόπτες κλπ.)
- γαλλικο ΚΛΕΙΔΙ
- Περιτύλιγμα από βινύλιο άνθρακα (προαιρετικό)
- Κόφτης (προαιρετικά)
Όλα τα ηλεκτρονικά σας θα πρέπει να συνοδεύονται από ένα παξιμάδι για να το βιδώσετε στη θέση του. Αν όχι; μετρήστε τα και αγοράστε το σωστό μέγεθος παξιμάδι.
Εάν θέλετε να βελτιώσετε (προσωπική γνώμη) την εμφάνιση του κουτιού κουμπιών σας, μπορείτε να χρησιμοποιήσετε ένα περιτύλιγμα βινυλίου από ανθρακονήματα. Κόψτε το στο μέγεθος (και λίγο μεγαλύτερο) του προσώπου του περιβλήματός σας στο οποίο ανοίξατε τις τρύπες. Εφαρμόστε το βινύλιο και τυλίξτε το στις γωνίες προς τα πίσω. Αυτό θα διασφαλίσει ότι το περιτύλιγμα παραμένει στη θέση του όταν το περίβλημα είναι κλειστό. Το υπερβολικό βινύλιο που τώρα μπλοκάρει τις τρύπες μπορεί να αφαιρεθεί με κόπτη.
Έχοντας τοποθετήσει το περιτύλιγμα (ή όχι), μπορείτε να χωρέσετε στα ηλεκτρονικά για να δημιουργήσετε το μπροστινό μέρος του κουτιού σας. Θα πρέπει τώρα να έχετε κάτι που πραγματικά μοιάζει ήδη! Δυστυχώς, δεν λειτουργεί ακόμα…
Βήμα 5: Σχεδιάστε τη διάταξη καλωδίωσης
Εργαλεία που απαιτούνται για αυτό το βήμα:
Photoshop/Paint (προαιρετικό, μπορεί να σχεδιαστεί με το χέρι)
Δημιουργία μήτρας:
Η χρήση μήτρας θα μας εξοικονομήσει χρόνο και πολλές περιττές καλωδιώσεις και συγκόλληση. Δεν θα μπω σε πολλές λεπτομέρειες, αλλά θα σας προτείνω να ρίξετε μια ματιά σε αυτό το άρθρο, αν δεν είστε σύμφωνοι με την έννοια της μήτρας.
Σχεδιάστε τη δική σας μήτρα ή χρησιμοποιήστε τη διάταξη από αυτό το Instructable. Στη μήτρα θα χρησιμοποιήσουμε πέντε ομάδες. Οι ομάδες συνδέονται με τα ακόλουθα pinouts στο Arduino:
- 15: τέσσερις περιστροφικοί κωδικοποιητές
- A0: πέντε κουμπιά
- Α1: δύο εναλλαγές τριών κατευθύνσεων και ένα κουμπί
- A2: δύο εναλλαγές τριών κατευθύνσεων και ένα κουμπί
- A3: πέντε κουμπιά
Βήμα 6: Συγκόλληση
Εργαλεία που απαιτούνται για αυτό το βήμα:
- Συγκολλητικό σίδερο
- Κόλλα μετάλλων
- Ηλεκτρονικά (τοποθετημένα στο περίβλημα σας)
- Arduino Pro Micro
- Καλώδια
Προαιρετικός:
Ανεβάστε πρώτα τον κωδικό από το επόμενο βήμα αν ανησυχείτε για τη συγκόλληση. Αυτό θα σας επιτρέψει να ελέγξετε τις συνδέσεις σας
Θέλουμε να εφαρμόσουμε τη μήτρα που σχεδιάστηκε στο προηγούμενο βήμα στο πραγματικό κουτί κουμπιών. Αφιερώστε λίγο χρόνο για αυτό, ειδικά αν είναι η πρώτη φορά συγκόλλησης.
Μερικές συμβουλές:
- Κάντε μια ομάδα εκείνη τη στιγμή
- Συνδέστε το Arduino στον υπολογιστή σας για να δοκιμάσετε περιστασιακά
- Μην θερμαίνετε πολύ τα πλαστικά κουμπιά γιατί μπορούν να λιώσουν και να σπάσουν τις συνδέσεις
- Μην χρησιμοποιείτε πολύ κόλληση, λιγότερο είναι καλύτερο
- Χρησιμοποιήστε σύρματα διαφορετικού χρώματος για κάθε ομάδα/γείωση
Βήμα 7: Γράφοντας τον Κώδικα
Εργαλεία που απαιτούνται για αυτό το βήμα:
- Arduino IDE
- Βιβλιοθήκη Joystick
- Keypad.h (Arduino IDE> Sketch> Include Library> Manage Libraries…> Αναζήτηση πληκτρολογίου και εγκατάσταση αυτού που δημιουργήθηκε από τον Mark Stanley και τον Alexander Brevig)
#συμπεριλάβω #συμπεριλάβω
#define ΕΝΕΡΓΟΠΟΙΗΣΗ_PULLUPS
#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5
κουμπιά byte [NUMROWS] [NUMCOLS] = {
{0, 1, 2, 3, 4}, {5, 6, 7, 8, 9}, {10, 11, 12, 13, 14}, {15, 16, 17, 18, 19}, {20, 21, 22, 23}, };
struct rotariesdef {
byte pin1; byte pin2; int ccwchar; int cwchar; πτητική ανυπόγραφη κατάσταση χαρακτήρα };
rotariesdef περιστροφές [NUMROTARIES] {
{0, 1, 24, 25, 0}, {2, 3, 26, 27, 0}, {4, 5, 28, 29, 0}, {6, 7, 30, 31, 0}, };
#define DIR_CCW 0x10
#define DIR_CW 0x20 #define R_START 0x0
#ifdef ΜΙΣΟ_ΒΗΜΑ
#define R_CCW_BEGIN 0x1 #define R_CW_BEGIN 0x2 #define R_START_M 0x3 #define R_CW_BEGIN_M 0x4 #define R_CCW_BEGIN_M 0x5 const unsigned char ttable [6] [4_BB, R_ST, {R_ST, R_ST R_CCW_BEGIN {R_START_M | DIR_CCW, R_START, R_CCW_BEGIN, R_START}, // R_CW_BEGIN {R_START_M | DIR_CW, R_CW_BEGIN, R_START, R_START}, // R_START_M (11) {R_START_M, R_CCW_BEGIN_M, R_CW_BEGIN_M, R_START}, // R_CW_BEGIN_M {R_START_M, R_START_M, R_CW_BEGIN_M, R_START | DIR_CW}, // R_CCW_BEGIN_M {R_START_M, R_CCW_BEGIN_M, R_START_M, R_START | DIR_CCW},}; #else #define R_CW_FINAL 0x1 #define R_CW_BEGIN 0x2 #define R_CW_NEXT 0x3 #define R_CCW_BEGIN 0x4 #define R_CCW_FINAL 0x5 #define R_CCW_NEXT 0x6
const unsigned char ttable [7] [4] = {
// R_START {R_START, R_CW_BEGIN, R_CCW_BEGIN, R_START}, // R_CW_FINAL {R_CW_NEXT, R_START, R_CW_FINAL, R_START | DIR_CW}, // R_CW_BEGIN {R_CW_NEXT, R_CW_BEGIN, R_START, R_START}, // R_CW_NEXT {R_CW_NEXT, R_CW_BEGIN, R_CW_FINAL, R_START}, // R_CCW_BEGIN {R_CCW_NEXT, R_START, R_CCW_BEGIN, R_START}, // R_CCW_FINAL {R_CCW_NEXT, R_CCW_FINAL, R_START, R_START | DIR_CCW}, // R_CCW_NEXT {R_CCW_NEXT, R_CCW_FINAL, R_CCW_BEGIN, R_START},}; #τέλος εαν
byte rowPins [NUMROWS] = {21, 20, 19, 18, 15};
byte colPins [NUMCOLS] = {14, 16, 10, 9, 8};
Πληκτρολόγιο buttbx = Πληκτρολόγιο (makeKeymap (κουμπιά), rowPins, colPins, NUMROWS, NUMCOLS);
Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, ψευδές, ψευδείς, ψευδείς, ψευδείς, ψευδείς, ψευδείς, ψευδείς, ψευδείς, ψευδείς, ψευδείς, ψεύτικες);
void setup () {
Joystick.begin (); rotary_init ();}
void loop () {
CheckAllEncoders ();
CheckAllButtons ();
}
void CheckAllButtons (void) {
εάν (buttbx.getKeys ()) {για (int i = 0; i
void rotary_init () {
για (int i = 0; i
χωρίς υπογραφή char rotary_process (int _i) {
ανυπόγραφο char pinstate = (digitalRead (περιστροφικά [_i].pin2) << 1) | digitalRead (περιστροφικά [_i].pin1); περιστροφές [_i].state = ttable [περιστροφές [_i]. κράτος & 0xf] [pinstate]; επιστροφή (περιστρέφεται [_i]. κράτος & 0x30); }
void CheckAllEncoders (void) {for (int i = 0; i <NUMROTARIES; i ++) {
ανυπόγραφο αποτέλεσμα char = rotary_process (i); if (αποτέλεσμα == DIR_CCW) {Joystick.setButton (περιστρέφεται .ccwchar, 1); καθυστέρηση (50)? Joystick.setButton (περιστρέφεται .ccwchar, 0); }; if (αποτέλεσμα == DIR_CW) {Joystick.setButton (περιστρέφεται .cwchar, 1); καθυστέρηση (50)? Joystick.setButton (περιστρέφεται .cwchar, 0); }; }}
- Συνδέστε το Arduino Pro Micro στον υπολογιστή σας συνδέοντας το καλώδιο USB
- Για να ανεβάσετε τον κωδικό, επιλέξτε τον τύπο Arduino μεταβαίνοντας στα Εργαλεία> Πίνακας:…> Arduino/Genuino Micro.
- Για να επιλέξετε τη σωστή θύρα USB, μεταβείτε στα Εργαλεία> Θύρα:> COM x (Arduino/Genuino Micro)
- Επαληθεύστε το σκίτσο κάνοντας κλικ στο ✓ στην επάνω αριστερή γωνία (κάτω από το Αρχείο)
- Πατήστε το → δίπλα για να το ανεβάσετε στο Arduino
Βήμα 8: Προσθέστε στο εξοπλισμό σας
Συγχαρητήρια! Έχετε φτάσει τόσο μακριά. Τώρα ήρθε η ώρα για αγώνες!
Συνιστάται:
2d Rocket Landing Sim: 3 Βήματα
2d Rocket Landing Sim: Θα χρειαστεί να φτιάξετε ένα σκηνικό, να σχεδιάσετε πυραύλους και έναν δείκτη για να ξεκινήσετε (φυσικά θα χρειαστείτε σύνδεση στο διαδίκτυο για να χρησιμοποιήσετε το μηδέν) αν θέλετε απλώς να παίξετε την προσομοίωση/ παιχνίδι, κάντε κλικ εδώ ή μεταβείτε στη διεύθυνση https://scratch.mit.edu/projects/432509470
SIM900A 2G Module + Hologram SIM Card = Συνδυασμός νίκης στην κατηγορία "βρώμικα φθηνά";: 6 βήματα
SIM900A 2G Module + Hologram SIM Card = Συνδυασμός που κερδίζει στην κατηγορία "βρώμικα φθηνά";: Το IoT, η λέξη -φράση αυτής της δεκαετίας, μερικές φορές μπαίνει ακόμη και στο μυαλό των ανθρώπων που θεωρούν ότι είναι ανθεκτικοί στη μόδα, μαζί μου ανάμεσά τους. Μια μέρα περιηγούμουν Διαδίκτυο και είδα μια εταιρεία για την οποία δεν έχω ξανακούσει (Ολόγραμμα) να χαρίζει κάρτες SIM
DIY Sim Racing Display Arduino: 3 βήματα
DIY Sim Racing Display Arduino: Έτσι μπορείτε να φτιάξετε μια πολύ εύκολη και φθηνή οθόνη Sim Racing USB με Arduino UNO και 3,5 " TFT Display. Διαθέτει API για το Assetto Corsa που λαμβάνει τα δεδομένα από την Shared Memory του παιχνιδιού που έχει προγραμματιστεί σε C# στο Visual Studio και μετά στέλνει το
Sim Racing Button Box: 7 βήματα (με εικόνες)
Sim Racing Button Box: Ένα κουμπί κουτιού είναι μια συσκευή που χρησιμοποιείται στο Sim Racing και σας επιτρέπει να αντιστοιχίσετε κουμπιά, διακόπτες και κουμπιά σε διάφορα χειριστήρια αυτοκινήτου. Οι συνηθισμένες αντιστοιχίσεις κουμπιών είναι πράγματα όπως ένα κουμπί εκκίνησης, PTT, pit pit, κ.λπ. Οι διακόπτες εναλλαγής λειτουργούν εξαιρετικά για υαλοκαθαριστήρες, headl
The Barbie Box: a Camouflaged Case/ Boom Box για το Mp3 Player σας: 4 βήματα (με εικόνες)
The Barbie Box: a Camouflaged Case/ Boom Box for Your Mp3 Player: This is a padded προστατευτική θήκη μεταφοράς για το mp3 player σας που μετατρέπει επίσης την υποδοχή ακουστικών σε τέταρτη ίντσα, μπορεί να λειτουργήσει ως κουτί βραχίονας στην αναστροφή ενός διακόπτη και μεταμφιέζει το mp3 player σας ως κασετόφωνο πρώτης δεκαετίας του '90 ή παρόμοια χαμηλή κλοπή