関連 http://qiita.com/7of9/items/c5e39a8c08ca7a6e5af6
RPiでGPIO入力を認識する。
python-151205-shutdownButtonをベースとする。
3..6のボタンを認識するコードに書換えることになる。
UDP通信も一緒に行うとした場合、上記コードのチャタリング対策(3時刻の状態使用)ではなく、数百msecインターバルでGPIOを取込むという別のチャタリング対策を使うのもありかも。
GPIO
上記のうち40, 38, 36, 32, 26あたりを使う。
配線
ブレッドボードで配線。
適宜、それぞれのGPIOの線をGNDラインに接続することで、スイッチ入力の代わりとする。
Code v0.1
5つのGPIOを認識するコード。
sudoをつけて実行する。
footInput.py
#!/usr/bin/env python
'''
v0.1 2016 Arp 23
- can check 5 GPIO input
'''
import RPi.GPIO as GPIO
import time
import os
ins = [40, 38, 36, 32, 26]
GPIO.setmode(GPIO.BOARD)
for idx in range(5):
GPIO.setup(ins[idx], GPIO.IN, pull_up_down=GPIO.PUD_UP)
vals = range(5)
while True:
for idx in range(5):
vals[idx]=GPIO.input(ins[idx])
print vals[idx],
print
time.sleep(1.0)
結果
$ sudo python footInput.py
0 1 1 0 1
0 1 0 0 1
0 1 0 0 1
0 1 0 0 1
0 1 1 0 1
0 1 1 0 1
0 1 1 0 1
0 1 1 0 1
GNDにつけたピンの値が1から0へ変化する。