LED制御のプログラムをpythonでプログラミングしたんですが、LEDが付きっぱなしになっちゃう問題が起こり解決したのでシェアします。
ctl + C でプログラムを強制終了した際、2度目に動かすとエラーがでて2度目はプログラムを実行できないばかりかLEDがつながったポートがHIGHになりっぱなしで困ってしまいました。
解決策は トライキャッチの処理をいれる事でした。
try:
while True:
#異常信号検知でLED点灯
if GPIO.input(PIN_ART) == GPIO.HIGH :
GPIO.output(PIN_LED , GPIO.HIGH)
#リセットボタンが押されたら消灯
if GPIO.input(PIN_RES) == GPIO.HIGH:
GPIO.output(PIN_LED , GPIO.LOW)
time.sleep(0.1)
except:
print('some exception happend.')
# GPIOを解放
GPIO.cleanup()
これでどんな例外でプログラムが終了されても GPIOが解放されます。
参考まで!