USBと接続する最も簡単で安価な方法は何ですか?


17

コンピューターと通信するシンプルなデバイスを作成したい場合、たとえば、コンピューターの電源をオン/オフしてミュートし、USBで接続できるスイッチを使用したい場合、これを実現する最も安価で簡単な方法は何でしょうか?


4
ここで私のUSB シングルチップスコープを見てください、より少ない部品1 ATTiny45と2つのツェナー、2シャネルHID

非常にクールなプロジェクト!
コードペインター

回答:


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

1
確実なこと。例をご覧ください。
ニックパスクッチ

この例を本当に感謝しています。あなたは伝説です!!
LeanerRocky

しかし、最も安くなるつもりはありません。
すぐに

それは「USBとのインターフェース」ではなく、FTDIシリアルのみです。
ノンチップ

8

USBヒューマンインターフェイスデバイスクラスデバイスを構築します。これは、キーボード、マウス、ジョイスティック、ゲームパッドなどで使用されるものと同じクラスです。お使いのPCはすでにHIDデバイスのデバイスドライバーを完全にサポートしているため、ソフトウェアアクセスは簡単です。多くのポインターとサンプルコードさえもJan AxelsonのHID pageにあります。彼女のサイトを閲覧して、USBデバイス開発に関連する多くの良い情報を探してください。

小さなマイクロプロセッサフ​​ァミリの多くは、HIDを実行できます。USB Low SpeedでATtiny 8ピンAVRを完全にソフトウェアで実行するの見たことさえあります。

お好みのチップを選び、その「通常のリソース」でHIDサンプルを検索します。

別のアプローチは、シリアル通信デバイスを作成することです。FTDIのシングルチップソリューションがいくつか存在します。FT232Rは、人気のある選択肢です。ドライバーが必要ですが、Windows認定ドライバーはFound New Hardwareウィザードで認識されるため、インストールは難しくありません。インストールすると、COMポートのように見えるデバイスができます。GPIOピンにアクセスし、より高度なモードで使用できる代替ドライバーが利用可能です。

更新、2015年:これにはhttp://www.lvr.com/hidpage.htmへのリンクがありましたが、リンクが腐っていて、新しい場所がEl Marceのおかげで発見されたようです。JanのLakeview Researchは、USBの実際の使用に関する情報の素晴らしい情報源です。


Jan Axelsonのリンクが壊れています。グーグルでこれを見つけました(janaxelson.com/hidpage.htm):「jan axelson hid page」。これが正しいことを確認するのはとても親切でしょうか?ありがとう!
エルマース

ありがとう。これが彼女のサイトです。Lakeview Researchが古いドメイン名を紛失またはリリースしたため、新しい人がそれを手に入れたと推測しています。
–RBerteig

1
FTDIルートを選択する場合は、純正のFTDIパーツが付いたケーブルを入手してください。FTDI(中国企業)はチップを偽造することにうんざりしているので、ドライバーに自分のチップを認識するように教えました。これは、ラジオのメーカーが偽造チップを購入したために、偽造チップで構築されたプログラミングケーブル付きの双方向無線機を購入した人に多くのトラブルを引き起こしました(誤って!)
ジョンR.ストローム

1
FTDIはグラスゴーを本拠地とする英国企業(実際はスコットランド)です。
すぐに

@RBerteigリンクは動作しますか?
高速カタツムリ

6

これは、非常に詳細なブログ投稿http://msdn.microsoft.com/en-us/devlabs/dd491992で、5ドル未満のPIC18F4550を使用してUSB経由で標準のHIDデバイスとしてインターフェイスするソフトウェアを備えています。提供されるソフトウェアは、任意のHIDデバイスとのインターフェースに使用できるため、代替チップが必要な場合でもソフトウェアは動作します。

さらに、ブログの投稿では双方向通信の方法が示されているため、スイッチをインターフェイスできるだけでなく、LEDをオンまたはオフにできます。


3

これは、Brad MinchのUSBソフトウェアに基づいたPIC18F2455を使用した私の簡単なプロジェクトです。PCBはOlimexから入手できます。


2

Cortex-M3ベースのマイクロコントローラを気にしない場合は、NXPのLPC1343をご覧ください。Digikeyでわずか$ 6.30(1個)です。非常に便利な機能が1つあります-チップのROMにあるストレージとHIDデバイスのファームウェアです!

FTDIチップ+マイクロコントローラーを使用したソリューションと比較すると、チップが1つ少なくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.