at_yukari.hara
2021年1月5日 9時00分
Armadillo-640で、pythonでI2C通信を確認してみました。
ここでは、I2C通信の照度センサー(TSL2561)からデータを取得してみました。
1.Armadillo-640のCON9のI2Cを有効化
Armadillo-640: 機能拡張用インターフェース(CON9)の使用例 ~ I2Cへの割り当て ~を参考にCON9のI2Cを有効にします。
上記ブログでは、I2C2、I2C3を有効化してますが、以下では、I2C2を使用した場合で説明します。
2.Armadillo-640とI2C通信の照度センサー(TSL2561)を接続
ここでは、Adafruit TSL2561 デジタル光センサを使用しました。
CON9のI2C2
に、下図のように接続します。
3.必要なパッケージ、ライブラリのインストール
Armadillo-640:pythonを動かすを参考にインストールします。
Armadillo-640をインターネットに接続できるネットワークに有線LANで接続します。
以下、Armadillo-640のコンソール上での操作になります。
root@armadillo:~# apt-get update
root@armadillo:~# apt-get upgrade
root@armadillo:~# apt-get install python3
root@armadillo:~# apt-get install python3-pip
root@armadillo:~# pip3 install tsl2561
上記のコマンドの場合、python3がインストールされます。
4.I2C通信の照度センサー(TSL2561)からデータを取得
下記の内容のファイルを作成します。
(後述の説明上、このファイル名を"lux.py"とします。)
from tsl2561 import TSL2561
if __name__ == "__main__":
tsl = TSL2561(debug=True)
print(tsl.lux())
上記で作成した"lux.py"を下記のようにpython3で実行すると、照度がコンソールに表示されます。
root@armadillo:~# python3 lux.py
209