답변:
가장 쉬워? Arduino를 잡고 몇 줄의 Python을 작성하십시오. Arduino는 프로그래밍하기가 매우 쉽고, 추가 하드웨어가 필요하지 않으며, 매우 유명 합니다. 파이썬 은 매우 간단한 직렬 라이브러리를 가지고 있으며 쓰기가 쉽습니다 .
예제 코드
Python :이 스크립트를 서비스로 실행하십시오. 우분투를 사용하고 있으므로이 스크립트는 Arduino에서 버튼을 누를 때 알려주는 알림을 표시합니다.
#! /usr/bin/python
import serial
import pynotify
ser = serial.Serial('/dev/ttyUSB0', 9600)
while True:
x = ser.read()
if x == 'b':
# Show notification
n = pynotify.Notification("Arduino", "The button was pressed.")
n.show()
아두 이노 :
void setup(){
// Assuming button is active low and on pin 4
pinMode(4, INPUT);
Serial.begin(9600);
}
void loop(){
if(digitalRead(4) == LOW){
Serial.print('b');
}
}
USB 휴먼 인터페이스 디바이스 클래스 디바이스를 빌드하십시오. 그것은 키보드, 마우스, 조이스틱, 게임 패드 등에 사용되는 것과 같은 클래스입니다. PC에는 HID 장치에 대한 전체 장치 드라이버 지원이 이미 있으므로 소프트웨어 액세스가 쉽습니다. Jan Axelson의 HID 페이지 에서 많은 포인터와 샘플 코드를 찾을 수 있습니다 . USB 장치 개발과 관련된 유용한 정보가 많은 사이트를 찾아보십시오.
많은 소형 마이크로 프로세서 제품군이 HID를 수행 할 수 있습니다. 심지어 소프트웨어에서 ATtiny 8 핀 AVR을 사용하여 USB 저속에서 수행 되는 것을 보았습니다 .
선호하는 칩을 선택한 다음 HID 샘플에 대한 "일반 자원"을 검색하십시오.
또 다른 방법은 직렬 통신 장치를 만드는 것입니다. FTDI의 여러 단일 칩 솔루션이 존재합니다. FT232R은 인기있는 선택입니다. 드라이버가 필요하지만 Windows 인증 드라이버는 새 하드웨어 발견 마법사에 알려져 있으므로 설치가 어렵지 않습니다. 설치되면 COM 포트처럼 보이는 장치가 있습니다. GPIO 핀에 액세스하여 고급 모드에서 사용할 수있는 대체 드라이버가 제공됩니다.
2015 년 업데이트 : 이 링크에는 http://www.lvr.com/hidpage.htm 링크가있었습니다. 링크가 멈 췄고 El Marce 덕분에 새 위치가 발견되었습니다 . Jan의 Lakeview Research는 여전히 USB의 실제 사용에 대한 정보를 제공하는 훌륭한 소스입니다.
다음은 USB를 통해 표준 HID 장치로 인터페이스하기 위해 $ 5 미만의 PIC18F4550을 사용하는 소프트웨어 가있는 매우 자세한 블로그 게시물 http://msdn.microsoft.com/en-us/devlabs/dd491992 입니다. 제공된 소프트웨어를 사용하여 HID 장치와 인터페이스 할 수 있으므로 대체 칩을 원할 경우 소프트웨어가 계속 작동합니다.
또한 블로그 게시물에는 양방향 통신을 수행하는 방법이 표시되므로 LED를 켜거나 끌 수있는 스위치를 인터페이스 할 수 있습니다.