Construa Seus Próprios Pedais de Direção para Simulador de Voo: Guia DIY Passo a Passo
Componentes e Materiais
| Componente | Quantidade | Observação |
|---|---|---|
| Arduino Nano R3 | 1 | Ou Arduino UNO para saída analógica |
| Arduino Micro | 1 | Se precisar apenas de SAÍDA DIGITAL para Windows 8-10 |
| Arduino UNO | 1 | Ou Arduino NANO para saída analógica |
| Potenciômetro Digital SPI MCP41050 (Single/Dual) | 3 | |
| Sensor Hall Linear SS49E | 4 | Ou similar (AH3503) – deve ser linear, não chave/digital |
Sobre o Projeto
Atualização 2021
A nova versão dos pedais possui interface HID e design aprimorado. O módulo avançado de sensores Hall proporciona controle muito preciso. Detalhes no site do autor.
Olá, entusiastas de simuladores de voo! Inventei e construí pedais para simulador de aeronave, cuja função principal é realizada pelo Arduino. Quero compartilhar este desenvolvimento. Leva cerca de dois dias para construir, mas duas semanas para documentar. Por isso, fiz vários vídeos mostrando o processo em detalhes.
Construção dos Pedais
O Arduino pode se conectar ao simulador de duas formas. Link para conexão digital usando ArduinoJoystickLibrary e placa Arduino Micro aqui.
Conecto meus pedais via conexão analógica. O sketch fornecido refere-se a este método.
Ambos os métodos, criação do circuito e configuração dos sensores, são mostrados no vídeo a seguir.
Sensores e Eletrônica
Tenho muito interesse na sua opinião sobre este design, por favor deixe seus comentários.
Código: Saída Analógica via DigiPOTs
#include <SPI.h>
#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 A1
int val_left, val_right, remap_left, remap_right, rudder;
int val_brake_left, val_brake_right, remap_brake_left, remap_brake_right;
int tuning_rudder = 128;
void setup() {
Serial.begin(9600);
SPI.begin();
pinMode(CS_RUDDER, OUTPUT);
pinMode(CS_LEFT, OUTPUT);
pinMode(CS_RIGHT, OUTPUT);
}
void loop() {
// --------------------------------------------------------
// PEDAIS DE DIREÇÃO (RUDDER) -128 --- x --- 128
// --------------------------------------------------------
// Sensor DIREÇÃO ESQUERDO
val_left = analogRead(SENSOR_RUDDER_LEFT);
if (val_left <= 950) {
remap_left = map(val_left, 30, 870, -128, 0);
} else remap_left = 0;
// Limites
if (remap_left > 0) remap_left = 0;
if (remap_left <= -128) remap_left = -128;
// Sensor DIREÇÃO DIREITO
val_right = analogRead(SENSOR_RUDDER_RIGHT);
if (val_right <= 950) {
remap_right = map(val_right, 0, 820, 132, 0);
} else remap_right = 0;
// Limites
if (remap_right < 0) remap_right = 0;
if (remap_right >= 127) remap_right = 127;
rudder = remap_left + remap_right;
if (remap_left == 0) tuning_rudder = tuning_rudder + 128;
else tuning_rudder = abs(tuning_rudder - 128);
// --------------------------------------------------------
// FREIO (BRAKING)
// --------------------------------------------------------
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;
// --------------------------------------------------------
// ENVIA DADOS PARA DIGIPOTS (MCP41050)
// --------------------------------------------------------
// Rudder
digitalWrite(CS_RUDDER, LOW);
SPI.transfer(0b00010001);
SPI.transfer(tuning_rudder);
digitalWrite(CS_RUDDER, HIGH);
delay(5);
// Freio Esquerdo
digitalWrite(CS_LEFT, LOW);
SPI.transfer(0b00010001);
SPI.transfer(remap_brake_left);
digitalWrite(CS_LEFT, HIGH);
delay(5);
// Freio Direito
digitalWrite(CS_RIGHT, LOW);
SPI.transfer(0b00010001);
SPI.transfer(remap_brake_right);
digitalWrite(CS_RIGHT, HIGH);
delay(5);
}
Esquemáticos
Três imagens de esquemáticos disponíveis (conexões dos sensores Hall, potenciômetros digitais e Arduino).
Processo de manufatura
- Painel de Controle para Flight Simulator 2020 com Arduino Nano – Display LCD e CDI
- Construa um Voltímetro Inteligente com Arduino e Smartphone – Projeto DIY Fácil
- Construa um Skate VR DIY com Arduino, Google Cardboard e Bluetooth
- Dispositivo de Tratamento Radiônico EMR DIY com Arduino Nano
- Sistema Inteligente de Monitoramento de Temperatura para Escolas: Preciso, Tempo Real e Seguro
- Biblioteca Eficiente de Porta IO de 8 Bits para Arduino – Expanda o Controle Digital
- Teclado Prototípico de 64 Teclas com Arduino: Matriz com Registradores de Deslocamento
- Simulador de Corrida 2D DIY com Arduino Nano e Servos SG90
- Controlo Avançado de Motor DC: PID + PWM – Dicas e Truques de Especialista
- Construa um Detector de Raios de Baixo Custo com Arduino Uno