Tabla de contenido:
- Paso 1: preparación
- Paso 2: diseñe el diseño de la caja
- Paso 3: medir y perforar
- Paso 4: ajuste los botones, rotativos y conmutadores
- Paso 5: diseñe la disposición del cableado
- Paso 6: soldadura
- Paso 7: escribir el código
- Paso 8: agregue a su equipo
Video: Caja de botones Sim Racing: 8 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
¡Bienvenidos adictos a las carreras de simulación!
¿Se está quedando sin combinaciones de teclas para asignar todos los controles de su automóvil? ¡Probablemente necesites una caja de botones! En este Instructable crearemos uno desde cero. El cuadro de botón tendrá 32 (!) Estados de botón disponibles. No se requiere software adicional para utilizar este cuadro de botones. Aprenderá cómo configurar una matriz de botones y escribir (o copiar) el código para cargarlo en su Arduino.
Es importante saber que el cuadro de botones no admite muchos botones presionados simultáneamente.
¡Empecemos!
Paso 1: preparación
Necesitará algunas herramientas, botones y más elementos para crear el cuadro de botones. Siéntase libre de crear el cuadro de botones a su gusto.
Electrónica:
- Botones
- Alterna
- Codificadores rotativos
- Arduino Pro Micro
- Cable mini USB a USB
- Alambres
Instrumentos:
- Taladro
- Soldar
- Calibrar
- Destornilladores
- Cortador
- Llave inglesa
Software:
- IDE de Arduino
- Photoshop / Paint (opcional; se puede dibujar a mano)
Otro:
- Recinto (una caja; se puede comprar o imprimir en 3D personalizado)
- Envoltura de vinilo de carbono (opcional)
- Perillas del codificador rotatorio
- Cubiertas de interruptor (opcional)
- Impresora de etiquetas (opcional)
- Pasacables de goma
Una vez que tenga todos los elementos (o los suficientes para comenzar), podemos comenzar a diseñar el diseño del cuadro de botones.
Paso 2: diseñe el diseño de la caja
Herramientas necesarias para este paso:
Photoshop / Paint (opcional; se puede dibujar a mano)
El diseño de una caja de botones puede ser diferente para todos. Sin embargo, para este Instructable usaremos un diseño que consta de:
- 4 interruptores de palanca de tres vías
- 2x interruptores de palanca unidireccionales
- 10 botones pulsadores simples
- Codificador rotatorio 4x con botón simple
Interruptores de palanca de tres vías:
Hay muchos tipos de interruptores de palanca. Algunos son momentáneos y otros permanecen en su lugar hasta que se vuelven a cambiar. Depende de usted qué tipo usar, pero le aconsejo que use interruptores momentáneos ya que este cuadro de botones no es capaz de tener varios botones activos al mismo tiempo. Dado que los interruptores de palanca son de tres vías (encendido / apagado / encendido), tenemos ocho botones (4x2) disponibles.
Interruptores de palanca unidireccionales:
Estos se pueden considerar como simples botones (apagado / encendido). Estos también pueden ser momentáneos o alternar. Nuevamente, depende de la preferencia personal cuál elegir. Estos nos dan dos (2) botones disponibles.
Botones pulsadores sencillos:
Botones como estos se pueden usar simplemente presionándolos (apagado / encendido). Estos nos darán diez (10) botones.
Codificadores rotativos con pulsador simple:
La mayoría (si no todos) de los codificadores rotativos se pueden girar infinitamente en ambas direcciones. Cada vez que los gira en una dirección, se usa como presionar un botón. Estos codificadores rotativos también se pueden presionar dándoles otro botón. Los codificadores giratorios dan doce (12 = 4x3; girar a la izquierda / girar a la derecha / pulsar) botones.
32 botones:
¡Tenerlos todos juntos nos da 32 (8 + 2 + 10 + 12) pulsaciones de botones!
¿Satisfecho con el diseño? ¡Es hora de empezar a construir!
Paso 3: medir y perforar
Herramientas necesarias para este paso:
- Calibrar
- Taladro
- Electrónica (botones, interruptores, etc.)
Mida todos los botones que desea agregar a su cuadro de botones. Si tiene problemas para encontrar las dimensiones de sus dispositivos electrónicos, use una pinza (digital) para obtener el diámetro de los mismos.
Marque los puntos centrales de la electrónica en la cara de su gabinete y taladre agujeros con los tamaños correctos. ¿Busca hacer que el recinto sea un poco más agradable estéticamente? ¡Espere a colocar los botones!
Una vez que haya terminado de perforar los agujeros, podemos hacer que comience a verse como una caja de botones real.
Paso 4: ajuste los botones, rotativos y conmutadores
Herramientas necesarias para este paso:
- Electrónica (botones, interruptores, etc.)
- Llave inglesa
- Envoltura de vinilo de carbono (opcional)
- Cortador (opcional)
Todos sus dispositivos electrónicos deben venir con una tuerca para atornillarlos en su lugar. Que no; Mídelos y compra la tuerca del tamaño correcto.
Si desea mejorar (opinión personal) el aspecto de su caja de botones, puede utilizar una envoltura de vinilo de fibra de carbono. Córtelo al tamaño (y un poco más grande) de la cara de su caja en la que taladró los agujeros. Aplique el vinilo y envuélvalo alrededor de las esquinas hacia la parte posterior. Esto asegurará que la envoltura permanezca en su lugar cuando el gabinete esté cerrado. El vinilo excesivo que ahora bloquea los orificios se puede quitar con un cortador.
Una vez que se haya puesto la envoltura (o no), puede colocar los componentes electrónicos para crear el frente de su caja de botones. ¡Ahora debería tener algo que realmente se parezca a uno! Lamentablemente, todavía no funciona …
Paso 5: diseñe la disposición del cableado
Herramientas necesarias para este paso:
Photoshop / Paint (opcional; se puede dibujar a mano)
Creando una matriz:
El uso de una matriz nos ahorrará tiempo y una gran cantidad de cables y soldaduras innecesarios. No entraré en muchos detalles, pero te sugeriré que eches un vistazo a este artículo si no estás familiarizado con el concepto de matriz.
Diseñe su propia matriz o use el diseño de este Instructable. En la matriz usaremos cinco grupos. Los grupos están conectados a los siguientes pines en el Arduino:
- 15: cuatro codificadores rotativos
- A0: cinco pulsadores
- A1: dos conmutadores de tres vías y un botón pulsador
- A2: dos conmutadores de tres vías y un botón pulsador
- A3: cinco botones
Paso 6: soldadura
Herramientas necesarias para este paso:
- Soldador
- Soldar
- Electrónica (montada en su caja)
- Arduino Pro Micro
- Alambres
Opcional:
Sube el código del siguiente paso primero si te preocupa la soldadura. ¡Esto le permitirá verificar sus conexiones
Queremos aplicar la matriz diseñada en el paso anterior al cuadro de botones real. Tómese su tiempo para esto, especialmente si es la primera vez que suelda.
Algunos consejos:
- Haz un grupo a la vez
- Conecte el Arduino a su computadora para probar ocasionalmente
- No caliente demasiado los botones de plástico, ya que pueden derretirse y romper las conexiones.
- No use demasiada soldadura, menos es mejor
- Use cables de diferentes colores para cada grupo / tierra
Paso 7: escribir el código
Herramientas necesarias para este paso:
- IDE de Arduino
- Biblioteca de joystick
- Keypad.h (Arduino IDE> Sketch> Incluir biblioteca> Administrar bibliotecas…> Buscar teclado e instalar el creado por Mark Stanley y Alexander Brevig)
#incluir #incluir
#define ENABLE_PULLUPS
#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5
botones de bytes [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; estado de carácter volátil sin firmar; };
rotariesdef rotaries [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 HALF_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 unsigned char ttable [6] [4] = {//, R_START_CART, R_START_BEGIN_M 0x4 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, RIN_START_M, R_START_M, RIN_START_M, 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
tabla de caracteres sin firmar const [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},}; #terminara si
byte rowPins [NUMROWS] = {21, 20, 19, 18, 15};
byte colPins [NUMCOLS] = {14, 16, 10, 9, 8};
Teclado buttbx = Teclado (makeKeymap (botones), rowPins, colPins, NUMROWS, NUMCOLS);
Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, falso, falso, falso, falso, falso, falso, falso, falso, falso, falso, falso);
configuración vacía () {
Joystick.begin (); rotary_init ();}
bucle vacío () {
CheckAllEncoders ();
CheckAllButtons ();
}
void CheckAllButtons (void) {
if (buttbx.getKeys ()) {for (int i = 0; i
void rotary_init () {
para (int i = 0; i
unsigned char rotary_process (int _i) {
unsigned char pinstate = (digitalRead (rotativos [_i].pin2) << 1) | digitalRead (rotativos [_i].pin1); rotary [_i].state = ttable [rotaries [_i].state & 0xf] [pinstate]; return (rotativos [_i].state & 0x30); }
void CheckAllEncoders (void) {for (int i = 0; i <NUMROTARIES; i ++) {
resultado de carácter sin signo = proceso_rrotatorio (i); if (resultado == DIR_CCW) {Joystick.setButton (rotativos .ccwchar, 1); retraso (50); Joystick.setButton (rotativos .ccwchar, 0); }; if (resultado == DIR_CW) {Joystick.setButton (rotativos .cwchar, 1); retraso (50); Joystick.setButton (rotativos .cwchar, 0); }; }}
- Conecte su Arduino Pro Micro a su computadora conectando el cable USB
- Para cargar el código, seleccione el tipo de Arduino yendo a Herramientas> Placa:…> Arduino / Genuino Micro.
- Para seleccionar el puerto USB correcto, vaya a Herramientas> Puerto:> COM x (Arduino / Genuino Micro)
- Verifique el boceto haciendo clic en ✓ en la esquina superior izquierda (debajo de Archivo)
- Presione → junto a él para cargarlo en el Arduino
Paso 8: agregue a su equipo
¡Felicidades! Has llegado tan lejos. ¡Ahora es el momento de correr!
Recomendado:
DIY Sim Racing Display Arduino: 3 pasos
DIY Sim Racing Display Arduino: así es como construir una pantalla USB Sim Racing muy fácil y barata con un Arduino UNO y un 3,5 " Pantalla TFT. Tiene una API para Assetto Corsa que toma los datos de la Memoria Compartida del juego programado en C # en Visual Studio, luego envía el
Caja de botones Sim Racing: 7 pasos (con imágenes)
Caja de botones de Sim Racing: una caja de botones es un dispositivo utilizado en Sim Racing que te permite asignar botones, interruptores y perillas a varios controles del coche. Las asignaciones de botones comunes son cosas como un botón de inicio, PTT, solicitar pit, etc. Los interruptores de palanca funcionan muy bien para limpiaparabrisas, headl
Caja de sonido de la caja del reproductor Mp3: 5 pasos
Caja de sonido para reproductor de MP3: este es mi primer instructivo, así que sry si no lo obtiene. materiales: 1.mp3 estuche (el estuche que obtienes cuando compras el mp3 si no sabes a qué me refiero ver imagen 2) 2. cuchillo exacto 3. altavoz ya hecho con conector de audio ver paso eso es todo lo que necesitas
Caja de cedro (¿cigarro?) Caja de altavoz: 8 pasos (con imágenes)
Caja de altavoz de cedro (¿cigarro?): Inspirado en los altavoces de Munny, pero sin estar dispuesto a gastar más de $ 10, aquí está mi instructable con altavoces de computadora viejos, una caja de madera de la tienda de segunda mano y mucho pegamento caliente
Mostrar caja de luz de una caja de madera: 9 pasos (con imágenes)
Mostrar caja de luz de una caja de madera: Mi esposa y yo le regalamos a mi mamá una escultura de vidrio para Navidad. Cuando mi mamá lo abrió, mi hermano dijo: "¡RadBear (bueno, en realidad dijo mi nombre) podría construirte una caja de luz!". Dijo esto porque, como coleccionista de vidrio, yo