亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

飞行模拟器的 DIY 方向舵踏板

组件和用品

Arduino Nano R3
或用于模拟输出的 Arduino UNO
× 1
Arduino Micro
如果您只需要 Windows 8-10 的数字输出
× 1
Arduino UNO
或 Arduino NANO 用于模拟输出
× 1
具有 SPI™ 接口 MCP41050 的单/双数字电位器
× 3
SS49E 霍尔效应线性传感器
或任何类似的传感器,例如 - AH3503(不是开关或不是数字!!!)
× 4

关于这个项目

2021 年更新

新版本的踏板具有 HID 接口和改进的设计。先进的霍尔效应传感器模块提供非常精确的控制。 详情请见我的网站。

嗨,飞行慢炖!我为飞机模拟器发明并制作了踏板,其主要功能由 Arduino 执行。我真的很想与您分享这一发展。原来,这样的踏板可以在两天内制作完成,但描述制作它们的过程却需要两周时间。因此,我制作了几个视频,尽可能详细地展示了这个过程。

制作踏板

Arduino 可以通过两种方式连接到飞行模拟器。在此处使用 ArduinoJoystickLibrary 和 Arduino Micro 板链接到数字连接。

我用模拟连接连接我的踏板。而这里给出的草图就是指这种连接方式。

以下视频展示了这两种方法、创建电路和配置传感器。

传感器和电子设备

我对您对此设计的意见很感兴趣,请留下您的意见。

代码

  • 通过 digiPOT 进行模拟输出
通过digiPOTs的模拟输出Arduino
#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_RIGHT A1int_left,remap_left_val,remap_left 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,输出); }void loop() { // ------------------------------------------ -------------- // 方向舵踏板 -128 --- x --- 128 // -------------------- ------------------------------------ // 读取并重新映射传感器 RUDDER LEFT val_left =analogRead(SENSOR_RUDDER_LEFT); if (val_left <=950) { remap_left =map(val_left, 30, 870, -128, 0); // -40 } 否则 remap_left =0; // 设置限制 RUDDER LEFT if (remap_left> 0) remap_left =0;如果(remap_left <=-128)remap_left =-128; // 读取并重新映射传感器 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; //设置限制 RUDDER RIGHT if (remap_right <0) remap_right =0;如果(remap_right>=127)remap_right =127;方向舵 =remap_left + remap_right; if (remap_left ==0) { tuning_rudder =tuning_rudder + 128; } else {tuning_rudder =abs(tuning_rudder - 128); } // --------------------------------------------------------- --------- // 刹车 // ------------------------------------ -------------------- val_brake_left =analogRead(SENSOR_LEFT_PEDAL); if (val_brake_left <=328) { remap_brake_left =map(val_brake_left, 200, 328, 0, 255); } 否则 remap_brake_left =255;如果(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); } 否则 remap_brake_right =255;如果(remap_brake_right <0)remap_brake_right =0; /* // ARDUINO SETUP // 中性传感器设置 Serial.print(val_left); Serial.print(" | " ); Serial.println(val_right);延迟(400); // 输出设置 Serial.print(remap_brake_left); Serial.print(" | " ); Serial.println(remap_brake_right); Serial.print(" | " ); Serial.print(方向舵); Serial.print(" | " ); Serial.println(tuning_rudder);延迟(400);*/ // ----------------------------------------- --------------- // 将数据发送到 digiPOT // --------------------------- ----------------------------- 数字写入(CS_RUDDER, LOW); SPI.transfer(0b00010001); SPI.transfer(tuning_rudder);数字写入(CS_RUDDER,高);延迟(5); // 数据时间平滑延迟 digitalWrite(CS_LEFT, LOW); SPI.transfer(0b00010001); SPI.transfer(remap_brake_left);数字写入(CS_LEFT,高);延迟(5);数字写入(CS_RIGHT,低); SPI.transfer(0b00010001); SPI.transfer(remap_brake_right);数字写入(CS_RIGHT,高);延迟(5);}

示意图


制造工艺

  1. 带有 Arduino 的用于飞行模拟器的 LCD 面板
  2. 使用 Arduino 和智能手机的 DIY 电压表
  3. DIY 虚拟现实滑板
  4. DIY Arduino RADIONICS 治疗MMachine
  5. 学校的智能温度监测
  6. Arduino 的 8 位 IO 端口库
  7. Arduino 的 64 键原型键盘矩阵
  8. DIY 2D 运动赛车模拟器
  9. 控制直流电机的技巧
  10. Arduino 的闪电探测器
  11. 使用 RFID 的 DIY 创意
  12. DIY 3 轴 CNC VMC