제조공정
| × | 1 | ||||
| × | 3 | ||||
| × | 1 |
| ||||
|
|
소개
최근에 MS FS2020을 실행할 수 있도록 PC를 업그레이드한 후 사용하던 컨트롤을 개선해야 한다는 영감을 받았습니다. 키보드는 실제로 비행에 대한 올바른 감각이 없으며 경험을 더 나은 것으로 업그레이드하고 싶었습니다. 나는 풀 타임 비행 전문가가 아니며 전체 조종석이나 구매 한 컨트롤 세트를 만드는 데 많은 공간이나 돈을 바칠 여유가 없습니다.
디자인
나는 내가 가지고 있는 도구로 만들 수 있는 일련의 컨트롤을 CAD로 디자인하기 시작했고 실제 비행기가 어떤 느낌일지 상상하는 합리적인 경험을 제공합니다. 나는 그들이 같을 것이라고 생각합니다.
나는 내가 원하는 컨트롤이 스로틀, 플랩, 랜딩 기어 및 엘리베이터 트림 휠을 위한 단일 레버라고 결정했습니다. 저는 주로 시뮬레이션에서 소형 경량 단일 엔진 비행기를 조종하기 때문에 그것에 집중했습니다.
트림 휠은 디자인하기가 가장 어려웠고 내가 원하는 모양과 느낌을 제공할 수 있다고 생각한 디자인을 찾기까지 여러 날에 걸쳐 스케치한 아이디어를 얻었습니다.
빌드
모든 부품은 내 UP에 ABS로 3D 인쇄되었습니다! 그런 다음 레오나르도를 시작으로 Arduino에 페인트를 칠하고 배선을 한 다음 Micro로 교체했습니다. 사용하지 않을 때 쉽게 멀리 보관할 수 있는 플러그 앤 플레이 장치로 마무리합니다.
부품
3D 인쇄 부품 목록
각 레버 모듈에는 다음이 필요합니다.
각 휠 모듈에는 다음이 필요합니다.
백 박스 부품은 Arduino 및 배선을 수용하는 데 사용할 수 있습니다.
결론
코딩의 관점에서 매우 쉬운 매우 즐거운 빌드입니다. 이 빌드의 진정한 도전은 디자인, 특히 트림 휠과 느낌을 얻는 것이었습니다. 맞습니다.
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">#include섹션>Joystick_ Joystick;// analogRead의 최대값과 최소값을 이 arrays// 범위는 0 - 1023int axisLimits0[] ={686, 338};int axisLimits1[] ={345, 695};int axisLimits2[] ={327, 678};int axisLimits3[] ={342, 692};int axisLimits4[] ={0, 1023};int axisLimits5[] ={0, 1023};// 이러한 변수를 설정하여 축을 켜거나 끕니다.bool a0Used =true;bool a1Used =true;bool a2Used =true;bool a3Used =true;bool a4Used =false;bool a5Used =false; // 설정 모드는 핀 값과 변환된 값을 직렬 모니터에 출력합니다. // int setting =-1; // 직렬 모니터에 인쇄하지 않음 // int setting =2; // 값 0 - 5, 직렬 모니터에 핀 값 인쇄int setting =-1;void setup() { if(a0Used) pinMode(A0, INPUT); if(a1사용) pinMode(A1, INPUT); if(a2Used) 핀모드(A2, INPUT); if(a3Used) 핀모드(A3, INPUT); if(a4Used) 핀모드(A4, INPUT); if(a5Used) 핀모드(A5, INPUT); 조이스틱.begin(); if(설정>=0) Serial.begin(9600);}void 루프() { int 값 =0; 정수 위치 =0; if(a0Used){ 값 =analogRead(A0); pos =translateValue(값, axisLimits0[0], axisLimits0[1]); Joystick.setThrottle(pos); if(설정 ==0) settingPrint(값, 위치); } if(a1Used){ 값 =analogRead(A1); pos =translateValue(값, axisLimits1[0], axisLimits1[1]); 조이스틱.setRxAxis(pos); if(설정 ==1) settingPrint(값, 위치); } if(a2Used){ 값 =analogRead(A2); pos =translateValue(값, axisLimits2[0], axisLimits2[1]); 조이스틱.setRyAxis(pos); if(설정 ==2) settingPrint(값, 위치); } if(a3Used){ 값 =analogRead(A3); pos =translateValue(값, axisLimits3[0], axisLimits3[1]); 조이스틱.setRzAxis(pos); if(설정 ==3) settingPrint(값, 위치); } if(a4Used){ 값 =analogRead(A4); pos =translateValue(값, axisLimits4[0], axisLimits4[1]); 조이스틱.setXAxis(pos); if(설정 ==4) settingPrint(값, 위치); } if(a5Used){ 값 =analogRead(A5); pos =translateValue(값, axisLimits5[0], axisLimits5[1]); 조이스틱.setYAxis(pos); if(설정 ==5) settingPrint(값, 위치); } delay(5);}int translateValue(int v, int f1, int f2){ // 값을 0 - 1023 범위로 변환합니다. int result =0; 정수 시작 =0; 부동 소수점 범위 =0; if(f1 1023) 결과 =1023; 반환 결과;} 무효 settingPrint(int 값, int pos){ Serial.print(값); Serial.print(" "); Serial.println(pos);}
Sketchfab이 아직 처리 중입니다.
이 파일에는 모든 부품이 STEP 파일로 포함되어 있습니다. 출시된_u3k8QjPXzJ.stp제조공정
Arduino 자습서 시리즈의 두 번째 Arduino 자습서에 오신 것을 환영합니다. 이 튜토리얼에서는 디지털 입력 및 출력 핀이 작동하는 방식을 배우고 버튼과 LED를 사용하여 몇 가지 예를 만들 것입니다. 또한 PWM(Pulse Width Modulation)이 무엇인지 배우고 PWM을 사용하여 LED 밝기를 제어하는 예를 만듭니다. 이것은 따라하기 쉬운 단계별 비디오 자습서입니다. 또한 동영상 아래에서 이 튜토리얼에 필요한 부품과 동영상의 예제 소스 코드를 찾을 수 있습니다. 이 가이드에 필요한 구성요소 Ardui
이 프로젝트에서는 Arduino 보안 및 경보 시스템을 만드는 방법을 배웁니다. 다음 비디오를 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다. 개요 알람은 A 버튼을 누른 후 10초 후에 활성화됩니다. 물체를 감지하기 위해 초음파 센서를 사용하고 알람이 무언가를 감지하면 부저가 소리를 내기 시작합니다. 알람을 중지하려면 4자리 비밀번호를 삽입해야 합니다. 사전 설정된 비밀번호는 1234이지만 변경할 수도 있습니다. B 버튼을 눌러 암호 변경 메뉴로 들어갑니다. 계속하려면 현재 암호를 입력해야 하고 새 4자리 암호를 입력