Arduino & IoT Academy · レッスン

SPIが高速にデータを送る仕組み

MOSI、MISO、SCK、チップセレクト線について学びます。

レッスン 3/413 ステップ

「SPIが高速にデータを送る仕組み」はCoddyKit上の無料Arduino & IoT Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはArduino & IoT Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Arduino & IoT Academyコースには全4レッスンが含まれています。

必要なときに高速通信

I2Cでは遅すぎる場合、SPIを使うとデータをはるかに高速に転送できます。大量のバイトを扱うディスプレイやSDカードに適しています。⚡

2本ではなく4本の線

SPIは、シンプルさと引き換えに速度を得ます。four本の線を使うことで、アドレス指定なしに、データを両方向へ高速に流せます。

MOSIはデータを送る

MOSIはMaster Out, Slave Inを意味します。Arduinoから接続されたデバイスへデータを送ります。

MISOはデータを戻す

MISOはMaster In, Slave Outを意味します。専用の線を通じて、デバイスからArduinoへデータを戻します。

SCKで速度を決める

SCKのクロック線はマスターが駆動し、I2Cと同じようにすべてのビットのタイミングを合わせますが、通常はI2Cよりはるかに高速です。

チップセレクトで1台を選ぶ

SPIではアドレスの代わりに、デバイスごとにchip-select線を使います。CSをLOWにすると、特定の1台だけが通信を受け取ります。🎯

全二重通信の仕組み

SPIはfull duplexです。MOSIからデータを送るのと同時に、MISOからデータを受信できます。そのため非常に高速に感じられます。

デバイスごとに多くのピンが必要

速度の代償は配線です。追加するデバイスごとに専用のchip-selectピンが必要になるため、SPIはI2Cより多くのピンを使用します。

SPIライブラリ

Arduinoには、タイミングを処理してくれるSPIライブラリが用意されています。インクルードすれば、共有線が自動的に管理されます。

#include <SPI.h>

setupでSPIを開始する

setupでSPI.begin()を1回呼び出し、MOSI、MISO、SCKを設定します。その後は、各デバイスをchip-selectピンで制御します。

void setup() {
  SPI.begin();
}

SPIを選ぶ場面

デバイスが少なく高速通信が必要な場合はSPIを選び、最小限の配線で多くのデバイスを接続したい場合はI2Cを選びます。それぞれに適した用途があります。

確認問題

SPIはどのデバイスと通信するかをどのように選びますか?

まとめ

SPIはMOSI、MISO、SCK、チップセレクトを使って高速な全二重通信を行い、追加のピンと引き換えに高い速度を実現することを学びました。✅

無料で開始

AI チューターと学ぶ C++ — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「SPIが高速にデータを送る仕組み」レッスンは無料ですか?

はい。「SPIが高速にデータを送る仕組み」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Arduino & IoT Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Arduino & IoT Academyコースには全4レッスンが含まれています。

「SPIが高速にデータを送る仕組み」で何を学びますか?

MOSI、MISO、SCK、チップセレクト線について学びます。 ブラウザで直接実行するハンズオンコードでArduino & IoT Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Arduino & IoT Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのArduino & IoT Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「SPIが高速にデータを送る仕組み」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このArduino & IoT Academyレッスンでコードを書いて実行できますか?

はい。すべてのArduino & IoT Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. I2Cが2本の線で通信する仕組み
  2. I2Cアドレスをスキャンする
  3. SPIが高速にデータを送る仕組み
  4. 1つのバスで複数のデバイスを動かす
← Arduino & IoT Academyに戻る