与USB接口最简单,最便宜的方法是什么?


17

如果我想制造一个与计算机通信的简单设备,比如说一个开关,它可以在打开和关闭计算机时使其静音并通过USB插入计算机,那么最便宜,最简单的方法是什么?


4
这里看看我的USB 单芯片示波器,很难用更少的零件1 ATTiny45和几个齐纳,2

非常酷的项目!
Code Painters

Answers:


10

最简单?拿起Arduino并编写几行Python。Arduino非常易于编程,不需要任何其他硬件即可使用,并且非常受欢迎Python有一个非常简单的串行库,编写起来很轻松。

范例程式码

Python:将此脚本作为服务运行。我正在使用Ubuntu,因此此脚本将弹出一个通知,告诉您何时在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');
  }
}

 


您能否提供使用pyserial与Arduino接口的更多详细信息?代码示例或链接表示赞赏。
LeanerRocky 2011年

1
当然可以 查看示例。
Nick Pascucci

我真的很欣赏这个例子。你是传奇!
LeanerRocky 2011年

虽然不会最便宜。
quick_now

那不是“与USB接口”而是仅ftdi串行。
芯片

8

生成一个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实际使用信息的重要来源。


Jan Axelson的链接已断开。我通过谷歌搜索找到了这个(janaxelson.com/hidpage.htm):“ jan axelson隐藏页面”。请问这样的验证正确吗?谢谢!
El Marce

谢谢。现在是她的网站。我猜想Lakeview Research要么丢失要么发布了他们的旧域名,然后它被新的人抢走了。
RBerteig 2015年

1
如果您选择采用FTDI布线,请确保获得的电缆带有FTDI真正的零件。FTDI(一家中国公司)对伪造筹码感到厌倦,因此他们教会驾驶员识别自己的筹码。这给使用带有伪造芯片的编程电缆购买双向收音机的人们带来了很多麻烦,因为收音机的制造商购买了伪造芯片(希望是错误的!)。
John R. Strohm

1
FTDI是一家总部位于格拉斯哥的英国公司(实际上是苏格兰人)。
quick_now

@RBerteig链接有效吗?
快速蜗牛

6

这是一个非常详细的博客文章http://msdn.microsoft.com/zh-cn/devlabs/dd491992,其中包含使用价格低于5美元的PIC18F4550通过USB作为标准HID设备进行接口的软件。提供的软件可用于连接任何HID设备,因此,如果您需要备用芯片,该软件仍然可以使用。

另外一个好处是,该博客文章向您展示了如何进行双向通信,因此不仅可以连接开关,还可以打开和关闭LED。


3

是基于Brad Minch的USB软件使用PIC18F2455开发的一个简单项目。PCB可从Olimex购买。


2

如果您不介意基于Cortex-M3的微控制器,请查看NXP的LPC1343。Digikey(1件)仅售6.30美元。有一个非常酷的功能-芯片ROM中用于存储和HID设备的固件!

与采用FTDI芯片+微控制器的解决方案相比,该芯片少了一个:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.