Raspberry Pi 4 Model B で勉強中
$ cat /etc/rpi-issue
Raspberry Pi reference 2023-12-11
ラズパイのGPIOについて
- ピン配置はラズパイ2,3,4,5で同一
- 電圧は3.3V
- 電流は1ピン当たり16mA、全体で50mA出力可能
LEDをつけるなら制限抵抗はとりま100~200Ωくらいで - 入力は 0:LO, 1:HI (ONはGNDにつなぐので 0:LO)
- 出力は 0:LO, 1:HI
- ほとんどのピンはデフォルトで入力方向、プルアップ
https://www.raspberrypi.com/documentation/computers/raspberry-pi.htm
第1章 Raspberry Pi 4B ハードウェア仕様の調査 - ラズパイ実験室
GPIO操作
pinout
ピン配置を見るコマンド
https://pinout.xyz/
pinctrl
ピンのIN/OUT、プルアップ/プルダウンなどを制御するコマンド
pinctrl set 4 op # GPIO4 を出力に変更(0:LO になる) pinctrl set 4 op dh # GPIO4 を出力に変更(1:HI になる) pinctrl set 4 dh # GPIO4 の出力を1:HIにする pinctrl set 4 dl # GPIO4 の出力を0:LOにする pinctrl set 3 ip pu # GPIO3 を入力(プルアップ)に変更 pinctrl get 3 # GPIO3 の状態取得 # 出力例 # 3: ip pu | hi // SCL1/GPIO3 = input pinctrl get 0-27 # GPIO0~27 の状態取得 pinctrl poll 3-4,6 # GPIO3~4 と 6 の出力/入力を監視
/sys/class/gpio/
ピンのIN/OUTなどを制御するファイル(sysfs)
(プルアップ制御の機能は無い)
cd /sys/class/gpio/ echo 4 > export # GPIO4 の制御ファイルを作成 echo out > gpio4/direction # GPIO4 を出力に変更(0:LO になる) echo high > gpio4/direction # GPIO4 を出力に変更(1:HI になる) echo 1 > gpio4/value # GPIO4 を1:HIにする echo 0 > gpio4/value # GPIO4 を0:LOにする echo 3 > export # GPIO3 の制御ファイルを作成 echo in > gpio3/direction # GPIO3 を入力に変更 cat gpio3/value # GPIO3 の状態取得 # 出力例 # 1
廃止コマンド
raspi-gpio
(廃止予定)
ピンのIN/OUT、プルアップ/プルダウンなどを制御するコマンド
オプションはpinctrlとほぼ同じ。出力フォーマットが全然違う
gpio
(廃止)
ピンのIN/OUT、プルアップ/プルダウンなどを制御するコマンド
WiringPi のこと