2021年07月31日 更新

RaspberryPiにshutdownボタンを付けよう

どうも、クラゲです。
ラスパイには電源をシャットダウンするボタンは一切付いていません。
毎回shutdownコマンド打つのが面倒だし、かと言ってラズパイの電源をいきなり切るのは不安です。そこで、長押しでシャットダウンできるボタンを外付けします。

さらにシャットダウン後は短押しするだけで起動することもできます。スイッチ1つでラズパイの電源のオンとオフの両方ができるので非常に便利です。

目次

[TOC]

電子部品

ラズパイ以外に必要な部品は以下3点です。

色や大きさなどは好みで構いません。

回路結線

以下のように接続してください。
ラズパイ側は両方とも上から3番目のピンです。ちなみに、左側がGPIO3で右側がGroundという端子です。
タクトスイッチは縦置きか横置きかで向きがありますが、図のように挿さる向きであればOKです。

ラズパイ設定

ラズパイのconfig.txtファイルを設定します。
LXTerminalを開いてnanoを使って編集します。

sudo nano /boot/config.txt

以下の内容を追記してください。 debounceは長押し時間です。今回は1000msec、つまり1秒で設定してます。好みにより変えて下さい。ちなみに、設定しない場合のデフォルト値は100です。

dtoverlay=gpio-shutdown,debounce=1000

こんな感じです。
保存して終了します。
Ctrl + Oで保存、ファイル名はそのままなのでEnterCtrl + Xで終了。

実行確認

保存だけでは反映されていないので、まず普通にシャットダウンします。
以下のコマンドはsudo shutdown -h nowと同じ意味です。

poweroff

シャットダウンが完了したらタクトスイッチを押してみてください。
それだけで起動します。この起動に関しては先程の設定とは関係なくラズパイのデフォルトで入っている機能です。今回接続したGPIO3を使うことがポイントです。

起動したらタクトスイッチを1秒以上長押しすることでシャットダウンになります。
1秒以下の短押しでは反応しないことも確認してみてください。

これでラズパイの電源オン・オフがボタン1つだけで制御できて便利になりました。

以上、RaspberryPiにshutdownボタンを付けようでした!