Pedais de leme DIY para simulador de vôo
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 4 |
Sobre este projeto
Atualização 2021
A nova versão dos pedais tem uma interface HID e um design aprimorado. O módulo de sensores de efeito Hall avançado oferece um controle muito preciso. Detalhes no meu site.
Oi, vôo fervendo! Inventei e fiz pedais para um simulador de aeronaves, cuja função principal é desempenhada pelo Arduino. E eu realmente quero compartilhar esse desenvolvimento com você. Descobriu-se que esses pedais podem ser feitos em dois dias, mas leva duas semanas para descrever o processo de criá-los. Portanto, fiz vários vídeos mostrando esse processo com o máximo de detalhes possível.
Fazendo pedais
O Arduino pode ser conectado ao simulador de vôo de duas maneiras. Faça o link para conexão digital usando ArduinoJoystickLibrary e placa Arduino Micro aqui.
Eu conecto meus pedais com uma conexão analógica. E o esboço dado aqui se refere a este método de conexão.
Ambos os métodos, a criação de um circuito e a configuração de sensores, são mostrados no vídeo a seguir.
Sensores e eletrônicos
Estou muito interessado na sua opinião sobre este projeto, por favor, deixe seus comentários.
Código
- Saída analógica via digiPOTs
Saída analógica via 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_RIGHT A1int val_left, val_right, remap_left, remap_right, leme, val_brake_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, OUTPUT); pinMode (CS_LEFT, OUTPUT); pinMode (CS_RIGHT, OUTPUT); } void loop () {// ------------------------------------------ -------------- // PEDAIS DE LEME -128 --- x --- 128 // -------------------- ------------------------------------ // Ler e remapear o 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; // Define as limitações RUDDER LEFT if (remap_left> 0) remap_left =0; if (remap_left <=-128) remap_left =-128; // Ler e remapear o 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; // Define as limitações RUDDER RIGHT if (remap_right <0) remap_right =0; if (remap_right> =127) remap_right =127; leme =remap_left + remap_right; if (remap_left ==0) {tuning_rudder =tuning_rudder + 128; } else {tuning_rudder =abs (tuning_rudder - 128); } // ----------------------------------------------- --------- // FREIO // ------------------------------------ -------------------- val_brake_left =analogRead (SENSOR_LEFT_PEDAL); if (val_brake_left <=328) {remap_brake_left =map (val_brake_left, 200, 328, 0, 255); } else 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); } else remap_brake_right =255; if (remap_brake_right <0) remap_brake_right =0; / * // CONFIGURAÇÃO DO ARDUINO // Configuração dos sensores neutros Serial.print (val_left); Serial.print ("|"); Serial.println (val_right); atraso (400); // Configuração de saída Serial.print (remap_brake_left); Serial.print ("|"); Serial.println (remap_brake_right); Serial.print ("|"); Serial.print (leme); Serial.print ("|"); Serial.println (tuning_rudder); delay (400); * / // ----------------------------------------- --------------- // ENVIAR DADOS PARA digiPOTs // --------------------------- ----------------------------- digitalWrite (CS_RUDDER, LOW); SPI.transfer (0b00010001); SPI.transfer (tuning_rudder); digitalWrite (CS_RUDDER, HIGH); atraso (5); // Atraso para suavização de tempo de dados digitalWrite (CS_LEFT, LOW); SPI.transfer (0b00010001); SPI.transfer (remap_brake_left); digitalWrite (CS_LEFT, HIGH); atraso (5); digitalWrite (CS_RIGHT, LOW); SPI.transfer (0b00010001); SPI.transfer (remap_brake_right); digitalWrite (CS_RIGHT, HIGH); atraso (5);}
Esquemas
Processo de manufatura
- Painel LCD com Arduino para o simulador de vôo
- Faça você mesmo voltímetro usando Arduino e Smartphone
- Faça você mesmo skate de realidade virtual
- Faça você mesmo Arduino RADIONICS Tratamento MMachine
- Monitoramento de temperatura SMART para escolas
- Biblioteca de portas IO de 8 bits para Arduino
- Matriz de teclado de prototipagem de 64 teclas para Arduino
- Simulador de corrida de movimento 2D DIY
- Truques para controlar motores CC
- Um detector de relâmpagos para Arduino