I2Cが2本の線で通信する仕組み
SDA、SCL、デバイスアドレスについて学びます。
「I2Cが2本の線で通信する仕組み」はCoddyKit上の無料Arduino & IoT Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはArduino & IoT Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Arduino & IoT Academyコースには全4レッスンが含まれています。
2本の配線で多くのデバイス
I2Cを使うと、多くのチップで2本の配線だけを共有できるため、ピンを使い切らずにセンサーや画面を追加できます。🔌
SDAとSCLを知る
I2Cは2本の線を使います。SDAがデータを運び、SCLが両側の動作を正確に同期させるクロックパルスを送ります。
クロックでタイミングを合わせる
SCLのクロック線は、メトロノームのように刻みます。1回の刻みごとに、データ線から次のビットを読み取るタイミングがデバイスに伝わります。
マスターとスレーブ
Arduinoはmasterで、すべての通信を開始します。センサーやディスプレイは、呼び出されたときだけ応答するスレーブです。
すべてのデバイスにアドレスがある
バス上の各チップには、通常7ビットの一意なaddressがあります。マスターはこのアドレスを使って、特定の1台と通信します。📬
メッセージの始まり
マスターはstart信号を送り、続けて対象のアドレスを送信します。一致するデバイスが応答し、それ以外のデバイスは共有線上で待機します。
プルアップ抵抗が必要
I2Cの線には、3.3Vまたは5Vへのpull-up resistorsが必要です。これがないとバスが不定状態になり、デバイスは応答しません。
Unoのピン
Arduino Unoでは、SDAがA4、SCLがA5ピンです。多くのブレークアウトボードには、あらかじめプルアップ抵抗が組み込まれています。
Wireライブラリ
Arduinoでは、組み込みのWireライブラリを通じてI2Cを使用します。include行を1行追加するだけで、通信を始めるために必要な機能がすべて使えます。
#include <Wire.h>バスを開始する
setupでWire.begin()を呼び出し、マスターとしてバスに参加します。その後は、アドレスを指定して任意のデバイスに送信できます。
void setup() {
Wire.begin();
}I2Cが選ばれる理由
デバイスが2本の線を共有するため、I2Cでは配線が簡単になり、ピンも節約できます。そのため、多くのモジュールで使われています。
確認問題
I2Cは通信にどの2本の線を使いますか。
まとめ
I2Cでは、SDAとSCLの2本の配線を、マスター、アドレス指定されたスレーブ、プルアップ抵抗とともに共有することを学びました。2本の配線で、多くのデバイスを接続できます。✅
よくある質問
「I2Cが2本の線で通信する仕組み」レッスンは無料ですか?
はい。「I2Cが2本の線で通信する仕組み」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Arduino & IoT Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Arduino & IoT Academyコースには全4レッスンが含まれています。
「I2Cが2本の線で通信する仕組み」で何を学びますか?
SDA、SCL、デバイスアドレスについて学びます。 ブラウザで直接実行するハンズオンコードでArduino & IoT Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Arduino & IoT Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのArduino & IoT Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「I2Cが2本の線で通信する仕組み」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このArduino & IoT Academyレッスンでコードを書いて実行できますか?
はい。すべてのArduino & IoT Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- I2Cが2本の線で通信する仕組み
- I2Cアドレスをスキャンする
- SPIが高速にデータを送る仕組み
- 1つのバスで複数のデバイスを動かす