Table des matières:
- Étape 1: Préparation
- Étape 2: Concevoir la disposition de la boîte
- Étape 3: Mesurez et percez
- Étape 4: ajustez les boutons, les rotatives et les bascules
- Étape 5: Concevoir la disposition du câblage
- Étape 6: Souder
- Étape 7: écriture du code
- Étape 8: Ajoutez à votre plate-forme
Vidéo: Boîte à boutons Sim Racing : 8 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Bienvenue aux accros aux courses de sim !
Êtes-vous à court de raccourcis clavier pour mapper toutes les commandes de votre voiture ? Vous avez probablement besoin d'une boîte à boutons ! Dans ce Instructable, nous allons en créer un à partir de zéro. La boîte à boutons aura 32 (!) états de bouton disponibles. Aucun logiciel supplémentaire n'est requis pour utiliser cette boîte à boutons. Vous apprendrez à configurer une matrice de boutons et à écrire (ou copier) le code à télécharger sur votre Arduino.
Il est important de savoir que la boîte à boutons ne prend pas en charge beaucoup de boutons enfoncés simultanément.
Commençons!
Étape 1: Préparation
Vous aurez besoin d'outils, de boutons et d'autres éléments pour créer la boîte à boutons. N'hésitez pas à créer la boîte à boutons selon vos envies.
Électronique:
- Boutons
- Bascule
- Encodeurs rotatifs
- Arduino Pro Micro
- Câble mini USB vers USB
- Fils
Outils:
- Percer
- Souder
- Étrier
- Tournevis
- Coupeur
- Clé
Logiciel:
- IDE Arduino
- Photoshop/Paint (facultatif; peut être dessiné à la main)
Autre:
- Boîtier (une boîte; peut être acheté ou imprimé en 3D sur mesure)
- Film de vinyle carbone (facultatif)
- Boutons d'encodeur rotatif
- Couvercles d'interrupteur (facultatif)
- Imprimante d'étiquettes (en option)
- Oeillet en caoutchouc
Une fois que vous avez tous les éléments (ou assez pour commencer), nous pouvons commencer à concevoir la disposition de la boîte à boutons.
Étape 2: Concevoir la disposition de la boîte
Outils requis pour cette étape:
Photoshop/Paint (facultatif; peut être dessiné à la main)
La conception d'une boîte à boutons peut être différente pour tout le monde. Cependant, pour ce Instructable, nous utiliserons une mise en page qui se compose de:
- 4x interrupteurs à bascule à trois voies
- 2x interrupteurs à bascule unidirectionnels
- 10x boutons poussoirs simples
- 4x encodeur rotatif avec simple bouton
Interrupteurs à bascule à trois voies:
Il existe de nombreux types d'interrupteurs à bascule. Certains sont momentanés et d'autres restent en place jusqu'à ce qu'ils soient rétablis. C'est à vous de décider quel type utiliser, mais je conseille d'utiliser des interrupteurs momentanés car cette boîte à boutons n'est pas capable d'avoir plusieurs boutons actifs en même temps. Étant donné que les interrupteurs à bascule sont à trois voies (marche/arrêt/marche), nous avons huit (4x2) boutons disponibles.
Interrupteurs à bascule à sens unique:
Ceux-ci peuvent être considérés comme de simples boutons (off/on). Ceux-ci peuvent également être momentanés ou à bascule. Encore une fois, selon vos préférences personnelles. Ceux-ci nous donnent deux (2) boutons disponibles.
Boutons poussoirs simples:
Des boutons comme ceux-ci peuvent être utilisés en les poussant simplement (off/on). Ceux-ci nous donneront dix (10) boutons.
Encodeurs rotatifs avec simple bouton poussoir:
La plupart (sinon tous) des encodeurs rotatifs peuvent être tournés dans les deux sens à l'infini. Chaque fois que vous les faites pivoter dans une direction, il est utilisé comme une pression sur un bouton. Ces encodeurs rotatifs peuvent également être enfoncés en leur donnant un autre bouton. Les encodeurs rotatifs donnent douze (12 = 4x3; tourner à gauche/tourner à droite/pousser).
32 boutons:
Les avoir tous ensemble nous donne 32 (8+2+10+12) pressions sur les boutons !
Satisfait de la mise en page ? Il est temps de commencer à construire !
Étape 3: Mesurez et percez
Outils requis pour cette étape:
- Étrier
- Percer
- Electronique (boutons, interrupteurs, etc.)
Mesurez tous les boutons que vous souhaitez ajouter à votre boîte à boutons. Si vous avez du mal à trouver les dimensions de vos appareils électroniques, utilisez un pied à coulisse (numérique) pour en connaître le diamètre.
Marquez les points centraux de l'électronique sur la face de votre boîtier et percez des trous avec les tailles correctes. Vous cherchez à rendre l'enceinte un peu plus esthétique ? Attendez avec le montage des boutons!
Une fois que vous avez fini de percer les trous, nous pouvons commencer à ressembler à une vraie boîte à boutons !
Étape 4: ajustez les boutons, les rotatives et les bascules
Outils requis pour cette étape:
- Electronique (boutons, interrupteurs, etc.)
- Clé
- Film de vinyle carbone (facultatif)
- Cutter (facultatif)
Tous vos appareils électroniques doivent être livrés avec un écrou pour les visser en place. Si non; mesurez-les et achetez l'écrou de la bonne taille.
Si vous souhaitez améliorer (opinion personnelle) l'apparence de votre boîte à boutons, vous pouvez utiliser une pellicule de vinyle en fibre de carbone. Coupez-le à la taille (et un peu plus grande) de la face de votre boîtier dans lequel vous avez percé les trous. Appliquez le vinyle et enroulez-le autour des coins jusqu'à l'arrière. Cela garantira que l'enveloppe reste en place lorsque l'enceinte est fermée. L'excès de vinyle qui bloque maintenant les trous peut être retiré à l'aide d'un cutter.
Après avoir mis l'écharpe (ou non), vous pouvez intégrer l'électronique pour créer la façade de votre boîte à boutons. Vous devriez maintenant avoir quelque chose qui y ressemble déjà vraiment ! Malheureusement, cela ne fonctionne pas encore…
Étape 5: Concevoir la disposition du câblage
Outils requis pour cette étape:
Photoshop/Paint (facultatif; peut être dessiné à la main)
Création d'une matrice:
L'utilisation d'une matrice nous fera gagner du temps et beaucoup de câblage et de soudure inutiles. Je n'entrerai pas dans les détails moi-même, mais je vous suggère de jeter un œil à cet article si vous n'êtes pas familier avec le concept de matrice.
Concevez votre propre matrice ou utilisez la mise en page de ce Instructable. Dans la matrice, nous utiliserons cinq groupes. Les groupes sont connectés aux brochages suivants sur l'Arduino:
- 15: quatre encodeurs rotatifs
- A0: cinq boutons poussoirs
- A1: deux bascules à trois voies et un bouton-poussoir
- A2: deux bascules à trois voies et un bouton-poussoir
- A3: cinq boutons poussoirs
Étape 6: Souder
Outils requis pour cette étape:
- Fer à souder
- Souder
- Electronique (montée sur votre boîtier)
- Arduino Pro Micro
- Fils
Optionnel:
Téléchargez d'abord le code de l'étape suivante si vous êtes inquiet au sujet de la soudure. Cela vous permettra de vérifier vos connexions
Nous voulons appliquer la matrice conçue à l'étape précédente à la boîte à boutons réelle. Prenez un peu de temps pour cela, surtout s'il s'agit de votre première soudure.
Quelques conseils:
- Faire un groupe à la fois
- Connectez l'Arduino à votre ordinateur pour tester de temps en temps
- Ne chauffez pas trop les boutons en plastique car ils peuvent fondre et casser les connexions
- N'utilisez pas trop de soudure, moins c'est mieux
- Utilisez des fils de couleur différente pour chaque groupe/masse
Étape 7: écriture du code
Outils requis pour cette étape:
- IDE Arduino
- Bibliothèque de manettes
- Keypad.h (Arduino IDE > Sketch > Inclure la bibliothèque > Gérer les bibliothèques… > Rechercher le clavier et installer celui créé par Mark Stanley et Alexander Brevig)
#include #include
#define ENABLE_PULLUPS
#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5
boutons d'octets[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 {
octet pin1; octet pin2; int ccwchar; int cwchar; état de caractère volatil non signé; };
rotariesdef rotaries[NUMROTAIRES] {
{0, 1, 24, 25, 0}, {2, 3, 26, 27, 0}, {4, 5, 28, 29, 0}, {6, 7, 30, 31, 0}, };
#définir DIR_CCW 0x10
#définir DIR_CW 0x20 #définir R_START 0x0
#ifdef DEMI_STEP
#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 table de caractères non signé[6][4] = { // R_START_MCC R_START (00, R_START,IN_IN} 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 | 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
tableau de diagrammes const non signé[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_START_BEGN}, R_CCW_BEGN} {R,CCW_BEGIN_ R_START, R_START | DIR_CCW}, // R_CCW_NEXT {R_CCW_NEXT, R_CCW_FINAL, R_CCW_BEGIN, R_START}, }; #fin si
octet rowPins[NUMROWS] = {21, 20, 19, 18, 15};
octet colPins[NUMCOLS] = {14, 16, 10, 9, 8};
Keypad buttbx = Keypad(makeKeymap(boutons), rowPins, colPins, NUMROWS, NUMCOLS);
Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, faux, faux, faux, faux, faux, faux, faux, faux, faux, faux, faux);
void setup() {
Joystick.begin(); Rotary_init();}
boucle vide() {
CheckAllEncoders();
CheckAllButtons();
}
void CheckAllButtons(void) {
if (buttbx.getKeys()) { pour (int i=0; i
void Rotary_init() {
pour (int i=0;i
caractère non signé Rotary_process(int _i) {
unsigned char pinstate = (digitalRead(rotaries[_i].pin2) << 1) | digitalRead(rotaries[_i].pin1); rotaries[_i].state = ttable[rotaries[_i].state & 0xf][pinstate]; return (rotaries[_i].state & 0x30); }
void CheckAllEncoders(void) { pour (int i=0; i < NUMROTARIES;i++) {
résultat de caractère non signé = Rotary_process(i); if (résultat == DIR_CCW) { Joystick.setButton(rotaries.ccwchar, 1); retard (50); Joystick.setButton(rotaries.ccwchar, 0); }; if (résultat == DIR_CW) { Joystick.setButton(rotaries.cwchar, 1); retard (50); Joystick.setButton(rotaries.cwchar, 0); }; } }
- Connectez votre Arduino Pro Micro à votre ordinateur en branchant le câble USB
- Pour télécharger le code, sélectionnez le type Arduino en allant dans Outils > Carte:… > Arduino/Genuino Micro.
- Pour sélectionner le bon port USB, allez dans Outils > Port: > COM x (Arduino/Genuino Micro)
- Vérifiez le croquis en cliquant sur le ✓ dans le coin supérieur gauche (sous Fichier)
- Appuyez sur → à côté pour le télécharger sur l'Arduino
Étape 8: Ajoutez à votre plate-forme
Toutes nos félicitations! Vous êtes venu de si loin. Il est maintenant temps de courir !
Conseillé:
Support de tablette en acrylique pour Flight Sim avec de vrais boutons : 4 étapes
Support de tablette en acrylique pour Flight Sim avec de vrais boutons : il s'agit d'un support pour une tablette (par exemple, un iPad) à utiliser avec un logiciel de simulateur de vol. À l'aide de modules d'encodeur rotatif et d'un Arduino Mega, j'ai créé une solution dans laquelle les boutons physiques peuvent être mappés pour contrôler des fonctions d'instrument spécifiques dans la simulation. Comme vous
Boîte à boutons Sim Racing : 7 étapes (avec photos)
Boîte à boutons Sim Racing : Une boîte à boutons est un appareil utilisé dans Sim Racing qui vous permet d'attribuer des boutons, des commutateurs et des boutons à diverses commandes de voiture. Les affectations de boutons courantes sont des choses comme un bouton de démarrage, un PTT, une fosse de demande, etc. Les interrupteurs à bascule fonctionnent très bien pour les essuie-glaces, la tête
La boîte Barbie : un étui camouflé/boîte boom pour votre lecteur MP3 : 4 étapes (avec photos)
La Barbie Box : un étui camouflé/boîte perche pour votre lecteur mp3 : il s'agit d'un étui de protection rembourré pour votre lecteur mp3 qui convertit également la prise casque en quart de pouce, peut servir de boîte perche en appuyant simplement sur un interrupteur, et déguise votre lecteur mp3 en un lecteur de cassette du début des années 90 ou un vol faible similaire i
Construire une boîte de batterie de boîte à cigares pour les radios à tube: 4 étapes
Construisez une boîte à piles pour boîtes à cigares pour les radios à tube : Si vous aimez construire et jouer avec des radios à tube comme moi, vous avez probablement le même problème que moi pour les alimenter. La plupart des anciens circuits étaient conçus pour fonctionner avec des batteries haute tension b qui ne sont plus disponibles. Donc
Afficher la boîte à lumière à partir d'une boîte en bois : 9 étapes (avec des images)
Boîte à lumière d'affichage à partir d'une boîte en bois : ma femme et moi avons offert à ma mère une sculpture en verre pour Noël. Quand ma mère l'a ouvert, mon frère a dit "RadBear (en fait, il a dit mon nom) pourrait te construire une boîte à lumière!". Il a dit cela parce qu'en tant que collectionneur de verre, j'ai