Nếu tôi muốn tạo ra một thiết bị đơn giản giao tiếp với máy tính của mình, hãy nói có thể một công tắc có thể tắt tiếng máy tính của tôi khi bật và tắt và cắm nó qua USB, cách nào rẻ nhất và dễ nhất để thực hiện việc này?
Nếu tôi muốn tạo ra một thiết bị đơn giản giao tiếp với máy tính của mình, hãy nói có thể một công tắc có thể tắt tiếng máy tính của tôi khi bật và tắt và cắm nó qua USB, cách nào rẻ nhất và dễ nhất để thực hiện việc này?
Câu trả lời:
Dễ nhất? Lấy một Arduino và viết một vài dòng Python. Arduino rất dễ lập trình, không yêu cầu bất kỳ phần cứng bổ sung nào để làm việc và khá phổ biến . Python có một thư viện nối tiếp rất đơn giản và rất dễ viết.
Mã ví dụ
Python: Chạy script này như một dịch vụ. Tôi đang sử dụng Ubuntu, vì vậy tập lệnh này sẽ bật lên một thông báo cho bạn biết khi nào một nút đã được nhấn trên 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()
Arduino:
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');
}
}
Xây dựng một thiết bị lớp giao diện người USB. Đó là cùng một lớp được sử dụng bởi bàn phím, chuột, cần điều khiển, bảng trò chơi và những thứ tương tự. PC của bạn đã có hỗ trợ trình điều khiển thiết bị đầy đủ cho các thiết bị HID, vì vậy việc truy cập phần mềm rất dễ dàng. Rất nhiều con trỏ và thậm chí mã mẫu có thể được tìm thấy tại trang HID của Jan Axelson . Duyệt qua trang web của cô ấy để biết nhiều thông tin tốt liên quan đến phát triển thiết bị USB.
Nhiều gia đình vi xử lý nhỏ có thể làm HID. Tôi thậm chí đã nhìn thấy nó được thực hiện ở tốc độ thấp USB với một bộ điều khiển 8 chân ATtiny hoàn toàn bằng phần mềm.
Chọn chip ưa thích của bạn, sau đó tìm kiếm "tài nguyên thông thường" của nó cho các mẫu HID.
Một cách tiếp cận khác là chế tạo một thiết bị liên lạc nối tiếp. Một số giải pháp chip đơn từ FTDI tồn tại. Các FT232R là một lựa chọn phổ biến. Cần có trình điều khiển, nhưng trình điều khiển được chứng nhận của Windows được biết đến với trình hướng dẫn Tìm thấy phần cứng mới nên việc cài đặt không khó. Sau khi cài đặt, bạn có một thiết bị trông giống như cổng COM. Trình điều khiển thay thế có sẵn sẽ cho phép bạn truy cập các chân GPIO của nó và sử dụng nó trong các chế độ nâng cao hơn.
Cập nhật, 2015: Điều này đã có một liên kết đến http://www.lvr.com/hidpage.htm , dường như đã liên kết bị mục nát và vị trí mới được phát hiện nhờ El Marce . Nghiên cứu Lakeview của Jan vẫn là một nguồn tuyệt vời cho thông tin về việc sử dụng USB thực tế.
Dưới đây là một bài đăng blog rất chi tiết http://msdn.microsoft.com/en-us/devlabs/dd491992 với phần mềm để sử dụng PIC18F4550 dưới 5 đô la để giao tiếp qua USB như một thiết bị HID tiêu chuẩn. Phần mềm được cung cấp có thể được sử dụng để giao tiếp với bất kỳ thiết bị HID nào, vì vậy nếu bạn muốn có một con chip thay thế, phần mềm vẫn sẽ hoạt động.
Một điểm cộng nữa là bài đăng trên blog chỉ cho bạn cách thực hiện giao tiếp hai chiều để không chỉ bạn có thể giao diện một công tắc mà bạn có thể bật và tắt đèn LED.
Đây là một dự án đơn giản của tôi sử dụng PIC18F2455, dựa trên phần mềm USB của Brad Minch. PCB có sẵn từ Olimex.