Tinker Boardの基本的な使い方(その4・GPIOを使う)

Tinker BoardにはGPIOがあり、センサーなどの各種のパーツを接続することができます。
今回はPythonでGPIOを制御する方法を紹介します。

1.ASUS.GPIOパッケージのインストール

Raspberry PIでPythonからGPIOを使う際には、「RPi.GPIO」というパッケージを使います。
一方、Tinker BoardではRPi.GPIOの代わりに「ASUS.GPIO」というパッケージを使います。

ASUS.GPIOをインストールするには、ターミナルで以下の順にコマンドを実行します。

sudo apt update
sudo apt -y install python-dev python3-dev
wget http://dlcdnet.asus.com/pub/ASUS/mb/Linux/Tinker_Board_2GB/GPIO_API_for_Python.zip
unzip GPIO_API_for_Python.zip -d GPIO_API_for_Python
cd GPIO_API_for_Python/
sudo python setup.py install
sudo python3 setup.py install 

2.ASUS.GPIOを使う

ASUS.GPIOの使い方は、Raspberry PIのRPi.GPIOと似ています。
ただし、setmodeメソッドでは、RPi.GPIOではパラメータとして「GPIO.BCM」を使うことができますが、ASUS.GPIOでは代わりに「GPIO.ASUS」を使います。
また、この場合のピンの番号は、RPi.GPIOとは異なります。
例えば、3番ピンはGPIO.BCMだと「2」で表しますが、GPIO.ASUSだと「252」になります。
GPIO.ASUSでのピン番号は、Tinker Boardの製品ページの最後の方の「GPIOピンアウト」のところに出ています。

3.Lチカの例

GPIOを使う例として、冒頭の動画のように、Lチカを行ってみました。

配線は以下のように行いました。
絵がRaspberry Piになっていますが、Tinker Boardと思って見てください。

Tinker BoardでLチカする際の配線

また、Pythonのコードは以下のようになりました。

import ASUS.GPIO as GPIO
import time

GPIO.setmode(GPIO.ASUS)
GPIO.setup(252, GPIO.OUT)
while True:
  GPIO.output(252, GPIO.HIGH)
  time.sleep(0.2);
  GPIO.output(252, GPIO.LOW)
  time.sleep(0.2);

上記のファイルを保存した後、「sudo python ○○○.py」(○○○はファイル名)で実行します。