제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 12 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
| ||||
|
| ||||
|
동영상
소개
그래서 이 게시물은 "DIY 게임 USB 컨트롤러"에 관한 것입니다. 최근 ElectroPunkz Labs에서 작업하고 있습니다.
여기서 아이디어는 게임을 하는 데 사용할 수 있는 버튼과 아날로그 조이스틱이 있는 저렴한 Atmega32U 기반 USB 컨트롤러를 만드는 것입니다.
NFS, GTA, 반감기, LITTLE FIGHTER 2! 등
컨트롤러를 두 가지 폼 팩터로 만들었습니다. 첫 번째는 PS1 또는 SNES 구성을 기반으로 하고 다른 하나는 아날로그 스틱과 버튼(아직 확정되지 않음)이 있는 직선형 Xbox USB 컨트롤러입니다.
이번 포스트에서는 PS1 레이아웃 컨트롤러인 V1을 만들어 보겠습니다!
프로젝트의 Video First를 보시면 더 좋습니다-
자료
하드웨어는 매우 간단하고 얻기 쉽습니다. (PCB를 제외하고는 PCB의 첨부된 PDF 파일로 직접 만들 수 있습니다)
<울>감사합니다 UTSOURCE.net이 이 프로젝트에 전자 부품을 제공합니다! UTSOURCE.net에서 확인할 수 있습니다. 예를 들어 이 프로젝트에 사용된 모든 구성 요소와 같은 모든 종류의 전자 구성 요소를 취급합니다!
빌트 프로세스 (배선, 조립 , 등)
가장 먼저 해야 할 일은 Pro Micro와 함께 풀다운 구성으로 연결된 기본적으로 12개의 푸시버튼인 기본 설정을 준비하는 것입니다. 기본적으로 이것은-
이것을 브레드보드에서 테스트한 다음 위의 회로도에 따라 PCB를 준비했습니다.
그림>PCB(OrCad 케이던스)를 만든 후 광택 용지에 TOP 레이어의 PDF를 인쇄했습니다.
광택지를 PCB 모양에 맞게 잘라 동박판에 올려놓고 열을 가하면 광택지에서 동박판으로 잉크가 전사됩니다. (기본 톤 전송 방법, 이 주제에 대한 내 비디오 보기)
PCB를 준비한 후 Etching Solution에 떨어뜨리고 PCB를 에칭한 후 구성 요소를 위한 구멍을 뚫고 DIY GAME CONTROLLER PCB 준비되었습니다!
그런 다음 회로도에 따라 모든 것을 배치하고 회로가 준비되었습니다.
회로 준비를 마친 후 Fusion360에서 컨트롤러용 PCB 하우징/케이스를 설계 및 3D 인쇄했습니다.
이제 코드를 업로드하고 코드로 게임을 하기만 하면 됩니다.
코드
Pro Micro에 제공된 코드를 업로드하십시오.
조언의 말씀, 먼저 보드/설정을 철저히 테스트하고 PCB 트레이스의 저항과 연결을 확인하십시오. 무언가 누락된 경우 접지선이 없으면 핀에 불규칙한 신호를 보내고 프로 마이크로는 계속 유지되기 때문에 많은 키보드 오류가 발생할 수 있기 때문입니다. Pro micro를 재프로그래밍하는 것을 매우 어렵게 만드는 임의의 키를 누를 때.
테스트
가장 먼저 해야 할 일은 메모장을 열고 컨트롤러의 키를 누르기 시작하고 프레스의 키가 할당된 올바른 단어를 표시하는지 확인하는 것입니다.
또는 키보드 테스트 앱이나 웹 앱을 사용하세요.
모든 것이 코드에 따라 작동한다면 아무 게임이나 열고 이 DIY 게임 콘솔로 게임을 시작하세요!
비디오 보기-
추가 개선 사항
이 설정에 가장 먼저 추가할 것은 XBOX ONE CONSOLE과 같이 마우스를 사용하여 플레이어를 탐색하는 적절한 게임을 하기 위한 아날로그 조이스틱입니다.
V2에는 XBOX One 컨트롤러 레이아웃이 포함된 적절한 PCB가 있으므로 계속 지켜봐 주시기 바랍니다.
문제가 있으면 댓글을 남겨주세요!
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">#include섹션>int WPin =2; // UP int SPin =3; // DOWNint APin =4; //왼쪽 정수 DPin =5; //RIGHTint UPLpin =7; //왼쪽 위 Qint UPRpin =9; //상단 오른쪽int Xpin =14;//xint Apin =10; //iint Ypin =15;//yint Bpin =16;//bvoid setup(){ pinMode(WPin, INPUT); 핀모드(SPin, 입력); 핀모드(APin, INPUT); 핀모드(DPin, 입력); 핀모드(UPL핀, 입력); 핀모드(UPR핀, 입력); 핀모드(X핀, 입력); 핀모드(Apin, INPUT); 핀모드(Y핀, 입력); 핀모드(B핀, 입력); 디지털 쓰기(WPin, 높음); 디지털 쓰기(SPin, HIGH); 디지털 쓰기(APin, HIGH); 디지털 쓰기(DPin, HIGH); 디지털 쓰기(UPLpin, HIGH); 디지털 쓰기(UPR핀, 높음); 디지털 쓰기(Xpin, HIGH); digitalWrite(Apin, HIGH); 디지털 쓰기(Ypin, HIGH); 디지털 쓰기(Bpin, HIGH); Keyboard.begin(); } 무효 루프(){ if (digitalRead(WPin) ==0) { Keyboard.write('W'); 지연마이크로초(1); } if (digitalRead(SPin) ==0) { Keyboard.write('S'); 지연마이크로초(1); } if (digitalRead(APin) ==0) { Keyboard.write('A'); 지연마이크로초(1); } if (digitalRead(DPin) ==0) { Keyboard.write('D'); 지연마이크로초(1); } if (digitalRead(UPLpin) ==0) { Keyboard.write('q'); 지연마이크로초(1); } if (digitalRead(UPRpin) ==0) { Keyboard.write('e'); 지연마이크로초(1); } if (digitalRead(Xpin) ==0) { Keyboard.write('x'); 지연 마이크로초(1); } if (digitalRead(Apin) ==0) { Keyboard.write('i'); 지연 마이크로초(1); } if (digitalRead(Ypin) ==0) { Keyboard.write('y'); 지연 마이크로초(1); } if (digitalRead(Bpin) ==0) { Keyboard.write('b'); 지연 마이크로초(1); }}
제조공정
구성품 및 소모품 Arduino UNO × 1 Arduino용 PHPoC WiFi 실드 × 1 버튼 × 4 브레드보드(일반) × 1 저항 10k 옴 × 1 열수축 튜브 × 1 이 프로젝트 정보 초보자라면 아두이노 - 버튼 튜토리얼에서 버튼에 대해 배울 수 있습니다. 여기에서 더 간단한 하드웨어(PHPoC만 해당)를 사용하여 비슷한 프로젝트를 만들었습니다. 데모 데이터 흐름 웹 브라
구성품 및 소모품 Arduino UNO × 1 Adafruit RGB 백라이트 LCD - 16x2 × 1 브레드보드(일반) × 1 저항 220옴 × 1 SparkFun 푸시버튼 스위치 12mm × 1 점퍼 와이어(일반) × 1 USB-A-B 케이블 × 1 앱 및 온라인 서비스 Arduino IDE 이 프로젝트 정보 필요한 부품은 위의 그림과