Cách đơn giản nhất và rẻ nhất để giao diện với USB là gì?


17

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?


4
nhìn vào phạm vi chip usb đơn của tôi ở đây , rất khó thực hiện với ít phần hơn 1 ATTiny45 và một vài zener, 2

Dự án rất tuyệt!
Họa sĩ mã

Câu trả lời:


10

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');
  }
}

 


bạn có thể cung cấp chi tiết hơn về việc sử dụng pyserial để giao tiếp với Arduino không? Mã mẫu hoặc liên kết được đánh giá cao.
LeanerRocky

1
Điều chắc chắn. Kiểm tra ví dụ.
Nick Pascucci

Tôi thực sự đánh giá cao ví dụ. Bạn là huyền thoại!!
LeanerRocky

Sẽ không rẻ hơn mặc dù.
quick_now

đó không phải là "giao diện với usb" mà chỉ là nối tiếp ftdi.
nonchip

8

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ế.


Liên kết của Jan Axelson bị hỏng. Tôi tìm thấy cái này ( janaxelson.com/hidpage.htm ) bởi googling: "jan axelson hid page". Điều này sẽ rất tử tế để xác minh là đúng? Cảm ơn!
El Marce

Cảm ơn. Đó là trang web của cô ấy bây giờ. Tôi đoán rằng Lakeview Research đã bị mất hoặc phát hành tên miền cũ của họ và nó đã bị chiếm đoạt bởi một người mới.
RBerteig

1
Nếu bạn chọn đi theo lộ trình FTDI, hãy đảm bảo bạn nhận được cáp có phần FTDI chính hãng. FTDI (một công ty Trung Quốc) đã phát ốm và mệt mỏi vì chip của họ bị làm giả, vì vậy họ đã dạy các tài xế của họ nhận ra chip của chính họ. Điều này đã gây ra RẤT NHIỀU rắc rối cho những người đã mua bộ đàm hai chiều bằng dây cáp lập trình được chế tạo bằng chip giả, bởi vì nhà sản xuất radio đã mua chip giả (hy vọng là do nhầm lẫn!).
John R. Strohm

1
FTDI là một công ty tiếng Anh (tốt, thực sự là người Scotland) có trụ sở tại Glasgow.
quick_now

@RBerteig liên kết làm việc?
Ốc nhanh

6

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.


3

Đâ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.


2

Nếu bạn không quan tâm đến vi điều khiển dựa trên Cortex-M3, hãy xem LPC1343 của NXP . Nó chỉ $ 6,30 tại Digikey (1 cái). Có một tính năng rất hay - phần sụn để lưu trữ và thiết bị HID trong ROM của chip!

So với giải pháp với chip FTDI + vi điều khiển, có ít hơn một chip :)

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.