指定したI2Cデバイスとの送信を開始。write()関数でデータをキューへ送り、endTransmission()で送信を実行。I2Cデバイスとの送信を終了します。スレーブデバイスに対する送信を完了します。I2Cデバイスにデータを書き込む。読み込み可能なデータ量を取得。read()で読み取るバイト数を返します。I2Cデバイスからのデータ読み取り。マスターからデータが送られてきたときに呼び出す関数を指定。マスターから割込みした際に呼び出す関数を指定。使用例ここからは、Wireライブラリの使用例を示します。Wireライブラリの初期処理I2C用の制御関数を使えるようにするために、setup()関数内で下記を記述します。Wire.begin();}I2Cデバイスのレジスタへの書き込みI2Cデバイスにデータを送る手順は以下となります。1.Wire.beginTransmission()関数で対象のI2Cデバイスに接続。2.Wire.write()関数でレジスタのアドレスを送信。3.Wire.write()関数で所定のデータを送信。4.Wire.endTransmission()関数でI2Cデバイスとの送信終了。);Wire.endTransmission();I2Cデバイスのレジスタ値の読み取りI2Cデバイスからデータを受信する手順は下記となります。1.Wire.beginTransmission()関数で対象のI2Cデバイスに接続。2.Wire.write()関数でレジスタのアドレスを送信。3.Wire.endTransmission()関数でI2Cデバイスとの送信終了。4.Wire.requestFrom()関数でI2Cデバイスのアドレスおよびデータ量を指定。5.Wire.read()関数でデータの読み取り。Wire.read();I2CデバイスのアドレスについてI2Cは複数の電子部品(デバイス)を接続することが可能です。そのため、制御する電子部品のアドレスを指定する必要があります。指定するアドレスは16進数表記で「0x03」~「0x77」までの「117個」のアドレスが利用可能です。※0xは16進数を意味しています。0bの場合2進数を合わしています。アドレスの確認は電子部品のデータシートに記載されているはずです。I2Cデバイスのアドレスがわからない場合は、アドレスを取得するためのコードを使って調べることもできます。github.comで提供されているコードをArduinoに書き込み「シリアルモニタ」で確認することが可能です。コードの入手先は下記となります。GitHub....github.com使用手順は下記となります。1.上記から「I2CScanner-master.zip」をダウンロードします。2.ダウンロードした「I2CScanner-master.zip」を展開(解凍)します。3.展開(解凍)したフォルダ内にある「I2CScanner.ino」をIDEで開きます。4.Arduinoにコードを転送します。5.「シリアルモニタ」を開きます。6.シリアルモニタの右下の通信速度を「115200bps」に設定します。7.I2Cデバイスのアドレスが表示されるようになっています。まとめ今回は、I2C通信について簡単に説明しました。演習では実際にI2C通信に対応した電子部品を使って制御してみたいと考えます。入門のLesson編にてI2C対応の電子部品を使った実践の解説を記事にする予定です。Lesson編の記事を更新しだい、ここにもリンクを貼りますのでしばらくお待ちください。07は「SPI通信」です。番外編はarduino自身の基本的な内容を記事にする予定です。今回は、arduinoの「SPI通信」について解説していきます。...omoroya.comLessonの入門編で使用しているUNOはAmazonにて購入可能です。Yahoo!上記のものでも十分に多数の部品が入っていますが、最初からもっと多数の部品が入っているこちらもお勧めです。fritzingUNOの実際の回路を写真で掲載しても、接続がわかりずらいかなと考えていました。前々から「fritzing」を利用して回路を描くことで、わかりやすくしたいと考えていました。番外編はarduinoの基本的なことを書いていく方向性にする予定です。今回は、arduinoのアナログ入力について解説していきます。番外編はarduinoの基本的なことを書いていく方向性にする予定です。本日は、スケッチ(コード、プログラム)の関数化についてです。Arduinoに複雑なことをさせようとするとスケッチ(コード、プログラム)がどんどん複雑になっていきますよね。そんなときはスケッチ(コード、プログラム)の関数化で解決です。【電源供給方法】Arduinoへの電源供給は一般的に、USBと外部電源の2通りの給電方式があります。本記事では、Arduinoの給電方式について解説しています。本記事はArduinoで使用するmap関数についてです。数値をある範囲から別の範囲に変換する関数。Arduinoは10bitのADコンバータ(アナログーデジタル変換)を搭載しています。コメントをキャンセルメールアドレスが公開されることはありません。