2010-01-29 7 views
13

노브, 단추 및 LED가있는 물리적 컨트롤러 (장치?)를 만들려고합니다. 나는 자바 (노브, 라이트 업 LED 등에 응답)를 사용하여 그것과 상호 작용하고 싶다. Java에 대해 언급하는 이유는 두 가지입니다. 첫째, Java를 잘 알고 있습니다. . 둘째, Java에서 인터페이스 할 필요가있는 나머지 프로그램을 작성했습니다 (다른 언어에서 Java 프로그램과 대화하는 방법이 있지만).USB 장치 만들기, Java에서 제어

기기를 USB로 연결하고 (컴퓨터) 플랫폼에 독립적으로하고 싶습니다.

Arduino 웹 사이트를 읽기 시작하는 경우를 제외하고는 어디서부터 시작해야할지 전혀 모릅니다. 내 최고/유일한 옵션입니까? Java와 통신하는 데 더 적합한 것이 있습니까?

참고 : 내가 아두 이노 자바 (무엇을 확실하지) 함께 할 수있는 뭔가가 있다는 것을 알고 있지만, 코드가 C.

의 부분 집합 작성해야합니다 것처럼 나는이에 이동 얻을 것이다 어떻게 보인다 이야기?


1 - 웃지 마세요.

+3

소리가 약 웃음 .... : P – t0mm13b

답변

5

Arduino 개발 환경은 Java로 작성되었습니다.

하지만 Arduino 플랫폼 용 프로그램을 작성하는 표준 언어는 사실 C++입니다.

Arduino 플랫폼은 Atmel AVR 칩을 기반으로합니다. 하나 이상의 Java VM for AVR chips이 있습니다. Forth과 BASIC과 같은 AVR에 사용할 수있는 다른 언어가 있습니다 (상업용 버전 만 찾을 수 있지만 찾을 수는 있지만 "AVR BASIC"으로 검색).

Arduino는 가상 COM 포트를 사용하여 호스트 컴퓨터와 컴퓨터간에 통신합니다. 가상 COM 포트는 구식 직렬 회선을 에뮬레이션하지만 USB로 완료됩니다. Java communication API을 사용하여 호스트 컴퓨터에서 실행되는 Java 프로그램을 실제 장치와 통신하게 할 수 있습니다.

+0

@R 사무엘 Klatchko :이 플랫폼에 독립적 말하자면, 리눅스, 내가 궁금 무엇인지 운전자에 대해? Arduino에 대한 좋은 리뷰가 많이 있습니다. :) – t0mm13b

+0

IDE는 플랫폼에 독립적이지만 가상 COM 포트 드라이버는 아닙니다. 즉, 리눅스 커널의 최신 버전에는 필요한 드라이버가 내장되어 있다고 생각합니다. –

+0

+1 놀라운 것들, 특히 NanoVM에 대한 링크. 이 모든 것을 여전히 소화하지만, 가장 쉬운 방법 인 것처럼 보이지만, Arduino 언어로 Arduino를하고있는 것처럼 들리지만 ...? –

0

컴퓨터 플랫폼에 독립적입니까? 어떤 플랫폼을 타겟팅하고 있습니까? 그것은 그 플랫폼에 대한 드라이버와 지원에 달려 있습니다. usb 장치는 무엇을합니까? 대용량 저장 장치입니까? 주변을 둘러보고 장치와 통신 할 수있는 장치 드라이버를 찾을 수 있는지 알아야 할 수도 있습니다 ...

호프가 도움이 되었으면 , Tom.

+0

질문을 분명히하지 못해 죄송합니다. 장치가 아직 구축되지 않았습니다. –

+0

@yar : 문제 없습니다! :) – t0mm13b

0

직렬 포트에 대해 알고있는 라이브러리 (rs232 라이브러리)가 있습니다. 자바와 USB에 대한 인터넷 검색 몇 가지 답변을 반환했습니다 (첫 번째는 jUSB라고 함). 그것은 제가 찾는 첫번째 유형이 될 것입니다.

+0

그래, 그럼 어떻게 할거야? 납땜 인두를 꺼내서 즉석에서 꺼내시겠습니까? 비록 나를 개인적으로 알지는 못했지만, 나를 위해 솔더링을하고 설계도를 따르는 사람들이 있지만, 나는 USB 장치를 어떻게 만들지 전혀 모른다. –

1

사용자 정의 장치에 대한 필요성을 확대 할 수 있습니까? 하드웨어 설계는 진입 장벽이 매우 높고 기존 게임 컨트롤러 하드웨어를 재사용함으로써 더 잘 해결 될 것이라고 생각합니다. 새로운 하드웨어가 정말로 필요하다면, 'USB 개발 키트'또는 'USB 개발 보드'로 검색을 시작하여 this, thisthis과 같은 링크를 얻을 것을 제안합니다.

자바에서 USB 하드웨어로 작업 할 때 JUSB 라이브러리로 조금 놀았지만 유망 해 보이지만 라이브러리의 절반이 아닌 기본 버전의 Windows 버전은 Linux에만 국한되어있는 것으로 보입니다 쓰여져 있지 않다. 대안은 'HID java'로 검색 할 수 있습니다.

+0

감사합니다 Jherico. 이 장치에는 LED 링이 달린 끝이없는 로터리 엔코더가 있습니다.이 컨트롤에는 종점이 없으므로 360 °의 움직임을 제공합니다.이 컨트롤은 속도에 따라 변하는 가변 해상도를 제공하므로 엔코더를 움직이는 것보다 엔코더를 천천히 움직이면 해상도가 더 미세 해집니다 빨리." 또한 "LED 지원 버튼"도 있습니다. 그것은 첫 번째 실행을위한 것입니다 .... 희망은 조금 도움이됩니다. 내가 실제로 그것을 쓰면, 그것은 발굴하는 것처럼 들린다. –

3

일부 인코더와 버튼의 경우 USB HID 장치를 구현하는 것이 좋습니다. 두 개 이상의 제품을 생산하려면 커스텀 보드를 원할 것입니다. Atmel 마이크로 컨트롤러를 사용하여 USB HID 장치를 만들기위한 오픈 소스 라이브러리 인 V-USB을 확인하십시오. 그들은이 라이브러리를 사용하는 많은 프로젝트 예제를 가지고 있습니다.

인코더를 사용하여 X/​​Y 축 정보를 생성하고 단추가 단추처럼 작동하도록하면 HID 조이스틱처럼 보이게 할 수 있습니다. 표준 자바 게임 API를 사용하여 조이스틱 값을 읽을 수 있습니다. 프리 스케일 마이크로 컨트롤러에 자바의 USB 연결을위한

+0

쿨, 고마워. –