Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

DIY Rudder Pedalen voor Flight Simulator

Componenten en benodigdheden

Arduino Nano R3
Of Arduino UNO voor analoge output
× 1
Arduino Micro
Als je alleen DIGITALE UITVOER voor Windows 8-10 nodig hebt
× 1
Arduino UNO
Of Arduino NANO voor analoge output
× 1
Enkele/dubbele digitale potentiometer met SPI™-interface MCP41050
× 3
SS49E Hall-effect lineaire sensor
Of vergelijkbare sensoren, zoals - AH3503 (geen schakelaar of geen digitale!!!)
× 4

Over dit project

Update 2021

De nieuwe versie van de pedalen heeft een HID-interface en een verbeterd design. De geavanceerde Hall-effectsensorenmodule zorgt voor een zeer nauwkeurige controle. Details op mijn website.

Hallo, de vlucht suddert! Ik heb pedalen bedacht en gemaakt voor een vliegtuigsimulator, waarvan de hoofdfunctie wordt uitgevoerd door Arduino. En deze ontwikkeling wil ik heel graag met u delen. Het bleek dat dergelijke pedalen in twee dagen kunnen worden gemaakt, maar het duurt twee weken om het proces van het maken ervan te beschrijven. Daarom heb ik verschillende video's gemaakt die dit proces zo gedetailleerd mogelijk laten zien.

Pedalen maken

Arduino kan op twee manieren met de vluchtsimulator worden verbonden. Link naar digitale verbinding met behulp van ArduinoJoystickLibrary en Arduino Micro board hier.

Ik sluit mijn pedalen aan met een analoge aansluiting. En de schets die hier wordt gegeven verwijst naar deze verbindingsmethode.

Beide methoden, het maken van een circuit en het configureren van sensoren worden getoond in de volgende video.

Sensoren en elektronica

Ik ben erg geïnteresseerd in uw mening over dit ontwerp, laat alstublieft uw opmerkingen achter.

Code

  • Analoge uitvoer via digiPOT's
Analoge uitvoer 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_RUDDER_LEFT A0#define SENSOR_RUDDER_LEFT, releft, releft, val_ruDDER_Rmap_RUDDER_Rmap_RUDDER_Rmap 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, UITGANG); pinMode (CS_LEFT, OUTPUT); pinMode (CS_RIGHT, UITGANG); }void loop() { // ------------------------------------------ -------------- // ROERPEDALEN -128 --- x --- 128 // -------------------- ------------------------------------ // Sensor uitlezen en opnieuw toewijzen 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; // Stel beperkingen in RUDDER LEFT als (remap_left> 0) remap_left =0; if (remap_left <=-128) remap_left =-128; // Lees en remap sensor RUDDER RECHTS val_right =analogRead (SENSOR_RUDDER_RIGHT); if (val_right <=950) { remap_right =map (val_right, 0, 820, 132, 0); // -50 } else remap_right =0; //Stel beperkingen in ROERRECHT als (remap_right <0) remap_right =0; if (remap_right>=127) remap_right =127; roer =remap_left + remap_right; if (remap_left ==0) { tuning_rudder =tuning_rudder + 128; } else { tuning_rudder =abs (tuning_rudder - 128); } // ----------------------------------------------- --------- // REMMEN // ------------------------------------ -------------------- 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 =analoog lezen (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; /* // ARDUINO SETUP // Neutrale sensoren setup Serial.print(val_left); Serieel.print(" | " ); Serial.println(val_right); vertraging (400); // Output setup Serial.print (remap_brake_left); Serieel.print(" | " ); Serial.println(remap_brake_right); Serieel.print(" | " ); Serial.print(roer); Serieel.print(" | " ); Serial.println(tuning_rudder); vertraging (400);*/ // ----------------------------------------- --------------- // STUUR GEGEVENS NAAR digiPOTs // --------------------------- ---------------------------- digitalWrite (CS_RUDDER, LAAG); SPI.overdracht(0b00010001); SPI.overdracht (tuning_rudder); digitalWrite(CS_RUDDER, HOOG); vertraging (5); // Vertraging voor het afvlakken van datatijd digitalWrite (CS_LEFT, LOW); SPI.overdracht(0b00010001); SPI.transfer (remap_brake_left); digitalWrite(CS_LEFT, HOOG); vertraging (5); digitalWrite (CS_RIGHT, LAAG); SPI.overdracht(0b00010001); SPI.transfer (remap_brake_right); digitalWrite(CS_RIGHT, HIGH); vertraging(5);}

Schema's


Productieproces

  1. LCD-paneel met Arduino voor Flight Simulator
  2. DIY voltmeter met Arduino en smartphone
  3. DIY Virtual Reality Skateboard
  4. DIY Arduino RADIONICS-behandelingsmachine
  5. SMART temperatuurbewaking voor scholen
  6. 8-bit IO-poortbibliotheek voor Arduino
  7. 64-Key Prototyping Keyboard Matrix voor Arduino
  8. DIY 2D Motion Racing Simulator
  9. Tricks voor het besturen van gelijkstroommotoren
  10. Een bliksemdetector voor Arduino
  11. DIY-idee met RFID