산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

DIY 비행 시뮬레이터 러더 페달 제작: 단계별 완벽 가이드

부품 및 소모품

부품 수량 비고
Arduino Nano R3 1 아날로그 출력용 (또는 Arduino UNO)
Arduino Micro 1 디지털 출력용 (Windows 8-10 HID 지원)
MCP41050 디지털 포텐셔미터 (SPI) 3 러더, 좌/우 브레이크용
SS49E 홀 이펙트 선형 센서 4 AH3503 등 유사 선형 센서 사용 가능 (스위치/디지털 타입 불가)

프로젝트 소개

업데이트 (2021)

새 버전은 HID 인터페이스와 향상된 설계를 적용했습니다. 고급 홀 이펙트 센서 모듈로 매우 정밀한 제어가 가능합니다. 상세 내용은 제작자 웹사이트 참조.

제작 개요

비행 시뮬레이터용 러더 페달을 Arduino로 직접 제작했습니다. 이 페달은 두 가지 방식으로 시뮬레이터와 연결 가능합니다:

센서 장착, 회로 구성, 설정 과정은 제작자의 유튜브 영상에서 자세히 확인할 수 있습니다.

센서 및 전자 회로

홀 이펙트 센서(SS49E)는 페달의 움직임을 비접촉식으로 감지하여 마모 없이 오래 사용할 수 있습니다. 센서 4개는 각각 러더 좌/우, 브레이크 좌/우에 배치됩니다. 디지털 포텐셔미터 3개는 아날로그 조이스틱 신호를 생성하여 PC의 게임 포트에 입력됩니다.

소스 코드 (아날로그 출력 방식)


#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() {
  // ===== 러더 페달: -128 ~ +128 범위 =====
  // 좌측 러더 센서 읽기 및 매핑
  val_left = analogRead(SENSOR_RUDDER_LEFT);
  if (val_left <= 950) {
    remap_left = map(val_left, 30, 870, -128, 0);
  } else remap_left = 0;
  remap_left = constrain(remap_left, -128, 0);

  // 우측 러더 센서 읽기 및 매핑
  val_right = analogRead(SENSOR_RUDDER_RIGHT);
  if (val_right <= 950) {
    remap_right = map(val_right, 0, 820, 132, 0);
  } else remap_right = 0;
  remap_right = constrain(remap_right, 0, 127);

  rudder = remap_left + remap_right;
  tuning_rudder = (remap_left == 0) ? tuning_rudder + 128 : abs(tuning_rudder - 128);

  // ===== 브레이크 페달: 0 ~ 255 범위 =====
  val_brake_left = analogRead(SENSOR_LEFT_PEDAL);
  remap_brake_left = (val_brake_left <= 328) ? map(val_brake_left, 200, 328, 0, 255) : 255;
  remap_brake_left = max(remap_brake_left, 0);

  val_brake_right = analogRead(SENSOR_RIGHT_PEDAL);
  remap_brake_right = (val_brake_right <= 328) ? map(val_brake_right, 200, 328, 0, 255) : 255;
  remap_brake_right = max(remap_brake_right, 0);

  // ===== 디지털 포텐셔미터로 데이터 전송 (SPI) =====
  // 러더
  digitalWrite(CS_RUDDER, LOW);
  SPI.transfer(0b00010001);
  SPI.transfer(tuning_rudder);
  digitalWrite(CS_RUDDER, HIGH);
  delay(5);

  // 좌측 브레이크
  digitalWrite(CS_LEFT, LOW);
  SPI.transfer(0b00010001);
  SPI.transfer(remap_brake_left);
  digitalWrite(CS_LEFT, HIGH);
  delay(5);

  // 우측 브레이크
  digitalWrite(CS_RIGHT, LOW);
  SPI.transfer(0b00010001);
  SPI.transfer(remap_brake_right);
  digitalWrite(CS_RIGHT, HIGH);
  delay(5);
}

회로도

회로도 이미지 3장이 제공됩니다: 전체 배선도, 센서 연결부, 디지털 포텐셔미터 SPI 연결부. 제작자 웹사이트에서 고해상도 버전 다운로드 가능.

팁 및 주의사항

제조공정

  1. 아두이노 나노 비행 시뮬레이터 2020 컨트롤 패널 – LCD & CDI 디스플레이
  2. 아두이노와 스마트폰으로 만드는 스마트 전압계 – 초간단 DIY 프로젝트
  3. 아두이노, 구글 카드보드, 블루투스로 DIY VR 스케이트보드 만들기
  4. DIY 아두이노 라디오닉스 EMR 치료 기기 제작
  5. 학교용 스마트 체온 모니터링 시스템: 정확하고 실시간이며 안전한
  6. 아두이노용 효율적인 8비트 IO 포트 라이브러리 – 디지털 제어 확장
  7. 아두이노 64키 프로토타이핑 키보드 매트릭스 - 시프트 레지스터로 핀 절약하기
  8. 아두이노 나노와 SG90 서보로 만드는 DIY 2축 모션 레이싱 시뮬레이터
  9. DC 모터 제어 마스터하기: PID 제어와 PWM 출력을 이용한 속도·방향 제어 전문 가이드
  10. 아두이노 우노로 만드는 저비용 번개 감지기