OrangePi ZERO Plus2 H3を使ってみる

GPIO入出力

OrangePi ZERO Plus2 H3は、OrangePi-ZERO から有線LANとUSBを取り除いて、代わりにHDMIポートとカメラI/Fを追加したモデルです。
左:OrangePi ZERO Plus2 H3
右:OrangePi ZERO


OrangePi ZERO Plus2 H3のピンヘッダーは、OrangePi ZEROと同じ26ピンですが、ピンアサインがZEROとは違います。
OrangePi ZERO Plus2 H3のピンアサインはこ ちらで公開されています。
この違いのためZERO専 用 のWiringライブラリは使えません。
致命的なのは、ピン#11(PL00)とピン#13(PL01)で、PLポートはレジスタ開始アドレスが他のポートとは非連続なので、
ライブラリを相当いじらないと、このピンを使うことができません。

こちらで紹介している python-peripheryライブラリを使うことで、ピン#11(PL00)とピン#13(PL01)を含むすべての
ピンを使うことができました。
ピン番号は以下の通りです。

GPIO番号 物理ピン番号 GPIO番号

1 2
12 3 4
11 5 6
6 7 8 0

9 10 1
352 11 12 107
353 13 14
3 15 16 19

17 18 18
15 19 20
16 21 22 2
14 23 24 13

25 26 110

デバイスファイルを使ってPin#26に接続したLEDをLチカする場合はこのようになります。

OPI ZERO場合

$ sudo sh -c "echo 10 >/sys/class/gpio/export"
$ sudo sh -c "echo out >/sys/class/gpio/gpio10/direction"
$ sudo sh -c "echo 1 > /sys/class/gpio/gpio10/value"
$ sudo sh -c "echo 0 > /sys/class/gpio/gpio10/value"
$ sudo sh -c "echo 10 > /sys/class/gpio/unexport"

OPI ZERO Plus2 H3の場合

$ sudo sh -c "echo 110 >/sys/class/gpio/export"
$ sudo sh -c "echo out >/sys/class/gpio/gpio110/direction"
$ sudo sh -c "echo 1 > /sys/class/gpio/gpio110/value"
$ sudo sh -c "echo 0 > /sys/class/gpio/gpio110/value"
$ sudo sh -c "echo 110 > /sys/class/gpio/unexport"

WiringPiライブラリ、WiringPi-Pythonライブラリが使えないので、GPIOを使う用途ではこのボードは使いにくいです。
次回はi2c通信を紹介します。