キャタピラ式模型の製作に限らず、Raspberry Piの電源OFFボタンが欲しくなる時ってありますよね。
特に、PCからSSHやVNCでリモート接続してRaspberry Piを使っている場合などです。
シャットダウンする前に、うっかりリモート接続を切ってしまったら、電源をOFFするために接続し直しです。
今回の電源OFFボタンの製作は、ブレッドボード上のボタンスイッチと、「Raspberry Piで学ぶ電子工作」のサンプルファイル「10-01-sw-poweroff.py」を使う事で実現できます。
キャタピラ式模型の他の回路や設定とは独立しているので、電源OFFボタンだけ製作しても十分実用的です。
電源OFFボタンだけの回路については、この記事の最後に書いています。
作業の流れとしては以下のとおり。
①Raspberry Piの起動と同時に、電源OFFプログラムファイルが自動起動するように設定する
②Raspberry Piを再起動する
それでは、詳細の説明です。
①Raspberry Piの起動と同時に、電源OFFプログラムファイルが自動起動するように設定する
Raspberry Pi起動と同時に、電源OFFボタンのプログラムファイル「10-01-sw-poweroff.py」を自動起動させるには、Raspberry Piの設定ファイル「rc.local」を変更します。
LX Terminalを起動し、「sudo leafpad /etc/rc.local」と入力しENTERキーを押して、Leafpadでrc.localファイルを開きます。
rc.localファイルの末尾は「exit 0」と書かれています。
その直前の行に、Raspberry Pi起動と同時に動作させておきたいプログラムファイル起動コマンドを書き込みます。
今回の場合、piディレクトリにある「10-01-sw-poweroff.py」を自動起動させるので、「sudo python /home/pi/10-01-sw-poweroff.py &」と書き込みます。
末尾に「&」を付けると、バックグラウンドでこっそり動作します。
書き込んだら、メニューバーの「ファイル」→「保存」でrc.localファイルを上書き保存してLeafpadを閉じます。
②Raspberry Piを再起動する
rc.localファイルを変更内容を有効にするにはRaspberry Piの再起動する必要があります。
必ず再起動させておいてください。
~電源OFFボタンだけの回路について~
今回の回路で言えば、Raspberry Pi3のピン番号01の「3.3V」と、ピン番号11の「GPIO17」をボタンスイッチにつないだ回路があればOKです。
ボタンを押すと、GPIO17の入力信号が0→1に、つまり3.3Vの電圧がかかるようにするだけです。
この回路は、本来はプルダウン抵抗が必要になりますが、この回路ではRaspberry Pi内部のプルダウン抵抗を使います。
Raspberry Pi内部のプルダウン抵抗を有効にするには、プログラムで有効にする設定が必要があります。
「10-01-sw-poweroff.py」には、内部のプルダウン抵抗が有効に設定されているので、プルダウン抵抗は不要です。