Raspberry Pi の GPIO ピンと PIR センサーを使用してモーションを検出しています。センサーがモーションを検出したら、ソフトウェアを他の機能に移動したいと考えています。
現時点では、モーションを検出するために、モーションが検出されるのを待っている間、プログラムを常にループで実行しています。これは現時点では機能しますが、将来的に使用するには非常に非効率的であり、イベントに割り当てることでこれを改善したいと考えています.
手動でループを実行せずに、プログラムによって検出されたイベントに GPIO 入力をバインドする方法はありますか。
モーションを検出するための現在のループは次のとおりです。
var = 1
counter = 0
while var == 1:
if GPIO.input(7):
counter += 1
time.sleep(0.5)
else:
counter = 0
time.sleep(1)
if counter >= 3:
print "Movement!"
captureImage()
time.sleep(20)
カウンターとモーションの複数回の検出は、センサーが検出する誤検知の数を減らすために使用されます。