ラズパイ3ではGPIOをpythonから操作するライブラリが標準で入っている
- 準備:
import RPi.GPIO as GPIO
- モードの指定をする:
GPIO.setmode(GPIO.BOARD)
- GPIO.BOARD: 物理ピン番号(左上からの連番)
- GPIO.BCM: 役割ピン番号(broadcomが命名しているもの)
- ピンの設定:
GPIO.setup(channel, GPIO.out)
- GPIO.in: 入力
- GPIO.out: 出力
- ピンの操作:
- GPIO.output(channel, GPIO.HIGH)
- GPIO.output(channel, GPIO.LOW)
- val = GPIO.input(channel)
例1: LEDチカチカ
led-blink.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
while True:
GPIO.output(11, True)
time.sleep(2)
GPIO.output(11, False)
time.sleep(2)
例2: ボタン入力を検出
led-blink.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while True:
input_state = GPIO.input(18)
if input_state == False:
print('Button Pressed')
time.sleep(0.2)