Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construisez Vos Propres Pales de Direction pour Simulateur de Vol : Guide DIY Étape par Étape

Composants et fournitures

Composant Quantité Notes
Arduino Nano R3 1 Ou Arduino UNO pour sortie analogique
Arduino Micro 1 Si sortie numérique seulement (Windows 8-10)
Arduino UNO 1 Alternative au Nano pour sortie analogique
Potentiomètre numérique MCP41050 (SPI) 3 Simple/Double
Capteur Hall linéaire SS49E 4 Ou AH3503 (capteur linéaire, pas commutateur !)

À propos du projet

Mise à jour 2021

La nouvelle version des pédales intègre une interface HID et un design amélioré. Le module à capteurs Hall avancé offre un contrôle d'une grande précision. Détails sur mon site web.

Bonjour les simulateurs de vol ! J'ai conçu et réalisé des pédales de direction pour simulateur d'avion, dont le cœur est un Arduino. Je souhaite partager ce développement avec vous. La fabrication prend environ deux jours, mais la documentation en a demandé deux semaines. J'ai donc réalisé plusieurs vidéos montrant le processus en détail.

Fabrication des pédales

L'Arduino peut se connecter au simulateur de deux manières :

Les deux approches (câblage, configuration des capteurs) sont présentées dans les vidéos.

Capteurs et électronique

Je suis très intéressé par vos avis sur ce design, n'hésitez pas à laisser vos commentaires.

Code : Sortie analogique via potentiomètres numériques

#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() {
  // --------------------------------------------------------
  // PÉDALES DE DIRECTION : -128 --- x --- +128
  // --------------------------------------------------------
  
  // Capteur gauche
  val_left = analogRead(SENSOR_RUDDER_LEFT);
  if (val_left <= 950) {
    remap_left = map(val_left, 30, 870, -128, 0);
  } else remap_left = 0;
  if (remap_left > 0) remap_left = 0;
  if (remap_left <= -128) remap_left = -128;

  // Capteur droit
  val_right = analogRead(SENSOR_RUDDER_RIGHT);
  if (val_right <= 950) {
    remap_right = map(val_right, 0, 820, 132, 0);
  } else remap_right = 0;
  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);
  }

  // --------------------------------------------------------
  // FREINAGE
  // --------------------------------------------------------
  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;

  // --------------------------------------------------------
  // ENVOI VERS LES POTENTIOMÈTRES NUMÉRIQUES (SPI)
  // --------------------------------------------------------
  // Gouvernail
  digitalWrite(CS_RUDDER, LOW);
  SPI.transfer(0b00010001);
  SPI.transfer(tuning_rudder);
  digitalWrite(CS_RUDDER, HIGH);
  delay(5);

  // Frein gauche
  digitalWrite(CS_LEFT, LOW);
  SPI.transfer(0b00010001);
  SPI.transfer(remap_brake_left);
  digitalWrite(CS_LEFT, HIGH);
  delay(5);

  // Frein droit
  digitalWrite(CS_RIGHT, LOW);
  SPI.transfer(0b00010001);
  SPI.transfer(remap_brake_right);
  digitalWrite(CS_RIGHT, HIGH);
  delay(5);
}

Schémas de câblage

Construisez Vos Propres Pales de Direction pour Simulateur de Vol : Guide DIY Étape par Étape Construisez Vos Propres Pales de Direction pour Simulateur de Vol : Guide DIY Étape par Étape Construisez Vos Propres Pales de Direction pour Simulateur de Vol : Guide DIY Étape par Étape

Processus de fabrication

  1. Panneau de contrôle Arduino Nano pour Flight Simulator 2020 – Affichage LCD et CDI
  2. Construire un Voltmètre Intelligent avec Arduino et Smartphone – Projet DIY Facile
  3. Construisez un skateboard VR DIY avec Arduino, Google Cardboard et Bluetooth
  4. Dispositif de Traitement Radionique EMR DIY avec Arduino Nano
  5. Système de Surveillance Thermique Scolaire : Précis, Temps Réel et Sécurisé
  6. Bibliothèque Arduino efficace pour port E/S 8 bits — Étendez le contrôle numérique
  7. Clavier prototype 64 touches Arduino avec registres à décalage - Matrice clavier DIY
  8. Simulateur de Course 2 Axes DIY : Arduino Nano & Servos SG90
  9. Maîtriser le contrôle de moteur à courant continu : Astuces et conseils d'expert