豚吐露@wiki
GPIO制御
最終更新:
Bot(ページ名リンク)
-
view
Raspbian GPIO制御
RaspberryPi3 ModelB
Raspbian GNU/Linux 9 (stretch)
Raspbian GNU/Linux 9 (stretch)
Raspbian Linux raspberrypi 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l GNU/Linux
GPIO制御
以下は、Raspbianに用意されてる仕組みを使ってGPIOを制御する例。
効率良く制御したいなら、他の方法の方が良いと思う。
効率良く制御したいなら、他の方法の方が良いと思う。
基本的に、制御に関係する情報は以下に格納されてる。
/sys/class/gpio/
portを有効・無効にする
21番を有効にする場合は、以下を実行。
$ echo 21 > /sys/class/gpio/export
これを実行すると『/sys/class/gpio/gpio21』ってdirができる。
『gpio21』には、21番のGPIOを制御するためのものが色々格納されてる。
『gpio21』には、21番のGPIOを制御するためのものが色々格納されてる。
ちなみに、
$ echo 21 > /sys/class/gpio/unexport
って実行すると、『/sys/class/gpio/gpio21』が消える。使えんくなる訳です。
有効にした後、lsすると
$ ls -la /sys/class/gpio
total 0
-rwxrwx--- 1 root gpio 4096 2018-11-10 09:16:16 export*
lrwxrwxrwx 1 root gpio 0 2018-11-10 09:16:16 gpio21 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio21/
-rwxrwx--- 1 root gpio 4096 2018-11-10 09:14:19 unexport*
他のsiteの例でも21番が良く使われるが、これは分かり易い場所にあるからかと。
pin headerで一番USBに近い2pin。縁に近い方が21番で、その隣がGNDで使い勝手が良い。
pin headerで一番USBに近い2pin。縁に近い方が21番で、その隣がGNDで使い勝手が良い。
portの入出力を設定する
$ cat /sys/class/gpio/gpio21/direction
in
gpio dir内のdirectionで入出力を制御。
21番を出力portに設定する。
21番を出力portに設定する。
$ echo out > /sys/class/gpio/gpio21/direction
再び入力portに設定する。
$ echo in > /sys/class/gpio/gpio21/direction
出力値を設定する
HighLevelは3.3V。
LowLevel出力
$ echo 0 > /sys/class/gpio/gpio21/value
HighLevel出力
$ echo 1 > /sys/class/gpio/gpio21/value
入力値を取得する
入力portを3.3V(1番pin:USBから一番遠い2pinの内縁から遠い方)に接続すると1。
$ cat /sys/class/gpio/gpio21/value
1
GNDに接続すると0が取得できる。
$ cat /sys/class/gpio/gpio21/value
0
更新日: 2022年12月06日 (火) 10時28分26秒
- Wiring Pi -- (s1n) 2018-11-17 03:27:09