Arduino & IoT Academy · レッスン

ボタンの状態を読み取る

digitalRead でボタンが押されているか確認します

レッスン 2/413 ステップ

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

ピンに尋ねる

ピンが入力を受け付けるようになったので、何を検知しているか尋ねられます。digitalRead関数でピンを確認し、現在の状態を取得できます。

HIGHまたはLOWを返す

digitalReadが返す答えは、HIGHまたはLOWの2つだけです。押されているか押されていないかだけのボタンに最適です。

int state = digitalRead(2);

読み取り値を保存する

結果を変数に保存すると、後で利用できます。ここでは、stateがその時点でdigitalReadがピン2から取得した値を保持します。

int buttonPin = 2;
int state = digitalRead(buttonPin);

最初にモードを設定する

ピンの準備ができていなければ、読み取りは機能しません。読み取る前に、setup()内でpinModeにINPUT_PULLUPを指定して呼び出します。

void setup() {
  pinMode(2, INPUT_PULLUP);
}

loop()内で読み取る

ボタンの状態は常に変化するため、loop()内で読み取ります。繰り返すたびに最新の状態を取得できるので、デバイスを常に最新の状態に保てます。

void loop() {
  int state = digitalRead(2);
}

反転を覚えておく

INPUT_PULLUPでは意味が反転します。LOWはボタンが押されていることを、HIGHは離されていることを意味します。状態を読み取るときは注意してください。

シリアルで確認する

HIGHやLOWを直接見ることはできないため、表示してみましょう。stateをSerial Monitorに送ると、ボタンを押したときの値を確認できます。

Serial.println(state);

通信経路を開く

表示する前に、setupでSerial.beginを使ってUSB通信を一度開始します。簡単なプロジェクトでは、一般的に9600ボーを使います。

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);
}

値の変化を見る

アップロードしてSerial Monitorを開き、ボタンを押します。押した瞬間に、数値が1から0へ変わることを確認できます。🔘

HIGHとLOWは数値

内部ではHIGHは1、LOWは0にすぎません。そのため、表示される読み取り値は1と0になります。

リアルタイムの入力を扱う

物理的なボタン操作を、コードで判定できる値に変換できるようになりました。この1つの読み取り値が、これから作るあらゆるインタラクティブなデバイスの出発点になります。

確認問題

digitalRead がコードに返す値を思い出してください。

復習

digitalReadをloop()で使ってHIGHまたはLOWを読み取り、保存してSerialに出力しました。次は、その状態にLEDを反応させます。✅

無料で開始

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

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

コース
30
レッスン
120

よくある質問

「ボタンの状態を読み取る」レッスンは無料ですか?

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

「ボタンの状態を読み取る」で何を学びますか?

digitalRead でボタンが押されているか確認します ブラウザで直接実行するハンズオンコードでArduino & IoT Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「ボタンの状態を読み取る」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. INPUT と INPUT_PULLUP
  2. ボタンの状態を読み取る
  3. if/else: ボタンに LED を連動させる
  4. ブレッドボードにボタンを配線する
← Arduino & IoT Academyに戻る