ホーム 🤖 Arduino入門にゅうもん Lesson 8
🤖 Chapter 2 • Arduino入門にゅうもん

ボタンをすとLEDがひかる!
デジタル入力にゅうりょくのしくみ

⏱ やく45ぷん
🤖 Arduino使用しよう
🔘 タクトスイッチ・INPUT_PULLUP
🤖
エンジくん これまでArduinoから「出力」ばかりしてきたね。今日はいよいよ「入力」!ボタンを押したらLEDが光る、インタラクティブな回路を作ろう!

1
このレッスンでまなぶこと

  • 🔘 タクトスイッチ(プッシュボタン)の仕組しく
  • 📖 digitalRead() — ピンの状態を読む
  • ⬆️ INPUT_PULLUP — 内部プルアップ抵抗ていこうを使う
  • 🔀 if / else — 条件によって動作を変える
  • 🎮 ボタンシミュレーター — クリックでLEDをON/OFF!

2
用意よういするもの

🤖
Arduino Uno
× 1
🔘
タクトスイッチ
× 1
LED(赤)
× 1
220Ω抵抗ていこう
× 1
🔌
ブレッドボード
× 1
🔗
ジャンパー線
数本

3
デジタル入力にゅうりょくのしくみ

🔘 タクトスイッチとは?

タクトスイッチは「押している間だけ回路がつながる」部品です。押すと中の金属板が接触せっしょくして電気が流れ、離すと切れます。

⬆️ INPUT_PULLUPって何?

Arduino内部には「プルアップ抵抗ていこう」という小さな抵抗ていこうが入っています。INPUT_PULLUPを使うとボタン1個とGNDだけで回路かいろが完成します。

⬆️ ボタンを離しているとき → HIGH(5V)
⬇️ ボタンを押しているとき → LOW(0V)

⚠️ 「押したらLOW」が逆っぽいけど正しい!これがINPUT_PULLUPの特徴とくちょうです。

5V(電源) 内部プルアップ抵抗 D2ピン SW GND 離している → HIGH 押している → LOW

4
コードをてみよう

// ピンの番号を定数で決める const int BTN_PIN = 2; // ボタン const int LED_PIN = 9; // LED void setup() { // ボタンをINPUT_PULLUPに設定 pinMode(BTN_PIN, INPUT_PULLUP); pinMode(LED_PIN, OUTPUT); Serial.begin(9600); } void loop() { // ボタンの状態を読む int state = digitalRead(BTN_PIN); if (state == LOW) { // 押されているとき → LED ON digitalWrite(LED_PIN, HIGH); Serial.println("ボタン押された!"); } else { // 離しているとき → LED OFF digitalWrite(LED_PIN, LOW); } }

💡 INPUT_PULLUPを使うとボタンとGNDだけで回路かいろ完成かんせい!外部に抵抗ていこうを付ける必要ひつようがないから便利だよ。

5
回路のつなぎかた

部品 部品の端子たんし Arduinoのピン
タクトスイッチ 片方かたほうの足 D2
タクトスイッチ もう片方かたほうの足 GND
LED(アノード +) 長い足 D9(220Ω経由けいゆ
LED(カソード ー) 短い足 GND

⚠️ タクトスイッチは4本足のものが多いけど、対角線たいかくせんの2本が内側うちがわでつながっているよ。どちらきにさしても大丈夫!

6
実際じっさいにつないでみよう!

🎉 デジタル入力にゅうりょくマスター!ボタンで回路かいろをコントロールできるようになったね!

7
クイズに挑戦ちょうせん

🤖
エンジくん digitalRead()とINPUT_PULLUPの仕組しくみは理解りかいできたかな?
クイズをちゅう

8
ボタンシミュレーター 🔘

🤖
エンジくん 赤いボタンを押している間LEDが光るよ!digitalRead()の値がリアルタイムで変わるのを見てみよう!
🔘 デジタル入力シミュレーター — ボタンを押してみよう!
タクトスイッチ
digitalRead(2)
HIGH
= 1
OFF
LED (D9)
int state = digitalRead(2); // → HIGH
if (state == LOW) {
digitalWrite(9, HIGH); ← LED ON
} else {
digitalWrite(9, LOW);  ← LED OFF
}
🏆

Lesson 8 完了かんりょう

ボタン入力にゅうりょくでLEDをコントロールできるようになったよ!

つぎのレッスンへ → 複数ふくすうボタンを使おう!

9
まとめ

  • pinMode(pin, INPUT_PULLUP)でボタン入力にゅうりょく設定せってい
  • digitalRead(pin)でHIGHまたはLOWを読む
  • ✅ INPUT_PULLUPは「押したらLOW」が基本ルール
  • if / elseで条件に応じた動作ができる
  • ✅ 外部抵抗ていこうなし・ボタン+GNDだけでOK!
← Lesson 7にもど 🏠 ホーム つぎのレッスン →