記事一覧

Arduino Nano 2台でI2C通信テスト

Arduino Nano 2台でI2C通信テスト

こんにちはRoboTakaoです。ようこそ「極力ローコスト ロボット製作 ブログ」にお越しくださいました。

Arduino Nanoでサーボを動かそうとした場合、通常は最大12個動かすことができます。

でも人間型の二足歩行ロボットを作ろうとした場合はそれでは足りないことが多いと思います。

たとえは2倍の24個動かしたいと思うことがあります。平行リンクを駆使する手もありますが、

今回はArduino Nanoを2台使って最大24個動かすことを考えています。

そしてArduino Nano同士はI2C通信を使いたいと思います。シリアル通信を使い手もありますが.

それだとBluetoothなどでシリアル通信を使えなくなってしまうので同時に使用できるI2Cを選択しました。

I2C(Inter-Integrated Circuit)はフィリップ社が提唱した規格のようです。1台のマスタと複数台のスレーブで構成されます。

今回はまずはArduino IDEに初めから入っているサンプルスケッチを使ってI2C通信のテストしてみましょう。

接続は下記のような感じです。

I2C01.jpg

I2C02.jpg

スレーブのArduino Nanoから“Hello!”というテキストをI2Cで送信し、マスターのArduino Nanoで受信してシリアルでPCにそのテキストを送信します。そしてArduino IDEのシリアルモニターで表示させます。

サンプルスケッチはファイル→スケッチ例→Wire の中にあります。

マスターにはmaster_readerというスケッチを入れ、スレーブにはslave_senderというスケッチを入れます。

マスター
master_reader.png

スレーブ
slave_sender.png

スケッチを送信するとと動き出します。シリアルモニターで見てみるとこのようにHello!というテキストを受信できていることがわかります。
Master_receive.png


次にマスターから送信したテキストをスレーブで受信したテキストをスレーブ側からシリアルでPCに送信します。

接続は下記のようです。(USBケーブルだけ違います。)

IMG_1606.jpg

IMG_1982.jpg

マスターにはmaster_writerを入れ、スレーブにはslave_recieverを入れます。

マスター
master_writer.png

スレーブ
slave_reciever.png

これも同じように確認すると、シリアルモニターでテキストが受信できていることがわかります。

Slave_Recieve.png


次回はこれでマスター側からサーボの角度を送信して、スレーブ側で受信後にその角度でサーボを動かすことをしようと思います。

それでは今回はこの辺で失礼します!ありがとうございました。

スポンサードリンク

コメント

コメントの投稿

非公開コメント

プロフィール

RoboTakao

Author:RoboTakao
みなさんご訪問ありがとうございます。ロボット作りたいけどお小遣いそんなにないし、簡単でローコストでロボットを作るための私のプロジェクトを紹介します。

ウェブサイトもありますのでそちらもよろしくお願いします。
http://robotakao.jp/

最新コメント

スポンサーリンク