Arduino & IoT Academy · レッスン

if/else: ボタンに LED を連動させる

ボタンを押している間だけ LED を点灯させます

レッスン 3/413 ステップ

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

判断させる

ボタンを読み取るだけでも便利ですが、本領はその入力に反応させることです。if文を使うと、読み取った値に応じてボードに処理を選ばせられます。

ifは条件付きで実行される

ifの中のコードは、判定結果がtrueのときだけ実行されます。これで、ボタンが実際に押されているときだけLEDを点灯できます。

if (state == LOW) {
  // button is pressed
}

押されているか判定する

反転していることを思い出してください。INPUT_PULLUPでは、押されている状態がLOWです。そのため、保存した状態がLOWと等しいかを条件で確認します。

int state = digitalRead(2);
if (state == LOW) {
  digitalWrite(13, HIGH);
}

else分岐を追加する

押されていないときはどうすればよいでしょうか。elseブロックはifの判定がfalseのときに実行され、もう一方の動作を指定できます。

if (state == LOW) {
  digitalWrite(13, HIGH);
} else {
  digitalWrite(13, LOW);
}

LEDをボタンに連動させる

ifとelseを組み合わせると、LEDがボタンを反映するようになります。押している間は点灯し、離すと消灯します。これが、入力と出力をつなぐ最初の実例です。💡

両方のピンを設定する

ボタンのピンは入力、LEDのピンは出力です。setup()で両方のモードを宣言し、それぞれのピンに役割を設定します。

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

1つのイコールと2つのイコール

よくある落とし穴です。比較には==を使い、単独の=は使いません。イコール1つは値を代入し、2つのイコールは値が一致するかを確認します。

loopで動作を続ける

全体をloop()に入れると、1秒間に何千回もボタンを確認できます。押した瞬間にLEDが反応します。

読み取ってから判断する

基本のパターンはいつも同じです。入力を読み取り、if/elseで判断します。この流れに慣れておけば、さまざまな場面で再利用できます。

ifの中で直接比較する

変数を使わず、読み取り結果を直接テストすることもできます。コードがすっきりし、括弧内でまったく同じ比較を行えます。

if (digitalRead(2) == LOW) {
  digitalWrite(13, HIGH);
}

検知から動作へ

純粋なロジックだけで、入力から出力までの流れを完成させました。LEDをブザーやモーターに置き換えても、同じ考え方で動かせます。

簡単な確認

ボタンを押している間、LEDを点灯させる条件を選んでください。

復習

if/elseを使って、LEDをボタンに連動させました。LOWなら点灯し、HIGHなら消灯します。比較には==を使うことを覚えておきましょう。次はすべてを配線します。🔌

無料で開始

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

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

コース
30
レッスン
120

よくある質問

「if/else: ボタンに LED を連動させる」レッスンは無料ですか?

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

「if/else: ボタンに LED を連動させる」で何を学びますか?

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

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

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

「if/else: ボタンに LED を連動させる」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

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