質問:
Arduinoを使用してシリアルデバイスからデータを読み取り、Bluetooth経由でデータを送信する
sheepel
2010-12-29 13:51:06 UTC
view on stackexchange narkive permalink

したがって、一般的な高レベルの観点から、シリアルデバイスからデータを取得し、このデータをBluetooth経由で送信する必要があります。 Bluetoothモデムを選択しました。 arduinoに接続する方法を理解しています。ただし、arduinoと通信するシリアルデバイスをフックする方法がわかりません。

同時シリアル接続をやりすぎているようです。

たぶん、あなたはあなたの最初の投稿を編集して、あなたが話しているシリアルデバイスの種類についてのより多くの情報を与えることができますか? UART、SPI、I2C、またはその他を介した通信ですか?コンポーネント名またはモジュール名が役立ちます。
@sheepelArduinoとBTモデムの間でどのような接続を行っているかを教えてください。次に、追加で接続しようとしているシリアルデバイスを教えてください(データシート参照が適切です)。
6 答え:
tyblu
2010-12-29 16:06:42 UTC
view on stackexchange narkive permalink

シリアルプロトコルは、ほとんどの場合、異なるアドレス指定スキームを持つマスター/スレーブ構成を使用します。

  • SPI シリアルペリフェラルインターフェイス;多くの場合、 MOSI、MISO、SS または Select、および S CLK sub> または CLK emとラベル付けされたピン>。
  • I 2 sup> C / TWI 集積回路間 / 2線式インターフェース; SDA および SCL とラベル付けされることが多いピン。
  • 1-Wire :実際には2本以上のワイヤが必要です- -少なくとも電源/データとアース。
  • UNI / O マイクロチップの一部のEEPROMICで使用されます。 独自のライブラリを作成する必要があります。

  • U [S] ART Universal [Synchronous /]非同期レシーバ/トランスミッタ;通常、マスター/スレーブ構成は使用せず、ポイントツーポイント通信にのみ使用されます。
    • ライブラリは組み込まれており、拡張機能 2つ)があります。 a>)および最適化。ピン0と1を使用します。

  • USB ユニバーサルシリアルバス;マスター/スレーブに似たホスト/デバイススキームを使用します。多くの場合、 V CC sub>、DATA +、DATA-、およびグラウンドまたは GND とラベル付けされたピン。
  • PS / 2 パーソナルシステム/ 2コネクタ、古いIBM PCstd。コネクタ;多くの場合、ピンには V CC sub>、DATA、CLK、およびグラウンドまたは GND のラベルが付いています。多くの場合、USBソケットと互換性があります。

ライブラリ Mikal Hartによる NewSoftSerial を使用すると、ユーザーはシリアル通信用の割り込み駆動型ソフトウェア(UART周辺機器などのハードウェアではなく)ルーチンを実装できます。必要に応じて使用しますが、干渉する割り込みのデバッグは、ポーリングルーチンのデバッグよりも難しいことに注意してください(これは明らかにデフォルトのライブラリが行うことです)。

finster
2010-12-29 22:55:55 UTC
view on stackexchange narkive permalink

たぶんソフトウェアシリアルを見てください-それは複数のシリアル接続を可能にします。 Arduinoの任意のデジタルピンをシリアル通信に使用でき、通常のシリアルピンを引き続きBluetoothモデムに使用できます。

Jim
2011-01-04 18:34:07 UTC
view on stackexchange narkive permalink

はい、ソフトウェアシリアル(上記のリンクもあります)を使用することがあなたの答えです。同時にarduinoで他の多くの重いことを行わない限り、かなり堅牢であり、ボーレートは賢明なものです。モデムまたはデバイスにハードウェアUARTを使用し、ソフトウェアシリアルポートにリンクするかどうかを選択します。

両方のデバイスにUARTを使用していると想定していますが、使用している場合は、ループ内にarduinoは必要ないことをご存知ですか?デバイスをblutoothモデムのUART入力/出力に直接配線するだけで(両方がTTLまたはその他の互換性のある電圧を使用していることを確認してください)、SPPを使用してBluetoothリンクのもう一方の端でデータを取得できます(とにかく私が行うように)想定)

ジム

jsolarski
2010-12-29 20:04:54 UTC
view on stackexchange narkive permalink

私が覚えていることから、arduinoでUSARTとSPI、またはUSARTとI2Cを同時に使用できるはずです。ブルートゥースとシリアルデバイスの詳細を教えていただければ、誰かがあなたに決定的な答えを与えることができるはずです。

Nick T
2011-01-04 22:25:22 UTC
view on stackexchange narkive permalink

最も速い(制限はありますが)方法は、読み取りたいデバイスを(非同期シリアルストリームであると仮定して)AVRのRXに接続し、次にAVRTXピンをBTモジュールのRXピンに接続することです。次に、UARTから読み取り、必要な処理を実行して(またはまったく処理せずに)、UARTに書き戻すことができます。

主な制限は、BT無線とのボーレートです。デバイスは一致する必要があります。ただし、ほとんどのBT無線ではボーレートを調整できます。また、一方向の通信で立ち往生しています。

処理を行っていない場合は、直接接続できます。

Igor Stoppa
2015-03-04 09:04:46 UTC
view on stackexchange narkive permalink

より簡単なオプションの1つは、シリアルインターフェイスを備えたBluetoothモジュールを使用して、転送するシリアル回線に接続することです。Arduinoを追加/プログラムする必要はありません。



このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 2.0ライセンスに感謝します。
Loading...