
呼び鈴のように、押している間は点灯し、離すと消灯します。Arduinoはボタンの状態を常に読み取り、押されている間はLEDを点灯させ、指を離した瞬間に消灯させます。このシンプルな回路で、ボードが外部からの操作を検知する仕組みを学べます。
動画
回路図

ソースコード
Arduino (C++)
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// LED Control with a Push Button (Push)
4// ─────────────────────────────────────────
5// The LED stays on while the button is held and turns off when it is
6// released (push). Shows reading a button with digitalRead and if-else.
7//
8// Pins:
9// D13 -> Button, other leg to 5V
10// D13 -> 10k resistor to GND (pull-down)
11// D7 -> LED (with a 330 ohm resistor)
12
13void setup() {
14 pinMode(13, INPUT); // Button input (external pull-down)
15 pinMode(7, OUTPUT); // LED output
16}
17
18void loop() {
19 if (digitalRead(13) == HIGH) { // Is the button pressed?
20 digitalWrite(7, HIGH); // Pressed: LED on
21 } else {
22 digitalWrite(7, LOW); // Released: LED off
23 }
24}
25
よくある質問
10 kΩの抵抗は何のために使いますか?▾
プルダウン抵抗として使います。ボタンを押していないときにピンをGNDに接続し、安定してLOWを読み取れるようにします。この抵抗がないとピンの電位が不定になり、HIGHやLOWがランダムに読み取られて、LEDが勝手に点滅します。
抵抗を使わずにボタンを接続できますか?▾
はい、`pinMode(pin, INPUT_PULLUP)`でArduinoの内蔵プルアップ抵抗を有効にできます。この場合はボタンをピンとGNDの間に接続します。論理が逆になり、押すとLOW、離すとHIGHが読み取られます。
ボタンのどのピンを使えばよいですか?▾
4本のピンがあるボタンでは、向かい合う2本のピンが内部ですでにつながっています。ボタンをブレッドボード中央の溝をまたぐように配置し、対角線上のピンを使うと、正しいピンを選べます。
押している間だけ点灯する方式と、オン・オフを切り替える方式は何が違いますか?▾
押している間だけ点灯する方式では、ボタンを押し続けている間だけLEDが点灯します。オン・オフを切り替えるトグル方式では、押すたびにLEDの状態が変わり、ボタンを離しても点灯状態が続きます。このため、状態を保持する変数が必要です。
