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

아두이노 나노로 플라이트기어(FlightGear)용 컴팩트 아날로그 트림 탭 휠 만들기

부품 및 소모품

아두이노 나노 R3 (또는 호환 보드) 1개
로터리 포텐셔미터 (가변저항) 1개
전해 커패시터 100µF 1개
Adafruit SSD1306 0.96인치 OLED (I2C) 1개
점퍼 와이어 1세트

앱 및 온라인 서비스

프로젝트 개요

플라이트기어에서 항공기의 엘리베이터 트림 탭을 제어하는 작고 저렴한 아날로그 휠 컨트롤러를 만듭니다. 아두이노만으로는 시리얼 통신으로 플라이트기어에 직접 명령을 보낼 수 없어, 파이썬 스크립트를 거쳐 UDP 패킷으로 변환 전송하는 방식입니다.

트림 휠이란?

조종사가 조종간(엘리베이터)에 힘을 주지 않고도 원하는 피치 자세를 유지하도록 트림 탭(보조 날개)을 조절하는 아날로그 장치입니다.

소프트웨어 준비

파이썬 라이브러리 설치 (아나콘다 프롬프트)

>>> conda install -c anaconda pyserial
# socket, sys도 필요시 설치

코드 구성 (3개 파일)

1. 아두이노 스케치 (arduinoElevatorTrimOLED.ino)

포텐셔미터 값을 읽어 -100~100 범위로 매핑하고, OLED에 게이지와 수치를 표시합니다. U8glib 라이브러리 필요. 디스플레이 없이도 동작 가능.

#include 
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);

int potPin = A6;
int p, w, m;  // 원시값, 매핑값(-100~100), 게이지 각도(0~90)

void loop() {
  p = analogRead(potPin);
  w = map(p, 0, 1023, 100, -100);  // 방향 반대로 하려면 100, -100 순서 변경
  m = map(p, 0, 1023, 90, 0);      // 게이지 바늘 각도
  Serial.print((p - 512.0) / 512.0);  // -1.0 ~ 1.0 정규화 값 전송
  Serial.print("\n");
  // OLED 게이지 그리기 루틴...
  delay(10);
}

2. 파이썬 스크립트 (arduinoElevatorTrim.py)

아두이노 시리얼 데이터를 읽어 UDP로 플라이트기어에 전송합니다. 포트와 시리얼 포트(예: COM4) 설정이 필요합니다.

#!/usr/bin/python
import sys, serial
from socket import *

host = "localhost"
port = 21567
addr = (host, port)
UDPSock = socket(AF_INET, SOCK_DGRAM)
tty = "COM4"  # 아두이노 포트로 변경

ser = serial.Serial(tty, 9600)
prevline = ""

while 1:
    line = ser.readline()
    if line != prevline:
        print(line)
        UDPSock.sendto(line, addr)
        prevline = line

3. 플라이트기어 프로토콜 XML (arduinoElevatorTrim.xml)

<FlightGearRoot>/data/protocol 폴더에 한 번만 복사하면 됩니다.



  
    
      \n
      ,
      
        Elevator trim
        /controls/flight/elevator-trim
        float
      
    
  

실행 방법

  1. 아두이노 스케치 업로드 (디스플레이 타입에 맞게 2번째 줄 수정)
  2. 파이썬 스크립트 실행: python arduinoElevatorTrim.py
  3. 플라이트기어 실행 시 다음 인자 추가 (띄어쓰기 없음!):
    --generic=socket,in,30,localhost,21567,udp,arduinoElevatorTrim

회로도

프리칭 회로도 참조. OLED 그라운드 선은 아두이노 나노 아래로 배선 가능.

참고 자료

깃허브 저장소에서 전체 코드와 파일 다운로드 가능.

제조공정

  1. 아두이노 디지털 주사위: LCD 기반 랜덤 넘버 제너레이터 만들기
  2. 아두이노 아이언맨 제작: 부품, 센서, 단계별 가이드
  3. 아날로그 스타일 LED POV 시계 - 아두이노 나노 DIY 프로젝트
  4. 아두이노와 블루투스로 만드는 스마트 물건 찾기 'Find Me'
  5. 아두이노 구동 3D 프린팅 로봇 팔 만들기: 단계별 가이드
  6. 아두이노 릴레이 제어 가습기 자동화 – 고전압 안전 설계
  7. 아두이노 나노와 네오픽셀 매트릭스로 만드는 네온 퐁 게임
  8. 게이밍용 커스텀 아두이노 조이스틱 스티어링 휠 만들기
  9. 아두이노와 TEA5767 모듈로 만드는 고성능 FM 라디오 수신기
  10. 아두이노 101로 만보기 만들기: DHT11 센서와 LCD 디스플레이 활용