if/else: ボタンに LED を連動させる
ボタンを押している間だけ LED を点灯させます
「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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- INPUT と INPUT_PULLUP
- ボタンの状態を読み取る
- if/else: ボタンに LED を連動させる
- ブレッドボードにボタンを配線する