最終更新日
記事公開日

トグルスイッチでラズパイZEROの電源をオフにする

トグルスイッチ

これから紹介する方法が、おそらく最もシンプルに「トグルスイッチでラズパイZEROの電源をオフできる方法」だと思います。

回路図

トグルスイッチでラズパイZEROの電源をオフにする回路

スイッチを切り替えると、ラズパイのGPIO16ピンに、電源から電流を流します。

ただし、ラズパイのGPIOピンに流して良い電流は、合計で最大「50mA」

GPIO1本あたりの上限は「16mA」

ということで、1kΩの抵抗をかまして「5mA」の電流を流しています。

5V ÷ 1000Ω = 0.005A = 5mA 

プログラム(Python)

import pigpio
import subprocess
import time

# Power Off (Switch)
servo = pigpio.pi()
sw_pin = 16
servo.set_mode(sw_pin, pigpio.INPUT)
servo.set_pull_up_down(sw_pin, pigpio.PUD_DOWN)

def power_off(gpio, level, tick):
        print(gpio, level, tick)
        if level == 1:
                subprocess.call("sudo poweroff", shell=True)

servo.callback(sw_pin, pigpio.EITHER_EDGE, power_off)

while(True):
        time.sleep(1)

GPIO16ピンに入力信号があった場合、callback関数(割り込み)により、ラズパイにシャットダウンコマンドを実行しています。

この記事のURLをコピー

メールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

関連情報

運営者プロフィール
コダマ

職業はIT系フリーランス。過去、電子配線業務の経験が10年ある為、はんだづけも得意です。宮崎県在住、30代・2児の父親。

カテゴリー