Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Construa Seus Próprios Pedais de Direção para Simulador de Voo: Guia DIY Passo a Passo

Componentes e Materiais

ComponenteQuantidadeObservação
Arduino Nano R31Ou Arduino UNO para saída analógica
Arduino Micro1Se precisar apenas de SAÍDA DIGITAL para Windows 8-10
Arduino UNO1Ou Arduino NANO para saída analógica
Potenciômetro Digital SPI MCP41050 (Single/Dual)3
Sensor Hall Linear SS49E4Ou 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

  1. Painel de Controle para Flight Simulator 2020 com Arduino Nano – Display LCD e CDI
  2. Construa um Voltímetro Inteligente com Arduino e Smartphone – Projeto DIY Fácil
  3. Construa um Skate VR DIY com Arduino, Google Cardboard e Bluetooth
  4. Dispositivo de Tratamento Radiônico EMR DIY com Arduino Nano
  5. Sistema Inteligente de Monitoramento de Temperatura para Escolas: Preciso, Tempo Real e Seguro
  6. Biblioteca Eficiente de Porta IO de 8 Bits para Arduino – Expanda o Controle Digital
  7. Teclado Prototípico de 64 Teclas com Arduino: Matriz com Registradores de Deslocamento
  8. Simulador de Corrida 2D DIY com Arduino Nano e Servos SG90
  9. Controlo Avançado de Motor DC: PID + PWM – Dicas e Truques de Especialista
  10. Construa um Detector de Raios de Baixo Custo com Arduino Uno