Cách xây dựng bộ điều khiển USB có núm, thanh trượt và công tắc


34

Làm thế nào để đi đến việc xây dựng một giao diện cho một thiết bị USB cho phép giao tiếp giữa các chậu, các thanh ghi tuyến tính / nhật ký và chuyển đổi tạm thời / chuyển đổi sang máy tính?

Nếu ai đó có thể cho tôi một mô tả cấp cao, tôi sẽ đánh giá cao nó. Tôi có thể đọc các tờ đặc tả, vì vậy việc hiểu chi tiết không phải là vấn đề miễn là tôi biết nơi tìm các tờ.

Câu trả lời:


29

Tôi sẽ sử dụng một trong những bảng Teensy . Đây là những bo mạch vi điều khiển giống như Arduino có hỗ trợ USB. Không giống như Arduino, chúng có thể xuất hiện trên PC như bất kỳ loại thiết bị USB nào. Điều này có nghĩa là bạn có thể tạo bàn phím USB, cần điều khiển, thiết bị MIDI, vv của riêng mình và cho PC sử dụng trình điều khiển tiêu chuẩn.

Teensy hỗ trợ Arduino IDE hoặc bạn có thể lập trình bằng C và sử dụng LUFA (để hỗ trợ USB) trực tiếp.

Dưới đây là một số liên kết dự án để giúp đỡ.


10
Đối với loại ứng dụng này, tôi sẽ đề nghị giả vờ là một HID. Trình điều khiển đã được viết, bạn chỉ cần mô phỏng một con chuột hoặc một thiết bị tương tự.
Kortuk

1
+1 cho cần điều khiển, bạn thậm chí không cần xây dựng bảng mcu, bảng được khôi phục từ cần điều khiển borken với trục tương tự cũng sẽ hoạt động tốt ...
peufeu

6

Tôi sẽ sử dụng một bảng vi điều khiển như Arduino. Bạn đọc ADC và I / O kỹ thuật số và gửi các ký tự ASCII đến PC bằng kết nối UART-> USB.

Bạn cần bao nhiêu phần cứng bên ngoài tùy thuộc vào độ chính xác bạn yêu cầu. Tôi nghĩ rằng đối với hầu hết các ứng dụng, phần cứng bên trong của vi điều khiển là đủ. Tôi sẽ công bố các thiết bị chuyển mạch trong phần cứng.

Đối với giao diện USB, chỉ cần viết một trình phân tích cú pháp đơn giản để bạn có thể truy vấn các bài đọc. Ví dụ: nếu PC gửi chuỗi "A00?" uC có thể gửi lại việc đọc trên kênh analog 0. "D00?" uC có thể gửi lại trạng thái của đầu vào kỹ thuật số 0. Để thay đổi đầu ra kỹ thuật số có thể giống như "D00 = 1" hoặc "D00 = 0". Đây là những chuỗi ngắn trong một chiều dài cố định. Nên rất dễ phân tích.


4

Tôi thích sử dụng Arduinos, chúng đơn giản để lập trình và bạn có thể dễ dàng gửi dữ liệu đến máy tính của mình từ các đầu vào khác nhau thông qua kết nối USB trên bo mạch. Dữ liệu có thể được gửi đến môi trường lập trình Arduino serial Monitor - rất hữu ích để gỡ lỗi.

Sau đó tôi sử dụng một chương trình như Pure Data (PD) hoặc Max MSP để nhận dữ liệu nối tiếp. Dữ liệu có thể được gửi từ các chương trình này ở tất cả các loại định dạng hữu ích. Vì nó đủ đơn giản để thực hiện bất kỳ loại đường cong nhật ký hoặc tỷ lệ nào trong phần mềm - bạn không phải lo lắng về việc mua các chậu gỗ đắt tiền hoặc khó sử dụng để tìm giá trị - chỉ cần mua rất nhiều công việc có cùng giá trị và lo lắng về thông tin cụ thể sau (1K hoặc 10K thường dễ dàng có được).

Cái này miễn phí: http://puredata.info/

Đây là phiên bản được trả tiền cho phiên bản khoe khoang, nhưng nó có một bản demo tốt: http://cycling74.com/doads/


4

Nhận một Arduino

Nhận một DangerShield .

Viết mã để gửi dữ liệu cảm biến DangerShield tới PC thông qua RS-232 qua kết nối USB.

Viết ứng dụng tùy chỉnh như VB.NET hoặc một cái gì đó để dịch dữ liệu thành thứ gì đó hữu ích trên PC, như tin nhắn cửa sổ Win32 hoặc thứ gì đó.


3

Tôi sẽ đề nghị sử dụng PoKeys . Rất dễ dàng thêm 55 I / O kỹ thuật số, 7 đầu vào analog (12 bit), đầu ra PWM và hơn thế nữa. Nó thậm chí có thể được kết hợp với một cái gì đó như thế này .


2

Tôi sẽ đi với một Arduino hoặc Sanguino như hầu hết mọi người đề nghị. Chỉ cần google cho họ. Chúng cực kỳ dễ sử dụng và bạn có thể khởi động trong vài giờ sau khi bạn có tất cả các thành phần cần thiết.


2
"Chỉ cần google cho họ" không được chấp nhận như một câu trả lời quanh đây. Cung cấp chi tiết ở đây.
stevenvh



1

Một giải pháp thay thế có thể phù hợp hoặc không phù hợp là mua cần điều khiển / phím điều khiển tương tự có bán trên thị trường (từ $ fckall trên ebay china, hoặc từ cửa hàng trò chơi) và thay thế các thành phần đầu vào tương tự của chúng bằng chính bạn, hoặc chỉ cần tách PCB chính ra và ghép vào phần cứng của bạn.

Bạn sẽ cần phải phù hợp với một số đặc điểm điện, nhưng công việc mã hóa / USB comms v.v ... được thực hiện cho bạn và thông thường các giao thức comms / ánh xạ đầu vào đã được biết đến.

Trung Quốc có thể sử dụng các bộ điều khiển USB kiểu PlayStation, v.v., chỉ với một vài đô la, thấp hơn giá của các bảng IO duino *, và đủ rẻ để có thể dùng một lần khi bạn thổi một hoặc hai lần đầu tiên.


0

Tay cầm chơi game sử dụng ATmega32U2 cùng với LUFA để triển khai thiết bị USB HID tốc độ đầy đủ để thăm dò một số bộ điều khiển trò chơi gốc. ATmega có giao diện USB phần cứng và bắt đầu dễ dàng vì LUFA cung cấp một số dự án demo.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.