2012-05-03 32 views
6

Gần đây tôi đã khám phá ra vẻ đẹp của chuột quang như một bộ mã hóa vị trí gia tăng.Chuột quang làm bộ mã hóa

Chuột quang thường chứa một thành phần trong đó máy ảnh được liên kết với bộ xử lý hình ảnh được liên kết với giao diện USB. Độ phân giải phụ thuộc vào độ phân giải của máy ảnh. Trên internet nó rất dễ dàng để tìm lại các datasheets của loại thành phần mô tả cũng làm thế nào để đọc/ghi với họ.

Vấn đề của tôi trước tiên tôi cần giải quyết là cách đảm bảo rằng chuột mã hóa không được máy tính xách tay xem như một thiết bị trỏ mà không tắt cổng USB được kết nối. Tôi cần phải sử dụng 2 bộ mã hóa để có nghĩa là 3 cổng USB cần phải được sử dụng trên PC của tôi (chạy Windows XP), một cho chuột như thiết bị trỏ và hai cho một con chuột làm bộ mã hóa.

Câu hỏi thứ hai là cách đọc/ghi hướng dẫn/dữ liệu từ/đến con chuột bộ mã hóa qua cổng USB? Ai đó có thể gửi cho tôi một liên kết đến một hướng dẫn/ví dụ trong C + +?

Cảm ơn rất nhiều trước,

Stefan

+1

Điều này không rõ ràng. Bạn đang cố gắng đạt được điều gì? –

+0

Điều này có vẻ như bạn đang yêu cầu có nhiều mã được viết, không phải để trả lời cho một câu hỏi cụ thể. – Linuxios

+1

Nếu nó là một con chuột RS-232, nó có thể dễ dàng làm vì có một giao thức đơn giản cho phép hệ điều hành tìm thấy một con chuột trên một cổng nối tiếp (cấu hình cổng cho 1200 bit/giây, 7 bit dữ liệu, 1 bit dừng , không có tính chẵn lẻ, tắt RTS và DTR, chờ 100 (?) ms, bật RTS và DTR, chuột gửi lại chữ "M" và bắt đầu hoạt động bình thường). Chơi một chút với hệ thống dây điện, bạn có thể đảm bảo rằng Windows không có cơ hội phát hiện chuột khi nó khởi động. Sau đó, bạn có thể tự lập trình cổng nối tiếp và sử dụng chuột cho chính mình. –

Trả lời

4

USB chuột vi điều khiển có lẽ hardcoded để gửi khung USB xác định chính nó như là một thiết bị HID. Trong trường hợp đó, có rất ít hy vọng bạn có thể thành công trong việc ngăn Windows sử dụng nó như một con chuột. Sau khi tất cả điều này là một con chuột.

Nếu bạn đang ở trong DIY, bạn có thể cố gắng để hack hội đồng quản trị chuột bằng cách unsoldering thành phần/dây và trực tiếp kiểm soát các bộ mã hóa với Arduino của bạn. Bằng cách này, Arduino có thể đọc dữ liệu từ bộ mã hóa và gửi nó đến PC bằng cổng nối tiếp USB của riêng nó.

Xem ví dụ có:

http://www.martijnthe.nl/2009/07/interfacing-an-optical-mouse-sensor-to-your-arduino/

Để biết thêm về thiết bị HID: http://en.wikipedia.org/wiki/USB_human_interface_device_class Trích: "Có hai mức độ API liên quan đến USB HID: mức độ USB và mức độ hệ điều hành Ở cấp độ USB, có một giao thức cho các thiết bị để thông báo khả năng của họ và hệ điều hành để phân tích cú pháp dữ liệu mà nó nhận được. nhưng đối với các lớp thiết bị, lớp trừu tượng này cho phép trò chơi hoạt động với bất kỳ bộ điều khiển USB nào, cho phép Ví dụ r, ngay cả những cái được tạo ra sau trận đấu. "

+0

Vì vậy, không thể cho phép chuột gửi dữ liệu nhưng không sử dụng thông tin trong Windows dưới dạng dữ liệu chuột? Nói cách khác nó không thể sử dụng chỉ một con chuột thực sự như một con chuột trong Windows và kết nối nhiều hơn? Tôi không có kinh nghiệm với plug and play nhưng tôi hy vọng rằng ít nhất một cái gì đó có thể được cấu hình ở phía bên của hệ điều hành. – noste99

+0

NẾU bạn biết cách lập trình lại vi điều khiển chuột, bạn CÓ THỂ làm cho nó gửi các khung USB bạn muốn. Nhưng lập trình một arduino trông một cách dễ dàng hơn phương pháp. Vấn đề không nằm ở phía Windows. Đó là con chuột đang gửi khung cho hệ điều hành: Tôi là một con chuột. Đây là lý do tại sao bạn có thể kết nối bất kỳ con chuột USB và có plug'n hệ điều hành chơi nó :) – fjardon

+1

Cảm ơn rất nhiều. Các liên kết rất hữu ích. Một arduino có thể là một giải pháp tốt, nhưng tôi gặp khó khăn khi chấp nhận ý tưởng rằng máy tính/CPU của tôi trong phần lớn thời gian là nhàn rỗi nhưng vì mọi thứ trở nên phức tạp cần phải thêm một bộ xử lý bổ sung. Tôi sẽ thử những gì được nêu trong các URL được liệt kê ở trên để thu thập kinh nghiệm và tiếp tục tìm kiếm. Cảm ơn rất nhiều vì đã giúp đỡ. – noste99

2

Hãy xem API Raw Input để xem bạn có thể nhận các sự kiện theo cách đó hay không và chặn Windows hành động trên chúng.

+0

Cảm ơn gợi ý. Điều này là mới đối với tôi vì vậy tôi cần một chút thời gian để tìm hiểu thêm. – noste99

+0

+1 Không biết về nó. Nhìn chính xác những gì cần thiết ở đây. – fjardon

+0

Deanma, mà không nghiên cứu chi tiết những gì bạn đề xuất, có thể ghi vào thiết bị bằng cách sử dụng API nhập liệu thô không? Dường như với tôi chỉ đọc dữ liệu được gửi và quyết định có sử dụng dữ liệu và xử lý dữ liệu đó hay không. Stefan – noste99

Các vấn đề liên quan