ブログ

Armadillo-640:PythonでI2C(照度センサ編)

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