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

Pédales de direction DIY pour Flight Simulator

Composants et fournitures

Arduino Nano R3
Ou Arduino UNO pour sortie analogique
× 1
Arduino Micro
Si vous n'avez besoin que de SORTIE NUMÉRIQUE pour Windows 8-10
× 1
Arduino UNO
Ou Arduino NANO pour la sortie analogique
× 1
Potentiomètre numérique simple/double avec interface SPI™ MCP41050
× 3
Capteur linéaire à effet Hall SS49E
Ou tout autre capteur similaire, comme - AH3503 (pas un interrupteur ou pas un numérique !!!)
× 4

À propos de ce projet

Mise à jour 2021

La nouvelle version des pédales a une interface HID et un design amélioré. Le module avancé de capteurs à effet Hall offre un contrôle très précis. Détails sur mon site Web.

Salut, vol mijote ! J'ai inventé et fabriqué des pédales pour un simulateur d'avion, dont la fonction principale est assurée par Arduino. Et je veux vraiment partager ce développement avec vous. Il s'est avéré que de telles pédales peuvent être fabriquées en deux jours, mais il faut deux semaines pour décrire le processus de création. J'ai donc réalisé plusieurs vidéos montrant ce processus de manière aussi détaillée que possible.

Faire des pédales

Arduino peut être connecté au simulateur de vol de deux manières. Lien vers la connexion numérique à l'aide d'ArduinoJoystickLibrary et de la carte Arduino Micro ici.

Je connecte mes pédales avec une connexion analogique. Et le croquis donné ici fait référence à cette méthode de connexion.

Ces deux méthodes, la création d'un circuit et la configuration des capteurs sont présentées dans la vidéo suivante.

Capteurs et électronique

Je suis très intéressé par votre avis sur cette conception, s'il vous plaît laissez vos commentaires.

Code

  • Sortie analogique via digiPOTs
Sortie analogique via digiPOTsArduino
#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_LEFT_RUDDER_RIGHT A1int val 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, SORTIE); pinMode (CS_LEFT, SORTIE); pinMode (CS_RIGHT, SORTIE); }boucle vide() { // ------------------------------------------- -------------- // PÉDALES DE DIRECTION -128 --- x --- 128 // -------------------- ------------------------------------ // Lecture et remappage du capteur 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; // Définir les limitations RUDDER LEFT if (remap_left> 0) remap_left =0; if (remap_left <=-128) remap_left =-128; // Lire et remapper le capteur 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; //Définir les limitations RUDDER RIGHT if (remap_right <0) remap_right =0; if (remap_right>=127) remap_right =127 ; gouvernail =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 ; /* // CONFIGURATION ARDUINO // Configuration des capteurs neutres Serial.print(val_left); Serial.print(" | " ); Serial.println(val_right); retard (400); // Configuration de sortie Serial.print(remap_brake_left); Serial.print(" | " ); Serial.println(remap_brake_right); Serial.print(" | " ); Serial.print (gouvernail); Serial.print(" | " ); Serial.println(tuning_rudder); délai(400);*/ // ------------------------------------------- --------------- // ENVOYER DES DONNÉES AUX digiPOTs // --------------------------- ----------------------------- digitalWrite(CS_RUDDER, LOW); SPI.transfer(0b00010001) ; SPI.transfer(tuning_rudder); digitalWrite(CS_RUDDER, HAUT); retard (5) ; // Retard pour le lissage temporel des données digitalWrite(CS_LEFT, LOW); SPI.transfer(0b00010001) ; SPI.transfer(remap_brake_left); digitalWrite(CS_LEFT, HIGH); retard (5) ; digitalWrite(CS_RIGHT, LOW); SPI.transfer(0b00010001) ; SPI.transfer(remap_brake_right); digitalWrite(CS_RIGHT, HAUT); retard(5);}

Schémas


Processus de fabrication

  1. Panneau LCD avec Arduino pour Flight Simulator
  2. Voltmètre DIY utilisant Arduino et Smartphone
  3. Planche à roulettes en réalité virtuelle DIY
  4. Traitement DIY Arduino RADIONICS MMachine
  5. Surveillance SMART de la température pour les écoles
  6. Bibliothèque de ports E/S 8 bits pour Arduino
  7. Matrice de clavier de prototypage à 64 touches pour Arduino
  8. Simulateur DIY 2D Motion Racing
  9. astuces pour contrôler les moteurs à courant continu