Arduino & IoT Academy · レッスン

INPUT と INPUT_PULLUP

浮いたピンが誤った値を示す理由と、プルアップによる解決方法を学びます

レッスン 1/413 ステップ

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

ピンは入力もできる

これまではピンから信号を出力していました。次はピンを入力として使い、ボタンを検知してボードを反応させます。

ピンをINPUTに設定する

ボタンを読み取るには、まずピンが信号を受け取るように設定します。setup()内でモードをINPUTに設定します。

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

浮いたピンは誤った値を返す

何にも接続されていないINPUTピンはfloatingと呼ばれます。周囲のノイズを拾い、何もしなくてもHIGHとLOWの間で値が変動します。

浮いた状態が問題になる理由

浮いたピンは、ボタンが押されていないのに押されたと判断するなど、ランダムで誤った読み取り値を返します。⚡

プル抵抗で解決する

プル抵抗は、ピンを既知の電圧にゆるやかに接続します。これにより、ボタンが状態を変えるまで、安定した初期値が得られます。

プルアップとプルダウン

プルアップは初期状態でピンをHIGHに保持し、プルダウンはLOWに保持します。Arduinoには便利なプルアップがチップ内部に組み込まれています。

INPUT_PULLUPを使う

外付け抵抗は不要です。モードをINPUT_PULLUPに設定すると、ボードが内蔵プルアップを自動的に有効にします。

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

論理が反転する

INPUT_PULLUPでは、ボタンを離しているときにピンはHIGHを読み取り、押しているときにLOWを読み取ります。意図的に論理が反転しています。

グラウンドに接続する

内蔵プルアップがピンをHIGHに保持するため、ボタンはピンとGNDの間に接続します。ボタンを押すと、ピンがLOWに引き下げられます。

配線もバグも減らせる

INPUT_PULLUPを使うと、ブレッドボード上の抵抗が1本減り、ピンが浮くこともありません。初心者がボタンを使う場合は、ほとんどの場合これが最も簡単な選択です。

適切なモードを選ぶ

回路側にプル抵抗がすでにある場合だけ、通常のINPUTを使います。それ以外では、INPUT_PULLUPを使うと安全かつ簡単です。

確認問題

何も操作していないボタンで、INPUT_PULLUPがどのように動作するか考えてみましょう。

まとめ

INPUTピンは浮いた状態になると誤った値を返すこと、そしてINPUT_PULLUPで解決できることを学びました。ボタンを離すとHIGH、押すとLOWです。次は実際にその値を読み取ります。👍

無料で開始

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

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

コース
30
レッスン
120

よくある質問

「INPUT と INPUT_PULLUP」レッスンは無料ですか?

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

「INPUT と INPUT_PULLUP」で何を学びますか?

浮いたピンが誤った値を示す理由と、プルアップによる解決方法を学びます ブラウザで直接実行するハンズオンコードでArduino & IoT Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「INPUT と INPUT_PULLUP」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

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