Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

DIY Ruderpedale für Flugsimulator

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
Oder Arduino UNO für analoge Ausgabe
× 1
Arduino Micro
Wenn Sie nur DIGITAL OUTPUT für Windows 8-10 benötigen
× 1
Arduino UNO
Oder Arduino NANO für Analogausgang
× 1
Einzel-/Dual-Digitalpotentiometer mit SPI™-Schnittstelle MCP41050
× 3
SS49E Hall-Effekt-Linearsensor
Oder ähnliche Sensoren wie - AH3503 (kein Schalter oder kein Digital!!!)
× 4

Über dieses Projekt

Update 2021

Die neue Version der Pedale hat eine HID-Schnittstelle und ein verbessertes Design. Das fortschrittliche Hall-Effekt-Sensormodul bietet eine sehr präzise Steuerung. Details auf meiner Website.

Hallo, Flugsimmer! Ich habe Pedale für einen Flugzeugsimulator erfunden und hergestellt, dessen Hauptfunktion von Arduino übernommen wird. Und diese Entwicklung möchte ich unbedingt mit Ihnen teilen. Es stellte sich heraus, dass solche Pedale in zwei Tagen hergestellt werden können, aber es dauert zwei Wochen, um den Herstellungsprozess zu beschreiben. Deshalb habe ich mehrere Videos gemacht, die diesen Prozess so detailliert wie möglich zeigen.

Pedale herstellen

Arduino kann auf zwei Arten mit dem Flugsimulator verbunden werden. Link zur digitalen Verbindung mit ArduinoJoystickLibrary und Arduino Micro Board hier.

Ich verbinde meine Pedale mit einem analogen Anschluss. Und die hier gegebene Skizze bezieht sich auf diese Verbindungsmethode.

Beide Methoden, das Erstellen einer Schaltung und das Konfigurieren von Sensoren, werden im folgenden Video gezeigt.

Sensoren und Elektronik

Ich bin sehr an Ihrer Meinung zu diesem Design interessiert, hinterlassen Sie bitte Ihre Kommentare.

Code

  • Analogausgabe über digiPOTs
Analogausgabe über 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_RUDDER_LEFT_mapright_map_reval_reval1 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() { // ------------------------------------------ -------------- // RUDERPEDALE -128 --- x --- 128 // -------- ------------------------------------ // Sensor auslesen und neu zuordnen 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; // Begrenzungen setzen RUDDER LEFT if (remap_left> 0) remap_left =0; if (remap_left <=-128) remap_left =-128; // Sensor lesen und neu zuordnen 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; //Einschränkungen setzen RUDDER RIGHT if (remap_right <0) remap_right =0; if (remap_right>=127) remap_right =127; Ruder =remap_left + remap_right; if (remap_left ==0) { tuning_rudder =tuning_rudder + 128; aufrechtzuerhalten. Sonst { tuning_rudder =abs (tuning_rudder - 128); } // ------------------------------------------------------------ --------- // BREMSEN // ------------------------------------ -------------------- val_brake_left =analogRead(SENSOR_LEFT_PEDAL); if (val_brake_left <=328) { remap_brake_left =map(val_brake_left, 200, 328, 0, 255); } sonst 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); } sonst remap_brake_right =255; if (remap_brake_right <0) remap_brake_right =0; /* // ARDUINO SETUP // Neutralsensor-Setup Serial.print (val_left); Serial.print(" | " ); Serial.println (val_right); Verzögerung (400); // Ausgabeeinrichtung Serial.print (remap_brake_left); Serial.print(" | " ); Serial.println (remap_brake_right); Serial.print(" | " ); Serial.print (Ruder); Serial.print(" | " ); Serial.println (tuning_rudder); delay(400);*/ // ------------------------------------------ -------------- // DATEN AN digiPOTs SENDEN // ------------------------------ ------------------------------ digitalWrite(CS_RUDDER, LOW); SPI.transfer(0b00010001); SPI.transfer(tuning_ruder); digitalWrite (CS_RUDDER, HIGH); Verzögerung(5); // Verzögerung für die Glättung der Datenzeit digitalWrite (CS_LEFT, LOW); SPI.transfer(0b00010001); SPI.transfer(remap_brake_left); digitalWrite (CS_LEFT, HIGH); Verzögerung(5); digitalWrite (CS_RIGHT, LOW); SPI.transfer(0b00010001); SPI.transfer(remap_brake_right); digitalWrite (CS_RIGHT, HIGH); Verzögerung(5);}

Schaltpläne


Herstellungsprozess

  1. LCD-Panel mit Arduino für Flugsimulator
  2. DIY-Voltmeter mit Arduino und Smartphone
  3. DIY Virtual Reality Skateboard
  4. DIY Arduino RADIONICS-Behandlungsmaschine
  5. SMART-Temperaturüberwachung für Schulen
  6. 8-Bit-IO-Port-Bibliothek für Arduino
  7. 64-Tasten-Prototyping-Tastaturmatrix für Arduino
  8. DIY 2D Motion Racing Simulator
  9. Tricks zur Steuerung von Gleichstrommotoren
  10. Ein Blitzdetektor für Arduino