〜物理ボタンで「再生/停止」できるところまで〜
はじめに
今回は、**Raspberry Pi Zero を使って「エンドレスミュージックボックス」**を作る。
電源を入れたら音楽が流れ、
マウスやキーボードを使わず、物理ボタンだけで操作できる小さな音楽プレーヤーがゴール。
ここまでのまとめ(現在地)
- Raspberry Pi OS Lite(GUIなし)をインストール
- Wi-Fi・SSH設定済み(パソコンから操作できる)
- USBオーディオで音が出ることを確認
- MP3ファイルをラズパイに転送
mpg123で音楽が再生できるところまで確認済み
今回はここから、
👉 物理ボタンをつないで、操作できるようにする
ところに進む。
今回やること(ゴール)
- ラズパイZeroの基板にある GPIO を使う
- GPIO17 と GND に押しボタンを接続
- ジャンパーワイヤーで仮止めして動作確認
- 問題なければ あとからはんだ付けで本固定する
いよいよボタンをつなぐ
じゃあ今回は、
ボタンを押したら音楽が再生される仕組みを作るんですね!
はい。
ラズパイの基板にある GPIOっていう機能が集まった場所に、
ボタンをつないでいきます。
いきなりはんだ付けですか?
いえいえ。
まずはジャンパーワイヤーで仮止めをします。
ちゃんと動くのを確認してから、最後にはんだ付け、という手順です。
なるほど!失敗しにくいやつですね。
GPIOってどこにある?
ラズパイZeroの基板を見ると、
- USB端子やHDMIの横に
- 金属の穴(またはピン)が
- 2列 × 20本 並んでいる場所がある
これが GPIO(40ピンヘッダ)。
今回使うのは、この中の
- GPIO17
- GND
の2つ。

GPIO17 と GND の見つけ方

ピンの中で左上に四角の縁(1番ピン(3.3V))がくるようにラズパイZeroを置く(写真を参考)
ここを基準に数える。
- GPIO17:物理ピン11番(上から6段目・左)
- GND:近くにあるGNDでOK(例:物理ピン6番)
ジャンパーワイヤーで仮止めする
使うもの

押しボタン(プッシュボタン)


- ジャンパーワイヤー(オス–メス)
接続方法(仮止め)
- ジャンパーワイヤー①
→ GPIO17 と 押しボタンの片側 - ジャンパーワイヤー②
→ GND と 押しボタンのもう片側
向き・+−は気にしなくてOK。
なぜ最初はジャンパーワイヤーなの?
電子工作で大事なのは、
いきなり固定しないことです。
- 配線ミスに気づける
- ピン番号を変えたくなってもすぐ直せる
- ボタンの不良チェックもできる
👉 まず仮止め → 動作確認 → 最後に本固定
これが王道。
後からはんだ付けする予定

今回の段階では、
- ジャンパーワイヤーで刺しているだけ
- まだグラグラしてもOK
動作が安定して、
「この配置でいく!」
と決まったら、
👉 ジャンパーワイヤーを外して
👉 はんだ付けでしっかり固定
する。
※ はんだ付けは 必ず電源を切ってから。
まずは反応テスト(ここ重要)
いきなり音楽は動かさない。
ちゃんとつながってるか、まず確認ですね。
その通りです!
ボタンを押したことが分かるかだけをテストしましょう。
押しボタン反応テスト用コード
python3 - << 'PY'
from gpiozero import Button
from signal import pause
btn = Button(17, pull_up=True) # GPIO17とGNDにボタン
btn.when_pressed = lambda: print("PUSH!")
print("待機中… ボタン押してみて")
pause()
PY
確認ポイント

- ボタンを押す
👉 ターミナルに PUSH! と表示される
出ました!PUSH!って!
いいですね!
ジャンパーワイヤーの仮止めでも、
ちゃんと信号が届いてます。
テスト終了時の注意
終わるときは必ず:
Ctrl + C
これで正常終了。
次回の GPIO busy エラー防止にもなる。
今回はここまで
今回は、
- GPIOが基板上にあることを理解し
- ジャンパーワイヤーで仮止めして
- 押しボタンの反応確認まで完了
仮止めで試せるの、安心ですね。
そうですね!
次はいよいよ、
👉 このボタンで音楽を再生・停止させる作業です。
これまでのラズパイでミュージックボックス制作
第5回 nanoで自動機能のプログラムを書く
第4回 ボタンをはんだ付けしよう
第3回 ラズパイに再生ボタンを仮接続しよう
第2回 ラズパイに音楽を転送して音を鳴らしてみよう
第1回 Windowsからラズパイを操作する環境をつくろう