Zedomax DIY121 - 어떻게 귀하의 "PS3의 SIXAXIS 컨트롤러의 자체 수 있도록"스타일 베이직 프로그래밍 USB 장치!

여기를 클릭하여보기 전체 화면 모드에서

USB 장치에 대한 사용자의 설치가 용이하고 설정 (만큼 모든 것이 제대로) 작동합니다. 종종, 당신은 그냥 USB 장치의 플러그를 즉시 작동합니다. 이것은 특히 마우스와 키보드 등의 입력 장치에 대한 사실입니다.

그 장치 사양 USB 프로토콜의 상단에 레이어 : 휴먼 인터페이스 장치에 부합. 입력 가능한 거의 모든 유형을 정의합니다; 전체 "보고서는 설명"언어 입력 방법을 처리하는 컴퓨터를 얘기하는 데 사용됩니다. 이것은 매우 간단하게 구현되지 않습니다; 특정 요청의 수십 제대로 처리되어야합니다. 거기에 USB 장치에 연결해 사이의 많은 단계와 그것을 사용할 수있게되고, 이들은 모두 몇 밀리초 모든 단계에서 실패의 자리가 작동하지 않습니다 장치를 의미합니다.

만약 당신이 없었 언제 그런 걱정? 만약 당신이 좋아하는 마이크로 컨트롤러를 사용할 수 있고 "뭔가"어떻게 입력을 올바른 형식으로 컴퓨터에 나타 납니까? 당신은 복잡한 USB 코드에 대해 걱정할 필요도 없을 것이라고, HID 규격, 또는 당신이 필요하면 다른 기능을 추가를 USB 코드를 깨는. 당신은 훨씬 최적화된 코드를 작성하거나, 항상 USB 인터럽트의 방해에 대해 걱정할 필요가없습니다 것이다.

HID 포탈

그게 정확히 뭘해야할지 결정. 몇 년 전, USB 장치를 개발 및 USB HID 및 실행을지고 모든 두통을 통과했다. 이후로 난 이미 열심히 일을했다, 다른 마이크로 컨트롤러에서 데이터를받는 방법을 추가하고 사용하기로 결정 HID 코드를 입력 스트림으로 데이터입니다. 내가 Cubloc 베이직 - 내 입력 데이터 처리 및 HID Portal에 보내 프로그래머블 컨트롤러를 사용하고 싶었. 내 테스트 응용 프로그램 가속도계 기반의 HID 조이스틱 될 것이다 단순히 컴퓨터에 장치를 연결하고 작동합니다.

그것은 조이스틱이 필요하지 않으며 키보드, 마우스 또는 다른 컨트롤 HID 표준에 의해 정의된 수있습니다. 그것은 장치에 볼륨 컨트롤 버튼을 추가할 수있어 ... 아마 회로를 귀하의 컴퓨터가 음소거했을 때 전화가 울리면? 버튼에 조이스틱 축, 어떤 스위치를 켜고 어떤 전압 입력? 뭐든지 가능합니다!

업데이트 : 내가 CUBLOC CB220 위해 하드웨어를 축소하기로 결정, 그리고 비행기를 모델에 맞는 다. 모형 비행기가 우리 조이스틱 인터페이스를 테스트하는 데 사용되는 태평양 영웅 게임에서 사용할 경기에 선정되었습니다.

하드웨어 설명

HID 포탈 내의 오래된 프로젝트에 MC68HC908JB8 마이크로 컨트롤러 기반 및 어셈블리 언어 프로그래밍을 기반으로합니다. 사실 지금의 코드를 공개할 수 없어 특정 이유로,하지만 거기에 많이 들어 다른 USB 프로젝트 거기서는이 목적에 맞게 조정될 수있습니다. 저기 ATtiny 마이크로 컨트롤러에 대한 오픈 소스로 부드러운 USB 구현에있어, 예를 들어.

내 마이크로 컨트롤러를 내장하지 않습니다 가능한 I2C 또는 SPI는에, 그래서 난 내 자신의 구현이 필요했습니다. 또한 인터럽트 핀을 사용할 수 내 솔루션을 필요로 의미가 여론 조사를 기반으로해야되지 않았다. 모든 것이되었고 일을 최적화, 난 빨리 16Khz 이상의 가장자리를 감지하지 못했습니다. 이것은 약 10 시간 교대 출력 CUBLOC 컨트롤러에서 사용할 수보다 느리지만, 그래서 사용하지 못하는 경우입니다. 난 내 자신의 변화 쓰기 밖 Basic에서 일상적인 HID Portal에 데이터를 얻을했다. 이것은 가능한 I2C SPI를하거나 내장하고있다 마이크로 컨트롤러를 사용하여 이미지만 JB8 손으로 무슨 때문인데, 피할 수있습니다.

내가 CUBLOC 컨트롤러와 통신하는 3 개의 신호를 사용합니다. 첫째, CLK 신호입니다. HID 포탈 상승 에지를 감지합니다. 그 시점에서,이 값은 데이터 라인에 존재하는 읽습니다. 이것은 등록을하기 전까지 바이트 접수되었습니다로, 다음 바이트 코드로 이동 옮겨입니다. / RST 라인에 각 데이터 패킷의 동기화를 시작하는 방법의 경우, 거기에 아무 스퓨리어스 입력했다이다; 때 낮게 0 패킷 비트 인덱스를 설정합니다.

HID 포탈은 현재 3 개의 축 8 버튼 조이스틱으로 행동하도록 프로그램되어있다. 또한 키보드로 테스트했습니다. 앞으로의 개발, 난 HID 포탈 더 유연하게하고 싶습니다; 외부 컨트롤러와 장치 유형을 선택하는 방법을 각 입력에 많은하자가 필요합니다. 그것은 가장 융통성이있다면 그것을 직접보고 설명 HID 허용하지만, 더 많은 실수와 비 장치가 작동하게 될 가능성이 최대가 열립니다.

가속도계 드 ACCM3D 치수 공학에서입니다. CUBLOC 단순히 Adin 포트에 전압을 읽고 -127과 127 사이의 값으로 변환합니다.

다음 페이지에 계속

비율

1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... 로드 중입니다 ...
  • 조 브록
    동일 / 유사한 유형의 프로젝트 구축에 관심이 있어요. VB.net와, 그리고 그 모든 오전에 손질되어있어.
    그림의 USB 포트에 어떻게 이러한 프로그램이나 그 부분은 이미 이루어집니다 (마이크로 컨트롤러)의 혼란스럽게하지 않으셨습니까?
  • 얘들아 굉장 프로젝트 ....

    당신 keyborad 및 마우스 설정을 PS3의 게임을 함께 작업할 수 있도록 유사한 프로세스를 적용할 수 tihnk 있나요? 만약 당신이 출력 컨트롤러를 보냅니다 알고 난 생각 했어, 당신에게 할 때 버튼을 누르면 U 키보드의 버튼을 누르면 컴퓨터 시뮬레이션 프로그램을 사용하여 oculd. 즉, 내가 내 키보드에서 Enter 키를 눌러 프로그램을 플레이 스테이션으로 "시작"...에 대한 명령을 보냅니다 모든 의견 / 생각하는 방법을 하나의 프로젝트를 시작할 수에?
  • 스티브 엘리스
    난 당신을 절대로 내가 어떻게 연락을 당신과 함께 프로젝트를 제가 몇 가지 질문이 얻을 수있는 놀라운 내가 만약 그렇다면 당신이 내 이메일로 답변을 ellis90002@gmail.com 이메일로 알려주십시오이하실 수있습니다 그런 생각을 시작하려고 생각 몇 가지 질문에 대답하고자
  • doesn'tmatter
    내가 hjm 그의 왼손으로 비행기의 전면에 걸쳐 비디오를 모두 본 fidiling
  • 하하 ...
  • 잘.
    난 다시 친구를 보러 왔어요.
  • 이봐, 뒤로 horisly 오신 것을 환영합니다! 플레이 오프 당신에게 받으 셨어요? hehe ...
  • Napsey
    안녕하세요, 저는 그게 힘들다는 내 나이 내 서투른 엄지와 마스터를 찾을 라디오 컨트롤 상자에 작은 컨트롤로 인해 거라고 생각 세번째, 그리고 마지막 시간을 내 오히려 비싼 모델은 항공기 충돌했다. 무엇이 노트북으로 컴퓨터에 조이스틱을 연결하고 노트북을 밖 현실 세계에서 친구 상자에서 연결을 통해 모델의 항공기를 운전하게 같은 것을 할 수 있도록해야합니다. 또한 노트북 컴퓨터를 누른 다음 다른 포트를 통해 비디오 피드를 전달할 수있는 조종실에서 원격 작은 TV 카메라 위치 수있습니다. 이건 내 비행 항공기와 나 모델을 통해 세계의 실제를 볼 수 있도록 도울 것이다. 다음 단계는 모델 이하 crashable하게 될 것이라고, 모델 헬기 자이로 그렇게 컨트롤의 놔주, 비행기 자체 똑바로 수준을 찾을 것이라고 작품에 설치되어있다. 이 요구 사항에 소리가 너무 멀리 가지의 뒷마당 스키마에 가져온 있습니까?
  • 앤디
    이봐, 난 및 USB 케이블과 함께 게임 상어 SP는있어도 있지만 리눅스를 실행하는 게임 상어 HID (나를 어떻게 작동하는 말)이고, 제가 프로그램을 속이와 사기꾼입니다 노력을 보낼 수 있었어요! 어쨌든 gameshark에 플래시 파일을 수정할 수 있습니까?
  • 당신 garrett@comfiletech.com에서 개렛 HID 전문가가 이메일로 원하는 것일 수도
  • evance
    안녕하세요 ~
    좋은 DIY

    5 내가 질문 있으세요?
    PS3의 컨트롤러는 USB 종점 크기를 32Byte 무엇입니까?
    또는 64Byte를 사용해야합니까?
    제가 패키지를 캡처하는 64 바이트입니다
    작동하지만 될 수있는 32 바이트는 것은???
  • m07
    좋은 좋은 일을 한번 again.keep.
  • 희망 ..... 그것을 만들 수있습니다 :)
  • 그것을 네 마! 전 시도조차하지 않았다 ...
  • 와우, 이거 정말 끝내 준다!
    좋은 생각, 잘했어.
  • 클린트 Fishburne
    Awsome 그리고 그냥 내가 무엇을 찾고 있었됩니다. 한 살 수 하겠나?
블로그 덧글 Disqus에 의해 제공