Pedales de timón de bricolaje para Flight Simulator
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 4 |
Acerca de este proyecto
Actualización 2021
La nueva versión de los pedales tiene una interfaz HID y un diseño mejorado. El módulo de sensores de efecto Hall avanzado proporciona un control muy preciso. Detalles en mi sitio web.
¡Hola, vuelo a fuego lento! Inventé e hice pedales para un simulador de aviones, cuya función principal es realizada por Arduino. Y realmente quiero compartir este desarrollo con ustedes. Resultó que estos pedales se pueden fabricar en dos días, pero se necesitan dos semanas para describir el proceso de creación. Por lo tanto, hice varios videos que muestran este proceso con el mayor detalle posible.
Hacer pedales
Arduino se puede conectar al simulador de vuelo de dos formas. Enlace a la conexión digital usando ArduinoJoystickLibrary y la placa Arduino Micro aquí.
Conecto mis pedales con una conexión analógica. Y el esquema que se proporciona aquí se refiere a este método de conexión.
Ambos métodos, la creación de un circuito y la configuración de sensores se muestran en el siguiente video.
Sensores y electrónica
Estoy muy interesado en su opinión sobre este diseño, por favor deje sus comentarios.
Código
- Salida analógica a través de digiPOTs
Salida analógica a través de digiPOTs Arduino
#include#define CS_RUDDER 10 #define CS_LEFT 8 #define CS_RIGHT 9 #define SENSOR_LEFT_PEDAL A6 # define SENSOR_RIGHT_PEDAL A5 # define SENSOR_RUDDER_LEFT A0 # define SENSOR_RUDDER_left_left, A10 # define SENSOR_RUDDER_left_left_left, valide_left val_brake_right, remap_brake_left, remap_brake_right; int tuning_rudder =128; // int tuning_left_brake =255; // int tuning_right_brake =255; void setup () {Serial.begin (9600); SPI.begin (); pinMode (CS_RUDDER, SALIDA); pinMode (CS_LEFT, SALIDA); pinMode (CS_RIGHT, SALIDA); } bucle vacío () {// ------------------------------------------ -------------- // PEDALES DE TIMÓN -128 --- x --- 128 // -------------------- ------------------------------------ // Leer y reasignar el sensor RUDDER LEFT val_left =analogRead (SENSOR_RUDDER_LEFT); if (val_left <=950) {remap_left =map (val_left, 30, 870, -128, 0); // -40} else remap_left =0; // Establecer limitaciones RUDDER LEFT if (remap_left> 0) remap_left =0; if (remap_left <=-128) remap_left =-128; // Leer y reasignar el sensor RUDDER RIGHT val_right =analogRead (SENSOR_RUDDER_RIGHT); if (val_right <=950) {remap_right =map (val_right, 0, 820, 132, 0); // -50} else remap_right =0; // Establecer limitaciones RUDDER RIGHT if (remap_right <0) remap_right =0; if (remap_right> =127) remap_right =127; timón =remap_left + remap_right; if (remap_left ==0) {tuning_rudder =tuning_rudder + 128; } else {tuning_rudder =abs (tuning_rudder - 128); } // ----------------------------------------------- --------- // FRENADO // ------------------------------------ -------------------- val_brake_left =analogRead (SENSOR_LEFT_PEDAL); if (val_brake_left <=328) {remap_brake_left =map (val_brake_left, 200, 328, 0, 255); } más remap_brake_left =255; if (remap_brake_left <0) remap_brake_left =0; val_brake_right =analogRead (SENSOR_RIGHT_PEDAL); if (val_brake_right <=328) {remap_brake_right =map (val_brake_right, 200, 328, 0, 255); } más remap_brake_right =255; if (remap_brake_right <0) remap_brake_right =0; / * // CONFIGURACIÓN DEL ARDUINO // Configuración de los sensores neutrales Serial.print (val_left); Serial.print ("|"); Serial.println (val_right); retraso (400); // Configuración de salida Serial.print (remap_brake_left); Serial.print ("|"); Serial.println (remap_brake_right); Serial.print ("|"); Serial.print (timón); Serial.print ("|"); Serial.println (tuning_rudder); retraso (400); * / // ----------------------------------------- --------------- // ENVIAR DATOS A digiPOTs // --------------------------- ----------------------------- escritura digital (CS_RUDDER, BAJO); Transferencia SPI (0b00010001); SPI.transfer (tuning_rudder); digitalWrite (CS_RUDDER, ALTO); retraso (5); // Retraso para suavizar el tiempo de datos digitalWrite (CS_LEFT, LOW); Transferencia SPI (0b00010001); SPI.transfer (remap_brake_left); digitalWrite (CS_LEFT, HIGH); retraso (5); digitalWrite (CS_RIGHT, LOW); Transferencia SPI (0b00010001); SPI.transfer (remap_brake_right); digitalWrite (CS_RIGHT, HIGH); retraso (5);}
Esquemas
Proceso de manufactura
- Panel LCD con Arduino para Flight Simulator
- Voltímetro de bricolaje con Arduino y un teléfono inteligente
- Patineta de realidad virtual DIY
- Máquina de tratamiento DIY Arduino RADIONICS
- Monitoreo SMART de temperatura para escuelas
- Biblioteca de puertos IO de 8 bits para Arduino
- Matriz de teclado de prototipos de 64 teclas para Arduino
- Simulador de carreras de movimiento 2D DIY
- Trucos para controlar motores de CC
- Un detector de rayos para Arduino
- Idea de bricolaje con RFID